I really have to agree.
It is clear that this bug will need an interpretation, but I'm not quite sure how to handle that, given that it raises several issues and on some the standard is clear whereas on one it is not clear. The standard response templates don't seem to cater for this kind of mixed answer.
I believe it is clear from the descriptions of fsyncopendirfd and various associated definitions in XBD chapter 3 that: Directory entries are data contained in directory files, not attributes of the files they link to, and therefore an fsync call on a file is not required to have any effect on any directory entries that exist for that file.
Since the fsync description and associated definitions make no mention of specific file types, the requirements apply to all file types, including directories. I suggest that we reword the first two paragraphs as: For read operations, when the operation has been completed or diagnosed if unsuccessful.
The operation is complete only when an image of the data has been successfully transferred to the requesting process. If there were any pending write requests or if the file is a directory directory modifications affecting the data to be read at the time that the synchronized read operation was requested, these write requests are successfully transferred prior to reading the data.
For write operations and directory modifications, when the operation has been completed or diagnosed if unsuccessful. The operation is complete only when the written data or if the file is a directory modified directory entries have been successfully transferred to storage and all file system information required to retrieve them is successfully transferred.
Before burdening writers of portable applications with the interface proposed by this Defect Report, I think it would be worthwhile to find out which file systems break with tradition in this regard. Finally, in light of the research that has gone into this topic, if the committee decides to introduce an interface for synchronizing directory modifications, a pathconf constant for determining whether the interface is actually necessary for a given path should be added.
By the way, I suspect http:Raft is getting quite popular, because people find it easy to follow the instructions of the paper, but this can be slightly deceptive.
For example, using stable storage for your state is essential for crash-safety (meaning fsync-ing before answering), but I don't see where Hashicorp's raft implementation does that. log says , [myid:1] - WARN [[email protected]] - fsync-ing the write ahead log in SyncThread:1 took ms which will adversely effect operation latency.
fsync-ing the write ahead log in SyncThread:1 took ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide I am running ZK cluster of size 3 in a VM. Write Ahead Log + Understanding leslutinsduphoenix.com: checkpoint_segments, checkpoint_timeout, checkpoint_warning While there are some docs on it, I decided to write about it, in perhaps more accessible language – not as a developer, but as PostgreSQL user.
TokuDB fixes this problem by using the hints supplied by the binary log group commit algorithm to avoid fsync’ing its recovery log during the commit phase of the 2 phase commit algorithm that MySQL uses for transactions when the A read-write workload on compressed InnoDB tables might have caused an go ahead and fire it.
log says , [myid:1] - WARN [[email protected]] - fsync-ing the write ahead log in SyncThread:1 took ms which will adversely effect.