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

Lorenz Quack commented on QPID-6662:
------------------------------------

I had a brief look at the changes and have some comments/questions:
* Why do you use {{AtomicIntegerFieldUpdater}} instead of {{AtomicInteger}} for 
example in {{BufferPool}}, {{QpidByteBuffer}}, and {{PooledByteBufferRef}}?
* What is the {{MIN_VALUE/2}} in {{PooledByteBufferRef}} about?
* My understanding is that the Pool will hold on to {{ByteBuffers}} until it 
holds {{_maxSize}} buffers and discard/leave to the GC any additional buffers. 
But I believe the {{QpidByteBuffer}} might be holding on to a reference through 
the {{ByteBufferRef}} which is not being nulled in {{QpidByteBuffer#dispose}}. 
Should the ref to {{ByteBufferRef}} not be nulled so that the GC can collect 
the underlying direct {{ByteBuffer}}?
* The first debug statement in {{QpidByteBuffer#createPool}} seems to be 
missing a final "{}" in the string


> Use direct byte buffers
> -----------------------
>
>                 Key: QPID-6662
>                 URL: https://issues.apache.org/jira/browse/QPID-6662
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>            Reporter: Keith Wall
>             Fix For: qpid-java-6.0
>
>
> To improve performance of the Broker, direct ByteBuffers should be passed 
> from the transport directly to the store, minimising copying whenever 
> possible, and vice versa. 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to