[
https://issues.apache.org/jira/browse/PROTON-857?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robbie Gemmell resolved PROTON-857.
-----------------------------------
Resolution: Fixed
> reduce memory usage for the TransportSession link handle tracking
> -----------------------------------------------------------------
>
> Key: PROTON-857
> URL: https://issues.apache.org/jira/browse/PROTON-857
> Project: Qpid Proton
> Issue Type: Improvement
> Components: proton-j
> Affects Versions: 0.10
> Reporter: Robbie Gemmell
> Assignee: Robbie Gemmell
> Fix For: 0.10
>
> Attachments:
> 0001-PROTON-857-use-maps-to-track-handle-usage-avoid-pre-.patch
>
>
> The TransportSession class currently maintains two 'maps' of [local|remote]
> handle->TransportLink using arrays of size handle-max + 1 (since we start
> from 0 when using handles, just like array indexes). The handle-max value
> used to be 1024 in proton-j but was recently changed to be 65536 in
> PROTON-844, allowing us to track 65537 handles. This change exposes the
> transports already somewhat inefficient storage of handles by requiring ~64x
> as much memory per open session, which in most cases wont use the extra
> capacity and indeed may often only need to use a single handle at a time (or
> worse, none, if a session isnt actually used for some weird reason).
> The handle tracking should be updated to use a HashMap, in similar fashion to
> how the session channel numbers are tracked by the transport.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)