Bug 1083918
| Summary: | HornetQTaskClientHandler creates HornetQ ClientProducer for each message | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise BRMS Platform 5 | Reporter: | Martin Weiler <mweiler> | ||||
| Component: | jBPM 5 | Assignee: | Kris Verlaenen <kverlaen> | ||||
| Status: | CLOSED UPSTREAM | QA Contact: | Marek Baluch <mbaluch> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | BRMS 5.3.1 | CC: | mbaluch, nwallace | ||||
| Target Milestone: | GA | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2025-02-10 03:35:32 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 1080634 | ||||||
| Attachments: |
|
||||||
Created attachment 882226 [details]
Patch proposal
Verified in BRMS 5.3.1.P06 roll-up patch on EAP 6.2.3 (full-build). This product has been discontinued or is no longer tracked in Red Hat Bugzilla. |
Description of problem: Using the human task REST API, we see a constant rise of ClientProducerImpl instances. Looking into HornetQTaskClientHandler.messageReceived, it is clear that a new ClientProducer is called for each message: public void messageReceived(ClientSession session, Object message, String producerId) throws Exception { ClientProducer producer = producers.get(producerId); if (producer==null) { producer = session.createProducer(producerId); } handler.messageReceived(new HornetQSessionWriter(session, producer), message); } The newly created producer is not put into the producers map! Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Run jBPM process with human tasks 2. Take a heap dump before and after invoking and executing several instances of this process 3. Inspect the heap dump and count the ClientProducerImpl instances Actual results: Number of ClientProducerImpl instances rising with each invocation of the human task API Expected results: Number of ClientProducerImpl instances should be similar before and after executing the process instances. Additional info: