[sync] fix(app): tolerate nullable field options in editor#3222
[sync] fix(app): tolerate nullable field options in editor#3222tea-artist wants to merge 1 commit into
Conversation
Synced from teableio/teable-ee@13edf32 Co-authored-by: Aries X <caoxing9@gmail.com> Co-authored-by: Bieber <artist@teable.io> Co-authored-by: Boris <boris2code@outlook.com> Co-authored-by: Jocky-Teable <jocky@teable.ai> Co-authored-by: Jun Lu <hammond@teable.io> Co-authored-by: Pengap <penganpingprivte@gmail.com> Co-authored-by: Uno <uno@teable.ai> Co-authored-by: nichenqin <nichenqin@hotmail.com>
|
|
1 similar comment
|
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 089e9f4be5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if ((await this.cacheService.get(key)) === this.owner) { | ||
| await this.cacheService.del(key); |
There was a problem hiding this comment.
Release Redis lock atomically with owner check
The unlock path does GET then DEL in two separate commands, which allows a race that can delete another instance’s lock: if this process reads its own token, the key expires, another process acquires the same lock, and then this process executes DEL, it removes the new owner’s lock. That breaks mutual exclusion and can let multiple instances enter the critical section. Use an atomic compare-and-delete (e.g., a Lua script or equivalent) so deletion only occurs when the stored owner still matches in the same Redis operation.
Useful? React with 👍 / 👎.
🧹 Preview Environment Cleanup
|
🔄 Automated sync from EE repository.
52 commit(s) synced since last sync.
Authors
Included commits
Latest source commit: teableio/teable-ee@13edf32
This PR was automatically created by the sync workflow.