Open pdbossman opened 6 days ago
if we decide to merge upstream, resp. fix this we should consider that there are users who depend on this behaviour - e.g. they retry counter queries with retry policy - so we will need to get them a way to use old behaviour (I expect making sure you can force counter query to not be idempotent and then having above upstream fix will make it fly)
if we decide to merge upstream, resp. fix this we should consider that there are users who depend on this behaviour - e.g. they retry counter queries with retry policy - so we will need to get them a way to use old behaviour (I expect making sure you can force counter query to not be idempotent and then having above upstream fix will make it fly)
@tarzanek the flag is settable by the user.
They can just add query.Idempotent(true) now to tell the driver to retry it.
@pdbossman the scylla-go-driver is a repo for a gocql replacement project that was started, but never finished. This issue should be ceated in the gocql repo.
Unfortunately, I don't have permissions to transfer this issue there. @Lorak-mmk do you have such permissions, and if so, could you do it?
I don't really work with any Go drivers and have no permissions for those repositories. @sylwiaszunejko / @dkropachev may be able to do this.
I don't have permissions to scylla-go-driver do I cannot transfer the issue
I don't have permissions to scylla-go-driver do I cannot transfer the issue
Done!
Hello, I was testing goCQL behavior with request shedding enabled. So I set
max_concurrent_requests_per_shard: 10
I was testing vanilla insert with value clause.
Initially, requestRetryPolicy was disabled, and I received shedding errors.
I then enabled requestRetryPolicy with ExponentialBackoffRetryPolicy.
As expected, queries were retried. I still observed shedding in monitoring, but the driver retried the requests with exponential backoff.
I then tested with idempotent set to false.
Problem: Even with Idemotent false, which should block retry - the queries were still retried with exponential backoff policy. It also looks like it might be in general for all retries (speculative and timeout): https://github.com/apache/cassandra-gocql-driver/pull/1809/commits/92b4056c1a125e7094b397cfab8bd8ac8d48f26e
All retry policies should honor the idempotent flag.