curve-meetup-slides icon indicating copy to clipboard operation
curve-meetup-slides copied to clipboard

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

Open kof02guy opened this issue 2 years ago • 1 comments

@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成功了?

多谢答疑解惑

kof02guy avatar May 04 '22 17:05 kof02guy

@Wine93 帮忙解答下哈~

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

aspirer avatar May 09 '22 03:05 aspirer