Skip to content
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

Question RE debugging conflicts in complex transactions #11148

Open
dvstans opened this issue Feb 21, 2020 · 1 comment
Open

Question RE debugging conflicts in complex transactions #11148

dvstans opened this issue Feb 21, 2020 · 1 comment
Labels
1 Question 3 RocksDB Storage engine related 3 Transaction JS & Stream Transactions

Comments

@dvstans
Copy link

dvstans commented Feb 21, 2020

I've recently switched to RocksDB on ArangoDB 3.6.1 on Ubuntu 18 and I'm now encountering write conflicts I don't understand in some of my transactions. Couple of questions:

  1. Is there a way to trace or debug the source of the conflict (document ID or key)?

  2. In my test case, there is only one transaction running at a given time, yet I'm still seeing conflict errors. These transactions do update the same document multiple times as they proceed, but it doesn't seem consistent (some sequential updates work, while others do not). Is it possible that back-to-back transactions that update the same documents could conflict due to the updates not being written to disk?

Thanks!

@Simran-B Simran-B added 1 Question 3 RocksDB Storage engine related labels Feb 24, 2020
@dvstans
Copy link
Author

dvstans commented Feb 24, 2020

Update: I did figure out the root cause of my issue. I hadn't read (or forgot) that if a selector for an update call contains a _rev field, and it doesn't match the current rev, a conflict error will be thrown (and no amount of retrying helps!). My mistake was not loading the new version of the document I'd updated previously in the transaction, so the _rev fields were different. (I just change my code to use _id as the selector instead). Question #1 is still relevant.

@Simran-B Simran-B added the 3 Transaction JS & Stream Transactions label May 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 Question 3 RocksDB Storage engine related 3 Transaction JS & Stream Transactions
Projects
None yet
Development

No branches or pull requests

2 participants