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 wrote: > Hello, > > our application recently started producing exceptions like: > > com.google.appengine.api.datastore.DatastoreNeedIndexException: no > matching index found.. ancestor="false" source="manual"> > > > > > or > > Server error 1: > com.google.appengine.api.datastore.DatastoreNeedIndexException: no > matching index found.. kind="SketchCommentThread" ancestor="true" source="manual"> > > > > 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: > > > > > > >source="auto"> > > > > >source="auto"> > > > > > > > > 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.
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) 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 > wrote: >> >> Hello, >> >> our application recently started producing exceptions like: >> >> com.google.appengine.api.datastore.DatastoreNeedIndexException: no >> matching index found.. > ancestor="false" source="manual"> >> >> >> >> >> or >> >> Server error 1: >> com.google.appengine.api.datastore.DatastoreNeedIndexException: no >> matching index found.. > kind="SketchCommentThread" ancestor="true" source="manual"> >> >> >> >> 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: >> >> >> >> >> >> >> > source="auto"> >> >> >> >> >> > source="auto"> >> >> >> >> >> >> >> >> 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
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 wrote: > 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) > 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 > > > wrote: > >> > >> Hello, > >> > >> our application recently started producing exceptions like: > >> > >> com.google.appengine.api.datastore.DatastoreNeedIndexException: no > >> matching index found.. >> ancestor="false" source="manual"> > >> > >> > >> > >> > >> or > >> > >> Server error 1: > >> com.google.appengine.api.datastore.DatastoreNeedIndexException: no > >> matching index found.. >> kind="SketchCommentThread" ancestor="true" source="manual"> > >> > >> > >> > >> 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: > >> > >> > >> > >> > >> > >> > >>>> source="auto"> > >> > >> > >> > >> > >>>> source="auto"> > >> > >> > >> > >> > >> > >> > >> > >> 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. > > > -- 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.