-
Notifications
You must be signed in to change notification settings - Fork 157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GraphQL mutations with @atomic directive and TTL are not persisted #2875
Comments
Some troubleshooting findings:
|
Further investigation showed that in v2 all mutations with the Cassandra interprets such rows as having already expired (since they supposedly TTL'ed out back in 1970) and thus omits them from the results. I verified this in the commitlog and sstables using
Root cause details
Inspecting these with a debugger shows that at runtime the
This can be fixed by changing StargateGraphQLContext's toBatchParameters method to set
|
@kathirsvn can you review/comment? |
Sorry for the delay, I was out on a vacation. |
Hi Stargate team,
We've encountered a potential bug in Stargate v2. Atomic mutations (logged batches) with any number of mutations that use TTL are not persisted. Moreover, Stargate responds with
"applied": true
for those mutations, which is misleading. I've reproduced this in the v2 imagesstargateio/coordinator-4_0:v2
andstargateio/graphqlapi:v2
, as well as on the v2.1 branch.Request (using the standard data_endpoint_auth keyspace):
Response
Subsequently querying data_endpoint_auth.token table shows that no rows have been inserted. Note that rows are persisted correctly as long as I use either
@atomic
directive orttl
in the mutations.I haven't found the root cause of the failed mutation but it's concerning that
applied: true
and it's not persisted. This used to work in v1. Do you know what could be causing this? Thanks!The text was updated successfully, but these errors were encountered: