-
Notifications
You must be signed in to change notification settings - Fork 21
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
issue-1146: preliminary changes: extract some localdb methods to the interface, add stub for index cache #1478
Merged
debnatkh
merged 12 commits into
main
from
users/debnatkh/issue-1146-extract-indexstate-iface
Jul 5, 2024
Merged
issue-1146: preliminary changes: extract some localdb methods to the interface, add stub for index cache #1478
debnatkh
merged 12 commits into
main
from
users/debnatkh/issue-1146-extract-indexstate-iface
Jul 5, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…interface, add stub for index cache
debnatkh
added
the
filestore
Add this label to run only cloud/filestore build and tests on PR
label
Jun 21, 2024
debnatkh
force-pushed
the
users/debnatkh/issue-1146-extract-indexstate-iface
branch
from
July 2, 2024 00:46
adf12c1
to
584851d
Compare
qkrorlqr
reviewed
Jul 3, 2024
qkrorlqr
reviewed
Jul 3, 2024
qkrorlqr
reviewed
Jul 3, 2024
qkrorlqr
reviewed
Jul 3, 2024
cloud/filestore/libs/storage/tablet/tablet_state_in_memory_index_state.cpp
Outdated
Show resolved
Hide resolved
qkrorlqr
reviewed
Jul 3, 2024
cloud/filestore/libs/storage/tablet/tablet_state_in_memory_index_state.h
Outdated
Show resolved
Hide resolved
qkrorlqr
reviewed
Jul 3, 2024
cloud/filestore/libs/storage/tablet/tablet_state_in_memory_index_state.h
Outdated
Show resolved
Hide resolved
qkrorlqr
approved these changes
Jul 4, 2024
yegorskii
approved these changes
Jul 5, 2024
qkrorlqr
pushed a commit
that referenced
this pull request
Jul 6, 2024
…interface, add stub for index cache (#1478) issue-1146: preliminary changes: extract some localdb methods to the interface, add stub for index cache
qkrorlqr
added a commit
that referenced
this pull request
Jul 6, 2024
…StageWrite EvPut type optimization (#1557) * issue-1519: add some tests that `AddData` changes the inode size (#1525) * issue-1350: we shouldn't fail the whole ListNodes request in case we somehow (due to bugs) lose some of the files in followers (#1526) * issue-1350: XAttr ut and some request validation + uts (#1534) * issue-1350: XAttr ut * issue-1350: proper FollowerId validation in IndexTabletActor::CreateHandle * issue-1350: validating ConfigureFollowers and ConfigureAsFollower requests * issue-1146: preliminary changes: extract some localdb methods to the interface, add stub for index cache (#1478) issue-1146: preliminary changes: extract some localdb methods to the interface, add stub for index cache * issue-539: use NKikimrBlobStorage::UserData for three-stage write, not NKikimrBlobStorage::TabletLog (#1552) * issue-1350: supported RenameNode for multitablet filesystems, fixed CreateHandle by Name for existing files - request should be sent to the follower specified in the Leader's response, not to the follower specified in the request (#1555) * issue-1350: supported RenameNode for multitablet filesystems, fixed CreateHandle by Name for existing files - request should be sent to the follower specified in the Leader's response, not to the follower specified in the request * issue-1350: deleted a check which is actually excessive * issue-1350: unlinking a node in follower if this node was a RenameNode op target * issue-1350: unlinking a node in follower if this node was a RenameNode op target - deleted unneeded include * fixed build after merge * updated CMakeLists.txt --------- Co-authored-by: Maxim Deb Natkh <debnatkh@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently RO transactions access
TIndexTabletDatabase
viaTIndexTabletState
methods likeTIndexTabletState::ReadNode( TIndexTabletDatabase& db, ...
which in turn calls do stuff like
db.ReadNode(nodeId, commitId, node)
.We want to cache some index data from the Index tables.
For this in-memory cache to implement the same set of methods,
TIndexTabletDatabase
is replaced with an interfaceIIndexTabletDatabase
, which is implemented byTInMemoryIndexState
(which, for now, is a stub). Its superset,IIndexTabletDatabase
is also implemented byTIndexTabletDatabase
.To ensure in-memory cache validity, every RW transaction that modifies inode index records all modifying operations, and on completion of those transactions, these operations will be applied to the in-memory state. This is done using
TIndexTabletDatabaseProxy : public TIndexTabletDatabase
(to be implemented), which forwards all requests to the underlyingTIndexTabletDatabase
.References #1146