sijie commented on a change in pull request #727: Issue 693: add interface and 
implementation of LedgerEntries
URL: https://github.com/apache/bookkeeper/pull/727#discussion_r152545958
 
 

 ##########
 File path: 
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/api/LedgerEntries.java
 ##########
 @@ -35,10 +35,15 @@
     LedgerEntry getEntry(long entryId);
 
     /**
-     * In this, It does not retain the ByteBuf references for the entries in 
this LedgerEntries.
+     * In this method, It does not increment the reference counts of ByteBuf 
for the entries in this LedgerEntries.
      * The caller who calls {@link #iterator()} should be careful for not 
releasing the references.
      *
-     * @return the iterator of type LedgerEntry
+     * when iterator is called, you are handing out the entries, you may not 
know when the caller will
 
 Review comment:
   @ivankelly If you think this as `ByteBuf.slice()`, you are handing out a 
slice of the bytebuffer, you need to declare what would be the behavior for 
referencing count. Personally I feel having `iterator` and `retainIterator` 
will make a clear behavior what callers would expect from the interfaces. This 
is not a `correctness` debate here, it is more about what should be the 
reference counting semantic for the callers.

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to