You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2011/02/01 16:38:28 UTC

[jira] Created: (QPID-3028) Java broker uses excessive amounts of memory to service 0-10 connections

Java broker uses excessive amounts of memory to service 0-10 connections
------------------------------------------------------------------------

                 Key: QPID-3028
                 URL: https://issues.apache.org/jira/browse/QPID-3028
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: 0.8, 0.6
            Reporter: Robbie Gemmell
            Assignee: Robbie Gemmell
            Priority: Critical
             Fix For: 0.9


The Java broker uses excessive amounts of memory to service 0-10 connections. There are a number of reasons for this, such as:

- Use of an arbitrary 64000 element array in the Assembler to store incomplete incoming per-channel data.
- Use of per-connection ThreadLocals for the BBDecoder in the Assembler interacting with the thread pool threads moving between connections, leading to an NxM number of BBDecoders in use.
- Use of per-connection ThreadLocals for the BBEncoder in the Disassembler interacting with the thread pool threads moving between connections, leading to an NxM number of BBEncoders in use.
- BBDecoder maintaining a hard reference to the last ByteBuffer it used.
- The binary->String cache within BBDecoder maintaining a hard reference to the entire backing array for the network read buffer which contained the cached binary, rather than just the bit being cached.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Assigned: (QPID-3028) Java broker uses excessive amounts of memory to service 0-10 connections

Posted by "Robbie Gemmell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell reassigned QPID-3028:
------------------------------------

    Assignee: Andrew Kennedy  (was: Robbie Gemmell)

Andrew can you review please? Thanks.

> Java broker uses excessive amounts of memory to service 0-10 connections
> ------------------------------------------------------------------------
>
>                 Key: QPID-3028
>                 URL: https://issues.apache.org/jira/browse/QPID-3028
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.6, 0.8
>            Reporter: Robbie Gemmell
>            Assignee: Andrew Kennedy
>            Priority: Critical
>             Fix For: 0.9
>
>
> The Java broker uses excessive amounts of memory to service 0-10 connections. There are a number of reasons for this, such as:
> - Use of an arbitrary 64000 element array in the Assembler to store incomplete incoming per-channel data.
> - Use of per-connection ThreadLocals for the BBDecoder in the Assembler interacting with the thread pool threads moving between connections, leading to an NxM number of BBDecoders in use.
> - Use of per-connection ThreadLocals for the BBEncoder in the Disassembler interacting with the thread pool threads moving between connections, leading to an NxM number of BBEncoders in use.
> - BBDecoder maintaining a hard reference to the last ByteBuffer it used.
> - The binary->String cache within BBDecoder maintaining a hard reference to the entire backing array for the network read buffer which contained the cached binary, rather than just the bit being cached.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-3028) Java broker uses excessive amounts of memory to service 0-10 connections

Posted by "Robbie Gemmell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell updated QPID-3028:
---------------------------------

    Status: Ready To Review  (was: In Progress)

> Java broker uses excessive amounts of memory to service 0-10 connections
> ------------------------------------------------------------------------
>
>                 Key: QPID-3028
>                 URL: https://issues.apache.org/jira/browse/QPID-3028
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.6, 0.8
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>            Priority: Critical
>             Fix For: 0.9
>
>
> The Java broker uses excessive amounts of memory to service 0-10 connections. There are a number of reasons for this, such as:
> - Use of an arbitrary 64000 element array in the Assembler to store incomplete incoming per-channel data.
> - Use of per-connection ThreadLocals for the BBDecoder in the Assembler interacting with the thread pool threads moving between connections, leading to an NxM number of BBDecoders in use.
> - Use of per-connection ThreadLocals for the BBEncoder in the Disassembler interacting with the thread pool threads moving between connections, leading to an NxM number of BBEncoders in use.
> - BBDecoder maintaining a hard reference to the last ByteBuffer it used.
> - The binary->String cache within BBDecoder maintaining a hard reference to the entire backing array for the network read buffer which contained the cached binary, rather than just the bit being cached.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Resolved: (QPID-3028) Java broker uses excessive amounts of memory to service 0-10 connections

Posted by "Andrew Kennedy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Kennedy resolved QPID-3028.
----------------------------------

    Resolution: Fixed

Review OK

> Java broker uses excessive amounts of memory to service 0-10 connections
> ------------------------------------------------------------------------
>
>                 Key: QPID-3028
>                 URL: https://issues.apache.org/jira/browse/QPID-3028
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.6, 0.8
>            Reporter: Robbie Gemmell
>            Assignee: Andrew Kennedy
>            Priority: Critical
>             Fix For: 0.9
>
>
> The Java broker uses excessive amounts of memory to service 0-10 connections. There are a number of reasons for this, such as:
> - Use of an arbitrary 64000 element array in the Assembler to store incomplete incoming per-channel data.
> - Use of per-connection ThreadLocals for the BBDecoder in the Assembler interacting with the thread pool threads moving between connections, leading to an NxM number of BBDecoders in use.
> - Use of per-connection ThreadLocals for the BBEncoder in the Disassembler interacting with the thread pool threads moving between connections, leading to an NxM number of BBEncoders in use.
> - BBDecoder maintaining a hard reference to the last ByteBuffer it used.
> - The binary->String cache within BBDecoder maintaining a hard reference to the entire backing array for the network read buffer which contained the cached binary, rather than just the bit being cached.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org