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

The ability to intentionally use write transactions from other (non-owner) threads. #200

Closed
erthink opened this issue May 31, 2021 · 2 comments

Comments

@erthink
Copy link
Owner

erthink commented May 31, 2021

More flexible support of asynchronous runtimes/frameworks:

  1. Add an API-flag that explicitly allows use a write transaction from other threads, not only from which transaction was started.
  2. Add an API-function that returns a boolean value indicating that the IPC method used allows the lock to be released from another thread.
  3. Enhance the logic of checking the transaction owner thread:
    • when (1) is false: full restrictions (current behaviour), i.e. always check for the transaction owner;
    • when both (1) and (2) are true: no restrictions, i.e. no checking for the transaction owner;
    • otherwise when (1) is true, but (2) is false: a get/put functions without checking, but abort/commit still with full checking, i.e. a write transaction must be completed only by the thread that started it.
@erthink
Copy link
Owner Author

erthink commented Jun 18, 2021

Required #210.

@erthink
Copy link
Owner Author

erthink commented Feb 15, 2025

Done since 0.13.x by MDBX_NOSTICKYTHREADS.

@erthink erthink closed this as completed Feb 15, 2025
@erthink erthink removed the todo label Feb 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant