shanzhongkai created THRIFT-5494:
------------------------------------

             Summary: byte count of 
FrameBuffer(AbstractNonblockingServer.readBufferBytesAllocated) is not 
subtracted
                 Key: THRIFT-5494
                 URL: https://issues.apache.org/jira/browse/THRIFT-5494
             Project: Thrift
          Issue Type: Bug
          Components: Java - Library
    Affects Versions: 0.9.1
            Reporter: shanzhongkai


AbstractNonblockingServer.readbufferbytesallocated is used to indicate “How 
many bytes are currently allocated to read buffers.”, however, we find that 
readbufferbytesallocated does not decrease as expected in rare cases. we added 
the following logs in FrameBuffer.read:
{code:java}
// if this frame will push us over the memory limit, then return.
// with luck, more memory will free up the next time around.
LOGGER.info("print readBufferBytesAllocated: {}, {}",  
readBufferBytesAllocated.get(), frameSize);
if (readBufferBytesAllocated.get() + frameSize > MAX_READ_BUFFER_BYTES) {
  return true;
} {code}
and we found:
{panel}
2022-01-04,11:30:06,795 \{Thread-104} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 135
2022-01-04,11:30:06,795 \{Thread-106} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 144
2022-01-04,11:30:06,795 \{Thread-107} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 51315
2022-01-04,11:30:06,795 \{Thread-118} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 135
2022-01-04,11:30:06,795 \{Thread-121} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 170
2022-01-04,11:30:06,795 \{Thread-124} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 360495
2022-01-04,11:30:06,795 \{Thread-107} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141441140, 140
2022-01-04,11:30:06,807 \{Thread-114} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 257970
2022-01-04,11:30:06,823 \{Thread-112} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 139
2022-01-04,11:30:06,839 \{Thread-110} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 30308
2022-01-04,11:30:06,843 \{Thread-110} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 34608
2022-01-04,11:30:06,868 \{Thread-120} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 162
2022-01-04,11:30:06,872 \{Thread-107} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 144
2022-01-04,11:30:06,879 \{Thread-125} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 279360
2022-01-04,11:30:06,918 \{Thread-106} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 118
2022-01-04,11:30:06,924 \{Thread-104} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 158
2022-01-04,11:30:06,971 \{Thread-115} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 36964
2022-01-04,11:30:06,974 \{Thread-115} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 129
2022-01-04,11:30:07,033 \{Thread-121} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 170
2022-01-04,11:30:07,036 \{Thread-112} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 26714
2022-01-04,11:30:07,038 \{Thread-121} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 132
2022-01-04,11:30:07,074 \{Thread-107} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 33878
2022-01-04,11:30:07,079 \{Thread-120} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 162
2022-01-04,11:30:07,113 \{Thread-122} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 132
2022-01-04,11:30:07,149 \{Thread-108} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 26607
2022-01-04,11:30:07,192 \{Thread-110} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 31055
2022-01-04,11:30:07,244 \{Thread-114} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 166
2022-01-04,11:30:07,260 \{Thread-121} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 170
2022-01-04,11:30:07,288 \{Thread-106} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 108
2022-01-04,11:30:07,417 \{Thread-124} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 132
2022-01-04,11:30:07,441 \{Thread-110} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 135
2022-01-04,11:30:07,469 \{Thread-115} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 35387
2022-01-04,11:30:07,571 \{Thread-121} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 170
2022-01-04,11:30:07,571 \{Thread-122} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 131
2022-01-04,11:30:07,571 \{Thread-105} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 132
2022-01-04,11:30:07,571 \{Thread-102} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 143
2022-01-04,11:30:07,571 \{Thread-117} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 125
2022-01-04,11:30:07,615 \{Thread-114} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 885819
2022-01-04,11:30:07,623 \{Thread-116} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141914545, 36155
2022-01-04,11:30:07,624 \{Thread-112} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141914545, 16293
2022-01-04,11:30:07,636 \{Thread-107} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 1119
2022-01-04,11:30:07,683 \{Thread-106} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 131
2022-01-04,11:30:07,686 \{Thread-123} [INFO] 
libthrift091.server.AbstractNonblockingServer$AsyncFrameBuffer: print 
readBufferBytesAllocated: 141028722, 7875
{panel}
It seems that readbufferbytesallocated has not decreased as expected.

 

[https://issues.apache.org/jira/projects/THRIFT/issues/THRIFT-5468?filter=allopenissues]

The problem in this link is different from ours, because this problem has been 
fixed in 0.9.1. What may be the reason why the readbufferbytesallocated  has 
not decreased? 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to