Skip to content
This repository has been archived by the owner on Sep 26, 2023. It is now read-only.

关于rename设计文档中的几个疑问 #17

Open
kof02guy opened this issue May 4, 2022 · 1 comment
Open

关于rename设计文档中的几个疑问 #17

kof02guy opened this issue May 4, 2022 · 1 comment

Comments

@kof02guy
Copy link

kof02guy commented May 4, 2022

@aspirer 你好,我读了下rename的设计文档,这里有几个问题想请教一下:
1 sdk是否在发送rpc时,如果是normal类型的,那么发送的txid是它内存中记录的copyset的txid,而如果是tx类型的(例如rename)那么发送的txid是它内存中记录的copyset的txid+1?
2 请问是否对于一个copyset,其metaserver同时只会处理一个操作?
3 请问如果一个sdk把A rename成了B在metaserver成功了,但是response timeout了。这样的情况下再来发送rename请求过来,对于A和B所在的copyset来说,都是需要先做类似rollback的操作的吗?例如在文档里写的“copyset需要删除dentryA副本”
4 每个sdk自己维护在本地一个copyset的txid。那如果有多个sdk的时候他们之间如何同步这些txid呢?例如sdk1 create成功了file A,使得它的txid变成了1,然后sdk2也试图去create fileA,但是它带过来的txid应该是0,那此时metaserver是如何处理的呢?
5 文中用sdk的 rpc带过来的txid和metaserver的pendingtxid比较,如果txid>=pendingtxid就认为txid是成功了,实际上的意思是不是说如果是normal类型的rpc,需要txid=pendingtxid认为txid是成功了,而对于tx类型的rpc,需要txid=pendingtxid+1才认为txid成功了?

多谢答疑解惑

@aspirer
Copy link
Contributor

aspirer commented May 9, 2022

@Wine93 帮忙解答下哈~

@kof02guy 欢迎加入我们微信群沟通,搜索opencurve微信号加好友拉你进群。

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

No branches or pull requests

2 participants