You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I made quite a bit of progress migrating my app from GAE (with Objectify) to GCE (with Catatumbo) thanks to your great library.
One thing I stumbled upon was that using the annotation to unindex a property on a list resulted in an exception while persisting the entity:
Caused by: com.google.cloud.datastore.DatastoreException: Exclude from indexes cannot be set on a list value
at com.google.cloud.datastore.spi.DefaultDatastoreRpc.translate(DefaultDatastoreRpc.java:110)
at com.google.cloud.datastore.spi.DefaultDatastoreRpc.commit(DefaultDatastoreRpc.java:137)
at com.google.cloud.datastore.DatastoreImpl$4.call(DatastoreImpl.java:390)
at com.google.cloud.datastore.DatastoreImpl$4.call(DatastoreImpl.java:387)
at com.google.cloud.RetryHelper.doRetry(RetryHelper.java:179)
at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:244)
at com.google.cloud.datastore.DatastoreImpl.commit(DatastoreImpl.java:386)
at com.google.cloud.datastore.DatastoreImpl.commitMutation(DatastoreImpl.java:380)
at com.google.cloud.datastore.DatastoreImpl.update(DatastoreImpl.java:309)
at com.jmethods.catatumbo.impl.DefaultDatastoreWriter.update(DefaultDatastoreWriter.java:168)
... 60 more
I found a thread about this issue and it looks like as if you could fix this by excluding each value in the list from the index:
"The Cloud Datastore API currently requires that each individual value in the list sets excludeFromIndexes(true)."
This was kind of unusual that that the Datastore mandates the List/Array properties to be always indexed. Made some refactoring to the Mappers API and updated the ListMapper and SetMapper accordingly. These changes took away the ability to override default mappers for List/Set types, for now. Need to revisit this if there is really a need for it.
Email from a developer:
I made quite a bit of progress migrating my app from GAE (with Objectify) to GCE (with Catatumbo) thanks to your great library.
One thing I stumbled upon was that using the annotation to unindex a property on a list resulted in an exception while persisting the entity:
I found a thread about this issue and it looks like as if you could fix this by excluding each value in the list from the index:
"The Cloud Datastore API currently requires that each individual value in the list sets excludeFromIndexes(true)."
googleapis/google-cloud-java#158
Could you please have a look at it? It would be great to see this issue disappearing.
The text was updated successfully, but these errors were encountered: