reddycharan commented on a change in pull request #1228: Issue #570: Move logic 
of unpersistedbytes to bufferedchannel
URL: https://github.com/apache/bookkeeper/pull/1228#discussion_r172323146
 
 

 ##########
 File path: 
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BufferedChannel.java
 ##########
 @@ -110,11 +150,15 @@ public long getFileChannelPosition() {
      * @throws IOException if the write or sync operation fails.
      */
     public void flush(boolean shouldForceWrite) throws IOException {
+        flush(shouldForceWrite, false);
+    }
+
+    public void flush(boolean shouldForceWrite, boolean forceMetadata) throws 
IOException {
         synchronized (this) {
 
 Review comment:
   flushInternal just flushes writeBuffer to fileChannel (doesn't persists and 
moreover it is private method). forceWrite just forces filechannel (persists 
data written to filechannel so far, doesn't touches writeBuffer), flush calls 
flushInternal and provides option to whether do forceWrite or not.
   
   So each method has different purpose. replacing flushinternal with flush is 
not correct thing to do from its expectations. And if user wants to do both 
flushing writeBuffer and forcewrites the filechannel, then calling just 
forceWrite is not right thing to do.
   
   But again I don't see point in complicating things by changing the 
signatures of this commonly used methods and touch all the callers of them. It 
is extraneous.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to