[ 
https://issues.apache.org/jira/browse/BOOKKEEPER-816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15968064#comment-15968064
 ] 

ASF GitHub Bot commented on BOOKKEEPER-816:
-------------------------------------------

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.


> use native fallocate & sync_file_range to improve journal allocation
> --------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-816
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-816
>             Project: Bookkeeper
>          Issue Type: Improvement
>          Components: bookkeeper-server
>            Reporter: Sijie Guo
>            Assignee: Sijie Guo
>             Fix For: 4.5.0
>
>
> it'd better to leverage filesystem fallocate & sync_file_range for journal 
> performance.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to