[ 
https://issues.apache.org/jira/browse/ARTEMIS-2451?focusedWorklogId=294538&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-294538
 ]

ASF GitHub Bot logged work on ARTEMIS-2451:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/Aug/19 07:15
            Start Date: 14/Aug/19 07:15
    Worklog Time Spent: 10m 
      Work Description: michaelandrepearce commented on pull request #2794: 
ARTEMIS-2451 limit size of destination cache
URL: https://github.com/apache/activemq-artemis/pull/2794#discussion_r313731994
 
 

 ##########
 File path: 
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/client/TemporaryDestinationTest.java
 ##########
 @@ -266,6 +266,24 @@ public void testForTempQueueTargetInfosSizeLimit() throws 
Exception {
       }
    }
 
+   @Test
+   public void testForKnownAddressSizeLimit() throws Exception {
+      try {
+         conn = createConnection();
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         for (int i = 0; i < 200; i++) {
+            TemporaryQueue temporaryQueue = s.createTemporaryQueue();
+            MessageProducer producer = s.createProducer(temporaryQueue);
+            producer.send(s.createMessage());
+         }
+         assertTrue(((ActiveMQConnection)conn).getKnownDestinations().size() 
<= 100);
 
 Review comment:
   e.g. where you make a temp dest for a reply from for other services, that is 
set in the replyto on the produced message, and then setup the consumer to 
listen to, currently if > 100 other services it would need to co-ordinate with, 
it will now break, due to the below check, in session which will break the 
ability to make a consumer for temp destination (when more the 100)
   
   
         if (jbdest.isTemporary() && 
!connection.containsTemporaryQueue(jbdest.getSimpleAddress())) {
            throw new JMSException("Can not create consumer for temporary 
destination " + destination +
                                      " from another JMS connection");
         }
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 294538)
    Time Spent: 1h  (was: 50m)

> Limit size of destination cache
> -------------------------------
>
>                 Key: ARTEMIS-2451
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2451
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>            Priority: Major
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> This is the client-side version of ARTEMIS-2449. Simply put, there is no 
> limit on the destination cache for a core JMS client. For a long-lived 
> connection sending to lots of different destinations (e.g. in a request-reply 
> use-case involving temporary queues) this can present a significant problem.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to