[GH-ISSUE #84] Why does create op need to be added in batcheop? #48

Closed
opened 2026-10-26 09:44:08 +00:00 by bsakaguchi · 2 comments
Owner

Originally created by @z47z on GitHub (Mar 4, 2025).
Original GitHub issue: https://github.com/deepseek-ai/3FS/issues/84

In my view, batch could be useful in occasion of concurrent setattr, to avoid foundation 'lock'. But how could create relative to this?

Originally created by @z47z on GitHub (Mar 4, 2025). Original GitHub issue: https://github.com/deepseek-ai/3FS/issues/84 In my view, batch could be useful in occasion of concurrent setattr, to avoid foundation 'lock'. But how could create relative to this?
Author
Owner

@yiyuanliu commented on GitHub (Mar 4, 2025):

For each file, 3FS selects chains from the chain table in a round-robin manner to store the file's data. By default, the counter used for round-robin selection is maintained by the meta server.

There is an optional feature (disabled by default and rarely used) where each directory maintains its own separate counter, which can be beneficial in certain scenarios. For example, when you plan to store a large amount of data in one directory and want the data to be distributed across all storage servers as evenly as possible, maintaining a separate round-robin counter for this directory might achieve better distribution than using the global counter. To reduce transaction conflicts caused by counter modification operations, we have chosen to include the create operation in the batchOp as well.

<!-- gh-comment-id:2697135679 --> @yiyuanliu commented on GitHub (Mar 4, 2025): For each file, 3FS selects chains from the chain table in a round-robin manner to store the file's data. By default, the counter used for round-robin selection is maintained by the meta server. There is an optional feature (disabled by default and rarely used) where each directory maintains its own separate counter, which can be beneficial in certain scenarios. For example, when you plan to store a large amount of data in one directory and want the data to be distributed across all storage servers as evenly as possible, maintaining a separate round-robin counter for this directory might achieve better distribution than using the global counter. To reduce transaction conflicts caused by counter modification operations, we have chosen to include the create operation in the batchOp as well.
Author
Owner

@z47z commented on GitHub (Mar 4, 2025):

For each file, 3FS selects chains from the chain table in a round-robin manner to store the file's data. By default, the counter used for round-robin selection is maintained by the meta server.

There is an optional feature (disabled by default and rarely used) where each directory maintains its own separate counter, which can be beneficial in certain scenarios. For example, when you plan to store a large amount of data in one directory and want the data to be distributed across all storage servers as evenly as possible, maintaining a separate round-robin counter for this directory might achieve better distribution than using the global counter. To reduce transaction conflicts caused by counter modification operations, we have chosen to include the create operation in the batchOp as well.

Comprehend,thx.

<!-- gh-comment-id:2697239290 --> @z47z commented on GitHub (Mar 4, 2025): > For each file, 3FS selects chains from the chain table in a round-robin manner to store the file's data. By default, the counter used for round-robin selection is maintained by the meta server. > > There is an optional feature (disabled by default and rarely used) where each directory maintains its own separate counter, which can be beneficial in certain scenarios. For example, when you plan to store a large amount of data in one directory and want the data to be distributed across all storage servers as evenly as possible, maintaining a separate round-robin counter for this directory might achieve better distribution than using the global counter. To reduce transaction conflicts caused by counter modification operations, we have chosen to include the create operation in the batchOp as well. Comprehend,thx.
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/3FS#48
No description provided.