Re: [appengine-java] com.google.appengine.api.datastore.DatastoreNeedIndexException
If you're deploying a new version that relies on indexes that haven't been built yet, you should be able to deploy this to a non-default version. This way, the indexes get built eventually but your application won't be serving index errors in the meantime. Then, when the indexes are built, make this new version the default to introduce your new functionality. - Jason On Wed, Dec 16, 2009 at 12:11 AM, Dmitry Anipko dmitry.ani...@gmail.comwrote: Jason, thanks for the info, this solved the problem. I've noticed however that the index building can take some time after the application has been deployed - is there any way to control that / prevent the new version of the application from being used if the indices are not ready yet? (Otherwise the app is guaranteed to produce errors if customers start using it when the indices are not yet fully ready) On Tue, Dec 15, 2009 at 4:16 PM, Jason (Google) apija...@google.com wrote: Hi Dmitry. What's your app ID? Indexes are auto-generated by the SDK when you run a query locally that requires a custom index. If you don't run a particular query locally and it uses multiple sort orders or otherwise requires a custom index, then the index won't be generated in datastore-indexes-auto.xml and you'll see an exception in production. You can see which indexes are created and serving for your app by clicking Datastore Indexes in your app's Admin Console. For now, I suggest adding the index definitions contained in your exception to your datastore-indexes.xml file, re-deploying your app, waiting for the indexes to build, and seeing if that fixes your problem. - Jason On Sun, Dec 13, 2009 at 10:00 PM, Dmitry Anipko dmitry.ani...@gmail.com wrote: Hello, our application recently started producing exceptions like: com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.. datastore-index kind=SketchCommandStore ancestor=false source=manual property name=sketchId direction=asc/ property name=orderId direction=asc/ /datastore-index or Server error 1: com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.. datastore-index kind=SketchCommentThread ancestor=true source=manual property name=lastUpdateTimestamp direction=desc/ /datastore-index for different tables in the data store. Our app doesn't use explicit index configuration / don't have datastore-indexes.xml . On the local development server the auto generated xml for these two tables looks like: !-- Indices written at Sun, 13 Dec 2009 23:01:11 UTC -- datastore-indexes !-- Used 1 time in query history -- datastore-index kind=SketchCommentThread ancestor=true source=auto property name=lastUpdateTimestamp direction=desc/ /datastore-index !-- Used 2 times in query history -- datastore-index kind=SketchCommandStore ancestor=false source=auto property name=sketchId direction=asc/ property name=epochDate direction=desc/ /datastore-index /datastore-indexes I wonder if anybody faced similar issues / can shed some light on how to deal with that? Thank you, Dmitry -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at
Re: [appengine-java] com.google.appengine.api.datastore.DatastoreNeedIndexException
Jason, thanks for the info, this solved the problem. I've noticed however that the index building can take some time after the application has been deployed - is there any way to control that / prevent the new version of the application from being used if the indices are not ready yet? (Otherwise the app is guaranteed to produce errors if customers start using it when the indices are not yet fully ready) On Tue, Dec 15, 2009 at 4:16 PM, Jason (Google) apija...@google.com wrote: Hi Dmitry. What's your app ID? Indexes are auto-generated by the SDK when you run a query locally that requires a custom index. If you don't run a particular query locally and it uses multiple sort orders or otherwise requires a custom index, then the index won't be generated in datastore-indexes-auto.xml and you'll see an exception in production. You can see which indexes are created and serving for your app by clicking Datastore Indexes in your app's Admin Console. For now, I suggest adding the index definitions contained in your exception to your datastore-indexes.xml file, re-deploying your app, waiting for the indexes to build, and seeing if that fixes your problem. - Jason On Sun, Dec 13, 2009 at 10:00 PM, Dmitry Anipko dmitry.ani...@gmail.com wrote: Hello, our application recently started producing exceptions like: com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.. datastore-index kind=SketchCommandStore ancestor=false source=manual property name=sketchId direction=asc/ property name=orderId direction=asc/ /datastore-index or Server error 1: com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.. datastore-index kind=SketchCommentThread ancestor=true source=manual property name=lastUpdateTimestamp direction=desc/ /datastore-index for different tables in the data store. Our app doesn't use explicit index configuration / don't have datastore-indexes.xml . On the local development server the auto generated xml for these two tables looks like: !-- Indices written at Sun, 13 Dec 2009 23:01:11 UTC -- datastore-indexes !-- Used 1 time in query history -- datastore-index kind=SketchCommentThread ancestor=true source=auto property name=lastUpdateTimestamp direction=desc/ /datastore-index !-- Used 2 times in query history -- datastore-index kind=SketchCommandStore ancestor=false source=auto property name=sketchId direction=asc/ property name=epochDate direction=desc/ /datastore-index /datastore-indexes I wonder if anybody faced similar issues / can shed some light on how to deal with that? Thank you, Dmitry -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] com.google.appengine.api.datastore.DatastoreNeedIndexException
Hi Dmitry. What's your app ID? Indexes are auto-generated by the SDK when you run a query locally that requires a custom index. If you don't run a particular query locally and it uses multiple sort orders or otherwise requires a custom index, then the index won't be generated in datastore-indexes-auto.xml and you'll see an exception in production. You can see which indexes are created and serving for your app by clicking Datastore Indexes in your app's Admin Console. For now, I suggest adding the index definitions contained in your exception to your datastore-indexes.xml file, re-deploying your app, waiting for the indexes to build, and seeing if that fixes your problem. - Jason On Sun, Dec 13, 2009 at 10:00 PM, Dmitry Anipko dmitry.ani...@gmail.comwrote: Hello, our application recently started producing exceptions like: com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.. datastore-index kind=SketchCommandStore ancestor=false source=manual property name=sketchId direction=asc/ property name=orderId direction=asc/ /datastore-index or Server error 1: com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.. datastore-index kind=SketchCommentThread ancestor=true source=manual property name=lastUpdateTimestamp direction=desc/ /datastore-index for different tables in the data store. Our app doesn't use explicit index configuration / don't have datastore-indexes.xml . On the local development server the auto generated xml for these two tables looks like: !-- Indices written at Sun, 13 Dec 2009 23:01:11 UTC -- datastore-indexes !-- Used 1 time in query history -- datastore-index kind=SketchCommentThread ancestor=true source=auto property name=lastUpdateTimestamp direction=desc/ /datastore-index !-- Used 2 times in query history -- datastore-index kind=SketchCommandStore ancestor=false source=auto property name=sketchId direction=asc/ property name=epochDate direction=desc/ /datastore-index /datastore-indexes I wonder if anybody faced similar issues / can shed some light on how to deal with that? Thank you, Dmitry -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] com.google.appengine.api.datastore.DatastoreNeedIndexException
Hello, our application recently started producing exceptions like: com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.. datastore-index kind=SketchCommandStore ancestor=false source=manual property name=sketchId direction=asc/ property name=orderId direction=asc/ /datastore-index or Server error 1: com.google.appengine.api.datastore.DatastoreNeedIndexException: no matching index found.. datastore-index kind=SketchCommentThread ancestor=true source=manual property name=lastUpdateTimestamp direction=desc/ /datastore-index for different tables in the data store. Our app doesn't use explicit index configuration / don't have datastore-indexes.xml . On the local development server the auto generated xml for these two tables looks like: !-- Indices written at Sun, 13 Dec 2009 23:01:11 UTC -- datastore-indexes !-- Used 1 time in query history -- datastore-index kind=SketchCommentThread ancestor=true source=auto property name=lastUpdateTimestamp direction=desc/ /datastore-index !-- Used 2 times in query history -- datastore-index kind=SketchCommandStore ancestor=false source=auto property name=sketchId direction=asc/ property name=epochDate direction=desc/ /datastore-index /datastore-indexes I wonder if anybody faced similar issues / can shed some light on how to deal with that? Thank you, Dmitry -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.