curve-meetup-slides
curve-meetup-slides copied to clipboard
Curve meetup slides
@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成功了? 多谢答疑解惑