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

Show key and locking information during a transaction conflict #57

Open
CMCDragonkai opened this issue Aug 23, 2022 · 0 comments
Open
Labels
development Standard development r&d:polykey:supporting activity Supporting core activity

Comments

@CMCDragonkai
Copy link
Member

Specification

When a transaction conflict occurs, right now the exception is just a name of the conflict. We can provide extra metadata about the transaction to aid in debugging.

I tried to see if rocksdb provides additional information for the transaction, such as what keys are actually outdated and is causing the conflict, however it does not appear to be part of the transaction interface.

I reckon it should exist somewhere, but I can't really find it.

Regardless, we could provide additional information on the keys that are being updated all the keys that are put and del applied as well as keys that were read under get. Also what locks the transaction was locking at that point. All of this can be applied in the data property of the exception.

The transaction message would ideally indicate exactly which keys are under conflict, but in the mean time, the transaction ID could be useful.

Should create a issue upstream on rocksdb to ask how to actually acquire the keys under conflict, or ask on SO if somebody knows.

Tasks

  1. ...
  2. ...
  3. ...
@CMCDragonkai CMCDragonkai added the development Standard development label Aug 23, 2022
@CMCDragonkai CMCDragonkai self-assigned this Jul 10, 2023
@CMCDragonkai CMCDragonkai added the r&d:polykey:supporting activity Supporting core activity label Jul 10, 2023
@CMCDragonkai CMCDragonkai removed their assignment Sep 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
development Standard development r&d:polykey:supporting activity Supporting core activity
Development

No branches or pull requests

1 participant