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.
---

Reply via email to