-
Notifications
You must be signed in to change notification settings - Fork 526
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
[Feature]: curvefs metaserver support asynchronous snapshot #2691
Conversation
8694473
to
c114ca8
Compare
@wu-hanqing PTAL. |
ecd3a5a
to
3e32a51
Compare
3e32a51
to
2aa9d98
Compare
41a2dc3
to
f64b231
Compare
255b660
to
1b42470
Compare
@Wine93 PTAL~ |
I will make a force push later. |
1b42470
to
32a5cef
Compare
d1a29d3
to
51ac229
Compare
51ac229
to
f74e72a
Compare
cicheck |
802a34d
to
71bb1e7
Compare
@Wine93 PTAL |
2b51efb
to
6d3cf1d
Compare
@Wine93 PTAL~ |
Reviewing. |
Are there any problems in the pull request? |
Hi @NaturalSelect, have you test the case that upgrade metaserver to this version? |
Hello @Wine93. Do you mean start a metaserver from a old version snapshot? I don't know how to build a test case like that. |
yep, you can deploy a CurveFS cluster with old version first and then use curveadm upgrade to upgrade metaserver. |
Thank you for your help. |
I cannot deploy client on WSL2, because kernel module FUSE is statically compiled into the WSL2 kernel. It makes the curveadm cannot find FUSE module. Can you help me test it? See also:WSL Issue |
You can mount filesystem by insecure mode, try it:
|
6d3cf1d
to
2f66ee1
Compare
close: opencurve#1617 old metaserver snapshot that contain `inode` and `dentry` incompatible with new version Signed-off-by: NaturalSelect <[email protected]>
2f66ee1
to
bba13b6
Compare
What problem does this PR solve?
Issue Number: #1617
Problem Summary:
on_snapshot_save()
will block the apply thread, it should to be asynchronous.What is changed and how it works?
What's Changed:
logIndex
argument to each meta operations.How it Works:
KVStorage
, there are:inode applied index
- record the application progress of theInodeStorage
.dentry applied index
- record the application progress of theDentryStorage
.handle tx applied index
- record the application progress of theCommitTx/RollbackTx
.pengdTx
toKVStorage
fromMetaFStream
.dentry count
andinode count
toKVStorage
fromMetaFStream
.allow_write_stall
tofalse
.KVStorage::Checkpoint()
in other threads.See also:
FlushOptions::allow_write_stall
Side effects(Breaking backward compatibility? Performance regression?):
Inode
andDentry
inMetaFStream
, there cannot be loaded by current version.Check List