The usual story: I have a com.google.appengine.api.search.Index
backed by my datastore. For each document, the documentId is the key of a certain entity. (For visualization, imagine I have a “table” of products and each product has a number of reviews. So each document is a product with descriptitve data and accompanying reviews. SO…)
So, for those who know, each time you update a Document you are essentially recreating it. I want to update the Document each time a user adds a review. But I want to avoid race conditions. But if I use a task queue, how would I design that? As in should it be a single queue or multiple queues? And if multiple queues, how do I avoid interleaving of data? That is, two different queues updating the same document concurrently?