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

Transaction support for scripting #2612

Open
1 of 2 tasks
PragmaTwice opened this issue Oct 19, 2024 · 2 comments
Open
1 of 2 tasks

Transaction support for scripting #2612

PragmaTwice opened this issue Oct 19, 2024 · 2 comments
Assignees
Labels
enhancement type enhancement

Comments

@PragmaTwice
Copy link
Member

PragmaTwice commented Oct 19, 2024

Search before asking

  • I had searched in the issues and found no similar issues.

Motivation

Solution

--

Are you willing to submit a PR?

  • I'm willing to submit a PR!
@PragmaTwice PragmaTwice added the enhancement type enhancement label Oct 19, 2024
@PokIsemaine
Copy link
Contributor

We might be able to use a script flag like no-atomic (or maybe the flag name isn't appropriate, we can discuss it further) to allow the user to choose to execute the script completely exclusively or allow the script using Context + Key Lock.

@PokIsemaine PokIsemaine self-assigned this Oct 24, 2024
@PragmaTwice
Copy link
Member Author

PragmaTwice commented Nov 3, 2024

Ahhh since the lua runtime is not thread-safe, we should remove the global lua context (inside Server) and utilize the worker-local lua runtimes (inside every Worker) to execute lua functions.

AS IS:

global lua runtime: EVAL, FCALL

worker-local lua runtimes: EVAL_RO, FCALL_RO

TO BE:

worker-local lua runtimes: EVAL, EVAL_RO, FCALL, FCALL_RO

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement type enhancement
Projects
None yet
Development

No branches or pull requests

2 participants