You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
classTLinkActorfinal: public TActorBootstrapped<TLinkActor>
It first creates a hardlink in the shard which is responsible for the linked node and then creates a link in the main tablet. This whole operation is not atomic - the first step may succeed and the second may fail after that. We need to reimplement it in a way similar to regular node creation - first step should add a request to OpLog in the same transaction with the other logic of this step and the second step should be retried until it either succeeds or fails with a non-retriable error. The difference with regular node creation is that here the order is reversed - we first create a node in the shard and, second, we make modifications to the main filesystem. Those modifications may fail so extra logic may be needed - i.e. rollback of the first step in shard.
The text was updated successfully, but these errors were encountered:
Hardlink creation in sharded filesystems is done via this actor:
nbs/cloud/filestore/libs/storage/service/service_actor_createnode.cpp
Line 25 in 5329d25
It first creates a hardlink in the shard which is responsible for the linked node and then creates a link in the main tablet. This whole operation is not atomic - the first step may succeed and the second may fail after that. We need to reimplement it in a way similar to regular node creation - first step should add a request to OpLog in the same transaction with the other logic of this step and the second step should be retried until it either succeeds or fails with a non-retriable error. The difference with regular node creation is that here the order is reversed - we first create a node in the shard and, second, we make modifications to the main filesystem. Those modifications may fail so extra logic may be needed - i.e. rollback of the first step in shard.
The text was updated successfully, but these errors were encountered: