[Filestore] issue-5432: add basic async open support (tablet)#6589
[Filestore] issue-5432: add basic async open support (tablet)#6589budevg wants to merge 2 commits into
Conversation
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-release-msan have completed. Tip Planned checks for linux-x86_64-release-msan.
🟢 linux-x86_64-release-msan target: cloud/filestore/ (test time: 4891s): all tests PASSED for commit 520c018.
|
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-relwithdebinfo have completed. Tip Planned checks for linux-x86_64-relwithdebinfo. 🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 7164s): all tests PASSED for commit 520c018.
|
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-release-ubsan have completed. Tip Planned checks for linux-x86_64-release-ubsan.
🟢 linux-x86_64-release-ubsan target: cloud/filestore/ (test time: 4727s): all tests PASSED for commit 520c018.
|
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-release-tsan have completed. Tip Planned checks for linux-x86_64-release-tsan.
🟢 linux-x86_64-release-tsan target: cloud/filestore/ (test time: 5667s): all tests PASSED for commit 520c018.
|
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-release-asan have completed. Tip Planned checks for linux-x86_64-release-asan.
🟢 linux-x86_64-release-asan target: cloud/filestore/ (test time: 4914s): all tests PASSED for commit 520c018.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 520c0189ab
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| const bool safeAsync = hasLocalHandle && | ||
| isReadOnly && | ||
| Config->GetAsyncCreateHandleEnabled() && | ||
| args.Request.GetAllowAsyncCreateHandle(); |
There was a problem hiding this comment.
Require async destroy before acknowledging async opens
When AsyncCreateHandleEnabled is enabled but neither async-destroy flag is, the tablet can still return HandleCreatedAsync to any client that sets AllowAsyncCreateHandle. If that client then closes with a normal DestroyHandle before the queued ConfirmCreateHandle runs, the close removes the handle and the later confirm recreates it, leaking an open handle; the FUSE side already guards against this exact ordering, but the server-side decision should enforce the same requirement before advertising an async-created handle.
Useful? React with 👍 / 👎.
| xxx(ReadData, __VA_ARGS__) \ | ||
| xxx(WriteData, __VA_ARGS__) \ | ||
| xxx(AllocateData, __VA_ARGS__) \ | ||
| xxx(ConfirmCreateHandle, __VA_ARGS__) \ |
There was a problem hiding this comment.
Preserve existing request type numbers
This macro feeds the numeric EFileStoreRequest enum that is written to profile/event logs, so inserting ConfirmCreateHandle here shifts Fsync, FsyncDir, endpoint, and private request ids (the updated dump test now expects Fsync to move from 46 to 47). Existing logs and any consumers that decode stored request type numbers will be mislabelled after this change; add the new request without renumbering the existing values.
Useful? React with 👍 / 👎.
#5432