-
Notifications
You must be signed in to change notification settings - Fork 16
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
Delete - LWT failure retries #218
Conversation
# src/test/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperationTest.java # src/test/java/io/stargate/sgv2/jsonapi/service/resolver/model/impl/DeleteManyCommandResolverTest.java # src/test/java/io/stargate/sgv2/jsonapi/service/resolver/model/impl/DeleteOneCommandResolverTest.java
@ivansenic @tatu-at-datastax I have done IT for this PR. Not sure how to generate LWT failure for IT test case. |
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/FindOperation.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperation.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperation.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperation.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/FindOperation.java
Outdated
Show resolved
Hide resolved
/gcbrun |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments, plus missing integration test.. Should be done with multiple update threads and one delete thread.. Or one update and one delete thread, but then the test must run many times to see both can succeed..
src/main/java/io/stargate/sgv2/jsonapi/service/bridge/config/DocumentConfig.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/ReadOperation.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/FindOperation.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperation.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperation.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperation.java
Show resolved
Hide resolved
src/test/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperationTest.java
Outdated
Show resolved
Hide resolved
src/test/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperationTest.java
Show resolved
Hide resolved
@ivansenic None of these guarantee delete retry logic is executed. Can't assert for the use case with above testing. |
We discussed this with Aaron, Mahesh and myself and considered it very difficult if not impossible to have a reproducible reliable test to verify this, as an IT. But that later on it could be tested with load test. Unit test can verify other aspects. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I approve, but there are still some issue that should be fixed:
- simplify reactive sequence
- assert JWT failure in the
JsonApiException
- etc
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperation.java
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperation.java
Outdated
Show resolved
Hide resolved
src/main/java/io/stargate/sgv2/jsonapi/service/operation/model/impl/DeleteOperation.java
Outdated
Show resolved
Hide resolved
But verify what? I mean it's fairly easy to do an update and delete in parallel. They both have to succeed. Run this |
|
What this PR does:
Delete - Handling LWT failure retries
Which issue(s) this PR fixes:
Fixes #217
Checklist