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

ASF GitHub Bot commented on DRILL-4134:
---------------------------------------

Github user adeneche commented on a diff in the pull request:

    https://github.com/apache/drill/pull/283#discussion_r46493263
  
    --- Diff: exec/memory/base/src/main/java/io/netty/buffer/DrillBuf.java ---
    @@ -230,20 +249,31 @@ public synchronized boolean release() {
        */
       @Override
       public synchronized boolean release(int decrement) {
    +    if (isEmpty) {
    +      return false;
    +    }
     
    -    if(rootBuffer){
    -      final long newRefCnt = this.rootRefCnt.addAndGet(-decrement);
    -      Preconditions.checkArgument(newRefCnt > -1, "Buffer has negative 
reference count.");
    -      if (newRefCnt == 0) {
    -        b.release(decrement);
    -        acct.release(this, length);
    -        return true;
    -      }else{
    -        return false;
    -      }
    -    }else{
    -      return b.release(decrement);
    +    if (decrement < 1) {
    +      throw new IllegalStateException(String.format("release(%d) argument 
is not positive. Buffer Info: %s",
    +          decrement, toVerboseString()));
         }
    +
    +    if (BaseAllocator.DEBUG) {
    +      historicalLog.recordEvent("release(%d)", decrement);
    --- End diff --
    
    I think it would be helpful to also record the new `refCnt`


> Incorporate remaining patches from DRILL-1942 Allocator refactor
> ----------------------------------------------------------------
>
>                 Key: DRILL-4134
>                 URL: https://issues.apache.org/jira/browse/DRILL-4134
>             Project: Apache Drill
>          Issue Type: Sub-task
>          Components: Execution - Flow
>            Reporter: Jacques Nadeau
>            Assignee: Jacques Nadeau
>             Fix For: 1.4.0
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to