[
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]