googleapis / googleapis/google-cloud-java

[java-datastore] Cloud Datastore Emulator doesn't support IN/NOT_IN/NOT_EQUAL operators

Open
#12,001 3 comments 8 reactions 0 assignees View on GitHub
api: datastore type: feature request
Dominant language
Java
Stars
2.1k
Forks
1.2k
Avg merge
1d 23h
Merged PRs (30d)
157

Description

googleapis/java-datastore#665
com.google.cloud:libraries-bom:26.0.0

Gcloud SDK 394.0.0

#### Stack trace
```
com.google.cloud.datastore.DatastoreException: A list value is not allowed A list value is not allowed
com.google.datastore.v1.client.DatastoreException: A list value is not allowed, code=INVALID_ARGUMENT A list value is not allowed
com.google.datastore.v1.client.DatastoreException: A list value is not allowed, code=INVALID_ARGUMENT
at com.google.datastore.v1.client.RemoteRpc.makeException(RemoteRpc.java:171)
at com.google.datastore.v1.client.RemoteRpc.makeException(RemoteRpc.java:239)
at com.google.datastore.v1.client.RemoteRpc.call(RemoteRpc.java:100)
at com.google.datastore.v1.client.Datastore.runQuery(Datastore.java:117)
at com.google.cloud.datastore.spi.v1.HttpDatastoreRpc.runQuery(HttpDatastoreRpc.java:198)
at com.google.cloud.datastore.DatastoreImpl$1.call(DatastoreImpl.java:195)
at com.google.cloud.datastore.DatastoreImpl$1.call(DatastoreImpl.java:192)
at com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.java:103)
at com.google.cloud.RetryHelper.run(RetryHelper.java:76)
at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:50)
at com.google.cloud.datastore.DatastoreImpl.runQuery(DatastoreImpl.java:191)
at com.google.cloud.datastore.QueryResultsImpl.sendRequest(QueryResultsImpl.java:73)
at com.google.cloud.datastore.QueryResultsImpl.(QueryResultsImpl.java:57)
at com.google.cloud.datastore.DatastoreImpl.run(DatastoreImpl.java:184)
at com.google.cloud.datastore.DatastoreImpl.run(DatastoreImpl.java:175)
```

#### command used to run the emulator
gcloud beta emulators datastore start --project="projectName" --host-port=localhost:8082 --data-dir="dataDir" --use-firestore-in-datastore-mode

####installed gcloud components
Google Cloud SDK 394.0.0
app-engine-java 1.9.97
app-engine-python 1.9.100
beta 2022.07.19
bq 2.0.75
cloud-datastore-emulator 2.2.1
core 2022.07.19
gsutil 5.11

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure with the documented gcloud beta emulators datastore start command and a query using IN, NOT_IN, or NOT_EQUAL. Trace the request from Datastore.runQuery through HttpDatastoreRpc.runQuery; no repository file or test is named in the issue. Done means these operators work in the emulator without the reported list-value exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
gcp, java
Domain
database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.