Github user athanatos commented on the issue: https://github.com/apache/bookkeeper/pull/80 @sijie @eolivelli If I'm reading this right, you are trying to use sync_file_range to avoid calling FileChannel.force, which presumably calls fsync. You actually can't use sync_file_range to ensure durability -- all it does it write out the dirty pages, it won't write out allocation information and (crucially) it won't issue the barriers required to flush volatile caches. See http://man7.org/linux/man-pages/man2/sync_file_range.2.html, particularly: "This system call does not flush disk write caches and thus does not provide any data integrity on systems with volatile disk write caches." See also http://www.spinics.net/lists/ceph-devel/msg03995.html wherein Christoph Hellwig removes the same behavior in Ceph.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---