[jira] [Resolved] (ARTEMIS-4814) Remove linear iteration to get direct bindings

2024-06-20 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4814?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4814.
--
Resolution: Fixed

> Remove linear iteration to get direct bindings
> --
>
> Key: ARTEMIS-4814
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4814
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: Broker
>Affects Versions: 2.35.0
>Reporter: Josh Byster
>Priority: Minor
> Fix For: 2.36.0
>
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> Currently, with 500K+ queues, the cleanup step of {{TempQueueCleanerUpper}} 
> requires invoking {{WildcardAddressManager#getDirectBindings}}, which is O(k) 
> in the number of queues.
> From method profiling, this can consume up to 95% of our CPU time when 
> needing to clean up many of these. 
> It would be nice to make this more efficient, which shouldn't be difficult 
> given the iteration just does a simple equality check.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4814) Remove linear iteration to get direct bindings

2024-06-20 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4814?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4814:
-
Fix Version/s: 2.36.0

> Remove linear iteration to get direct bindings
> --
>
> Key: ARTEMIS-4814
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4814
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: Broker
>Reporter: Josh Byster
>Priority: Minor
> Fix For: 2.36.0
>
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> Currently, with 500K+ queues, the cleanup step of {{TempQueueCleanerUpper}} 
> requires invoking {{WildcardAddressManager#getDirectBindings}}, which is O(k) 
> in the number of queues.
> From method profiling, this can consume up to 95% of our CPU time when 
> needing to clean up many of these. 
> It would be nice to make this more efficient, which shouldn't be difficult 
> given the iteration just does a simple equality check.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4814) Remove linear iteration to get direct bindings

2024-06-20 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4814?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4814:
-
Affects Version/s: 2.35.0

> Remove linear iteration to get direct bindings
> --
>
> Key: ARTEMIS-4814
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4814
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: Broker
>Affects Versions: 2.35.0
>Reporter: Josh Byster
>Priority: Minor
> Fix For: 2.36.0
>
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> Currently, with 500K+ queues, the cleanup step of {{TempQueueCleanerUpper}} 
> requires invoking {{WildcardAddressManager#getDirectBindings}}, which is O(k) 
> in the number of queues.
> From method profiling, this can consume up to 95% of our CPU time when 
> needing to clean up many of these. 
> It would be nice to make this more efficient, which shouldn't be difficult 
> given the iteration just does a simple equality check.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Resolved] (ARTEMIS-4820) AMQP TTL message property being treated as int instead of uint

2024-06-17 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4820.
--
Resolution: Fixed

> AMQP TTL message property being treated as int instead of uint
> --
>
> Key: ARTEMIS-4820
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4820
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.35.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.36.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> When setting message expiration from AMQP header TTL the value should be 
> treated as an unsigned integer but is instead being read as a signed integer. 
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Created] (ARTEMIS-4820) AMQP TTL message property being treated as int instead of uint

2024-06-17 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4820:


 Summary: AMQP TTL message property being treated as int instead of 
uint
 Key: ARTEMIS-4820
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4820
 Project: ActiveMQ Artemis
  Issue Type: Bug
  Components: AMQP
Affects Versions: 2.35.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.36.0


When setting message expiration from AMQP header TTL the value should be 
treated as an unsigned integer but is instead being read as a signed integer.  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Resolved] (ARTEMIS-4817) AMQP Federation address policy doesn't allow credit configuration to override parent settings

2024-06-13 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4817.
--
Resolution: Fixed

> AMQP Federation address policy doesn't allow credit configuration to override 
> parent settings
> -
>
> Key: ARTEMIS-4817
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4817
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.34.0, 2.35.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.36.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> When processing address matches the federation address policy manager doesn't 
> check against the address policy for a receiver credits value but instead 
> looks at the parent level settings which means if the global value is set to 
> zero and the address policy has an override this is missed and it won't 
> federate an address.  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Created] (ARTEMIS-4817) AMQP Federation address policy doesn't allow credit configuration to override parent settings

2024-06-13 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4817:


 Summary: AMQP Federation address policy doesn't allow credit 
configuration to override parent settings
 Key: ARTEMIS-4817
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4817
 Project: ActiveMQ Artemis
  Issue Type: Bug
  Components: AMQP
Affects Versions: 2.35.0, 2.34.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.36.0


When processing address matches the federation address policy manager doesn't 
check against the address policy for a receiver credits value but instead looks 
at the parent level settings which means if the global value is set to zero and 
the address policy has an override this is missed and it won't federate an 
address.  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Commented] (AMQ-9513) AMQP 1.0 message with multiple Data sections can be sent to broker but corrupted

2024-06-07 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/AMQ-9513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17853200#comment-17853200
 ] 

Timothy A. Bish commented on AMQ-9513:
--

Just a note of clarification here, proton-j is perfectly capable of handling 
messages with multiple Data sections in them, only the simple Message wrapper 
object provided by proton-j for basic message use cases does not handle that 
case.  You would need to refactor the classic code to not use that and instead 
handle messages in such a way as to allow those multiple Data sections to pass 
through or be converted if going from AMQP to Openwire message types. 

> AMQP 1.0 message with multiple Data sections can be sent to broker but 
> corrupted
> 
>
> Key: AMQ-9513
> URL: https://issues.apache.org/jira/browse/AMQ-9513
> Project: ActiveMQ Classic
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 5.18.4, 6.1.2
>Reporter: Yuriy Lepikhov
>Priority: Major
>
> ActiveMQ Classic uses Qpid Proton-J to support AMQP 1.0, but Qpid Proton-J 
> does not support messages with multiple Data sections (see, PROTON-2299).
> One can send such message to broker, broker will accept such message, but it 
> will use last odd Data section as message body (no exception thrown or 
> warning logged).
> It is even possible to receive such message from broker, but it will contain 
> fewer bytes than original (and may be not from beginning).
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Resolved] (ARTEMIS-4801) AMQP Session address query cache can have invalid state for long lived sessions

2024-06-06 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4801.
--
Resolution: Fixed

> AMQP Session address query cache can have invalid state for long lived 
> sessions
> ---
>
> Key: ARTEMIS-4801
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4801
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.34.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Major
> Fix For: 2.35.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> The AMQPSessionCallback retains a map of AddressQueryResult instances for 
> previous address checks.  This map is not updated if the state of broker 
> addresses changes, neither addresses added, removed or updated states are 
> reflected in the cache.  This leads to issues for long running sessions where 
> a link attach may fail for a non-existent address and on a later attempt 
> should succeed if the address was added but can't because the cache will 
> still hold the non-exists query result.  Other scenarios are possible such as 
> an address removed and re-added with different routing type but the former 
> case is more serious. 
> The cache should be removed and if a similar optimization is actually found 
> to be needed a better mechanism should be chosen to avoid the issues found.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Created] (ARTEMIS-4801) AMQP Session address query cache can have invalid state for long lived sessions

2024-06-06 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4801:


 Summary: AMQP Session address query cache can have invalid state 
for long lived sessions
 Key: ARTEMIS-4801
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4801
 Project: ActiveMQ Artemis
  Issue Type: Bug
  Components: AMQP
Affects Versions: 2.34.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.35.0


The AMQPSessionCallback retains a map of AddressQueryResult instances for 
previous address checks.  This map is not updated if the state of broker 
addresses changes, neither addresses added, removed or updated states are 
reflected in the cache.  This leads to issues for long running sessions where a 
link attach may fail for a non-existent address and on a later attempt should 
succeed if the address was added but can't because the cache will still hold 
the non-exists query result.  Other scenarios are possible such as an address 
removed and re-added with different routing type but the former case is more 
serious. 

The cache should be removed and if a similar optimization is actually found to 
be needed a better mechanism should be chosen to avoid the issues found.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Created] (ARTEMIS-4799) Broker Connection Receiver attach handled incorrectly

2024-06-06 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4799:


 Summary: Broker Connection Receiver attach handled incorrectly
 Key: ARTEMIS-4799
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4799
 Project: ActiveMQ Artemis
  Issue Type: Bug
  Components: AMQP
Affects Versions: 2.34.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.35.0


The AMQP Broker Connection Receiver configuration creates a receiver for 
messages from a remote AMQP source however the attach handling is not properly 
handled leading to a receiver that thinks it is operating as an opened 
anonymous relay sender meaning it only routes messages with a set 'To' field in 
the properties.  The receiver attach should be using the locally defined target 
as the address for incoming messages and ignore an 'To' value in the message 
properties.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4792) Add support for setting consumer priority on AMQP Receiver Source addresses

2024-06-03 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4792:
-
Summary: Add support for setting consumer priority on AMQP Receiver Source 
addresses  (was: Add support for setting consumer priority on AMQP Source 
address)

> Add support for setting consumer priority on AMQP Receiver Source addresses
> ---
>
> Key: ARTEMIS-4792
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4792
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>  Components: AMQP
>Affects Versions: 2.34.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.35.0
>
>
> When creating a receiver link from a client the only way currently to adjust 
> the consumer priority on the broker is to set a value in the receiver 
> properties to indicate the desired priority.  For some client AMQP client 
> libraries this is not simple or not possible in the provided API.  To solve 
> this we can add support for parsing URI type options from the source address 
> of the receiver attach and look for the option "consumer-priority" which is 
> also used by the Core client to configure consumer priority (Openwire clients 
> can do the same via an openwire client property "consumer.priority").
> This updates the client receiver attach to extract properties from the 
> address the source which have the form:
> {code:java}
> address?consumer-priority=1{code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Created] (ARTEMIS-4792) Add support for setting consumer priority on AMQP Source address

2024-06-03 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4792:


 Summary: Add support for setting consumer priority on AMQP Source 
address
 Key: ARTEMIS-4792
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4792
 Project: ActiveMQ Artemis
  Issue Type: New Feature
  Components: AMQP
Affects Versions: 2.34.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.35.0


When creating a receiver link from a client the only way currently to adjust 
the consumer priority on the broker is to set a value in the receiver 
properties to indicate the desired priority.  For some client AMQP client 
libraries this is not simple or not possible in the provided API.  To solve 
this we can add support for parsing URI type options from the source address of 
the receiver attach and look for the option "consumer-priority" which is also 
used by the Core client to configure consumer priority (Openwire clients can do 
the same via an openwire client property "consumer.priority").

This updates the client receiver attach to extract properties from the address 
the source which have the form:
{code:java}
address?consumer-priority=1{code}
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Resolved] (ARTEMIS-4788) AMQP Federation Broker connection can deadlock broker shutdown

2024-05-31 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4788.
--
Fix Version/s: 2.35.0
   Resolution: Fixed

> AMQP Federation Broker connection can deadlock broker shutdown
> --
>
> Key: ARTEMIS-4788
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4788
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.33.0, 2.34.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Major
> Fix For: 2.35.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> In a rare race between broker shutdown and create of federation consumer the 
> broker connection federation manager can deadlock and hang the shutdown of 
> the broker. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Updated] (ARTEMIS-4788) AMQP Federation Broker connection can deadlock broker shutdown

2024-05-30 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4788:
-
Affects Version/s: 2.34.0

> AMQP Federation Broker connection can deadlock broker shutdown
> --
>
> Key: ARTEMIS-4788
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4788
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.33.0, 2.34.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Major
>
> In a rare race between broker shutdown and create of federation consumer the 
> broker connection federation manager can deadlock and hang the shutdown of 
> the broker. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Created] (ARTEMIS-4788) AMQP Federation Broker connection can deadlock broker shutdown

2024-05-30 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4788:


 Summary: AMQP Federation Broker connection can deadlock broker 
shutdown
 Key: ARTEMIS-4788
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4788
 Project: ActiveMQ Artemis
  Issue Type: Bug
  Components: AMQP
Affects Versions: 2.33.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish


In a rare race between broker shutdown and create of federation consumer the 
broker connection federation manager can deadlock and hang the shutdown of the 
broker. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

-
To unsubscribe, e-mail: issues-unsubscr...@activemq.apache.org
For additional commands, e-mail: issues-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact




[jira] [Comment Edited] (ARTEMIS-4777) Broker connections (AMQP) with receiver operation not working

2024-05-21 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17848315#comment-17848315
 ] 

Timothy A. Bish edited comment on ARTEMIS-4777 at 5/21/24 6:06 PM:
---

The broker connection senders and receivers operate on matching Queues as not 
so clearly described in the documentation, and not on a simple address match as 
you are trying to configure.  In your case when configuring the receiver it 
won't attach to the remote unless a queue is created under the matched address 
'test' which means you need a local consumer on the address to trigger the 
receiver being created on the remote.  

I'd guess that the intended use case for broker connection address senders and 
receivers was mainly around actual queues and not for multicast addresses, 
although as mentioned above you can make it happen with a consumer attached.  
For multicast it doesn't make a ton of sense to bring across messages if 
there's no place for them to go once they arrive which is why this was mainly 
geared towards queues.

There is a call out for this behavior in the documentation after the XML 
configuration examples

bq. Receivers can only be matched to a local queue that already exists. 
Therefore, if receivers are being used, ensure that queues are pre-created 
locally. Otherwise, the broker cannot match the remote queues and addresses. 




was (Author: tabish121):
The broker connection senders and receivers operate on matching Queues as not 
so clearly described in the documentation, and not on a simple address match as 
you are trying to configure.  In your case when configuring the receiver it 
won't attach to the remote unless a queue is created under the matched address 
'test' which means you need a local consumer on the address to trigger the 
receiver being created on the remote.  

I'd guess that the intended use case for broker connection address senders and 
receivers was mainly around actual queues and not for multicast addresses, 
although as mentioned above you can make it happen with a consumer attached.  
For multicast it doesn't make a ton of sense to bring across messages if 
there's no place for them to go once they arrive which is why this was mainly 
geared towards queues.

There is a call out for this behavior in the documentation after the XML 
configuration examples

{noformat}
Receivers can only be matched to a local queue that already exists. Therefore, 
if receivers are being used, ensure that queues are pre-created locally. 
Otherwise, the broker cannot match the remote queues and addresses. 
{noformat}


> Broker connections (AMQP) with receiver operation not working
> -
>
> Key: ARTEMIS-4777
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4777
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.33.0
> Environment: Server installed on CentOS Linux release 7.9.2009
>Reporter: Piero Cena
>Priority: Major
>
> Trying to connect an Artemis instance to an instance of ActiveMQ Classic 5.15 
> in order to receive messages from one destination (preferably a topic 
> destination). Here is the configuration on Artemis instance:
> {code:xml}
> 
> retry-interval="1000" reconnect-attempts="2" user="xxx{*}" password="xxx{*}">
>   
>
> {code}
> The address "test" is predefined as multicast on Artemis and exists on the 
> other side:
> {code:xml}
> 
>
> {code} 
> On startup Artemis will connect correctly to Classic but no message is 
> received on the Artemis side when published to the Classic destination "test".
> The same test has done with two Artemis brokers, one configured as above, but 
> the results are the same.
> Only "sender" or "mirror" operations seem to work properly (between 2 
> Artemis).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (ARTEMIS-4777) Broker connections (AMQP) with receiver operation not working

2024-05-21 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17848315#comment-17848315
 ] 

Timothy A. Bish edited comment on ARTEMIS-4777 at 5/21/24 6:05 PM:
---

The broker connection senders and receivers operate on matching Queues as not 
so clearly described in the documentation, and not on a simple address match as 
you are trying to configure.  In your case when configuring the receiver it 
won't attach to the remote unless a queue is created under the matched address 
'test' which means you need a local consumer on the address to trigger the 
receiver being created on the remote.  

I'd guess that the intended use case for broker connection address senders and 
receivers was mainly around actual queues and not for multicast addresses, 
although as mentioned above you can make it happen with a consumer attached.  
For multicast it doesn't make a ton of sense to bring across messages if 
there's no place for them to go once they arrive which is why this was mainly 
geared towards queues.

There is a call out for this behavior in the documentation after the XML 
configuration examples

{noformat}
Receivers can only be matched to a local queue that already exists. Therefore, 
if receivers are being used, ensure that queues are pre-created locally. 
Otherwise, the broker cannot match the remote queues and addresses. 
{noformat}



was (Author: tabish121):
The broker connection senders and receivers operate on matching Queues as not 
so clearly described in the documentation, and not on a simple address match as 
you are trying to configure.  In your case when configuring the receiver it 
won't attach to the remote unless a queue is created under the matched address 
'test' which means you need a local consumer on the address to trigger the 
receiver being created on the remote.  

I'd guess that the intended use case for broker connection address senders and 
receivers was mainly around actual queues and not for multicast addresses, 
although as mentioned above you can make it happen with a consumer attached.  
For multicast it doesn't make a ton of sense to bring across messages if 
there's no place for them to go once they arrive which is why this was mainly 
geared towards queues.

> Broker connections (AMQP) with receiver operation not working
> -
>
> Key: ARTEMIS-4777
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4777
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.33.0
> Environment: Server installed on CentOS Linux release 7.9.2009
>Reporter: Piero Cena
>Priority: Major
>
> Trying to connect an Artemis instance to an instance of ActiveMQ Classic 5.15 
> in order to receive messages from one destination (preferably a topic 
> destination). Here is the configuration on Artemis instance:
> {code:xml}
> 
> retry-interval="1000" reconnect-attempts="2" user="xxx{*}" password="xxx{*}">
>   
>
> {code}
> The address "test" is predefined as multicast on Artemis and exists on the 
> other side:
> {code:xml}
> 
>
> {code} 
> On startup Artemis will connect correctly to Classic but no message is 
> received on the Artemis side when published to the Classic destination "test".
> The same test has done with two Artemis brokers, one configured as above, but 
> the results are the same.
> Only "sender" or "mirror" operations seem to work properly (between 2 
> Artemis).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4777) Broker connections (AMQP) with receiver operation not working

2024-05-21 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17848315#comment-17848315
 ] 

Timothy A. Bish commented on ARTEMIS-4777:
--

The broker connection senders and receivers operate on matching Queues as not 
so clearly described in the documentation, and not on a simple address match as 
you are trying to configure.  In your case when configuring the receiver it 
won't attach to the remote unless a queue is created under the matched address 
'test' which means you need a local consumer on the address to trigger the 
receiver being created on the remote.  

I'd guess that the intended use case for broker connection address senders and 
receivers was mainly around actual queues and not for multicast addresses, 
although as mentioned above you can make it happen with a consumer attached.  
For multicast it doesn't make a ton of sense to bring across messages if 
there's no place for them to go once they arrive which is why this was mainly 
geared towards queues.

> Broker connections (AMQP) with receiver operation not working
> -
>
> Key: ARTEMIS-4777
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4777
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.33.0
> Environment: Server installed on CentOS Linux release 7.9.2009
>Reporter: Piero Cena
>Priority: Major
>
> Trying to connect an Artemis instance to an instance of ActiveMQ Classic 5.15 
> in order to receive messages from one destination (preferably a topic 
> destination). Here is the configuration on Artemis instance:
> {code:xml}
> 
> retry-interval="1000" reconnect-attempts="2" user="xxx{*}" password="xxx{*}">
>   
>
> {code}
> The address "test" is predefined as multicast on Artemis and exists on the 
> other side:
> {code:xml}
> 
>
> {code} 
> On startup Artemis will connect correctly to Classic but no message is 
> received on the Artemis side when published to the Classic destination "test".
> The same test has done with two Artemis brokers, one configured as above, but 
> the results are the same.
> Only "sender" or "mirror" operations seem to work properly (between 2 
> Artemis).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-1152) Investigate suspected Double-Checked Locking

2024-05-03 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-1152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-1152.

Resolution: Not A Problem

Patterns appear to use correct volatile and locking state, reopen if further 
evidence is available

> Investigate suspected Double-Checked Locking
> 
>
> Key: ARTEMIS-1152
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1152
> Project: ActiveMQ Artemis
>  Issue Type: Wish
>  Components: Broker
>Affects Versions: 2.1.0
>Reporter: Jiri Daněk
>Priority: Minor
> Attachments: ActiveMQThreadPoolExecutor.java.png, 
> ManagementServiceImpl.java.png
>
>
> Coverity found instance of Double-Checked Locking. According to the resources 
> at the end, the variable has to either be declared volatile, or 
> double-checked locking should not be used, or the variable has to be atomic 
> (int, float, ...). Otherwise, in a general case this may lead to threads 
> accessing partially initialized objects.
> There is 9 Coverity finds in the category "Data race undermines locking", the 
> following one looks to me as clear examples of the Double-Checked Locking 
> pattern
> h4. ActiveMQJMSContext.java
> {noformat}
> 130   private void checkSession() {
>   1. thread1_checks_field: Thread1 uses the value read from field session 
> in the condition session == null. It sees that the condition is true.
>   
> CID 1409080 (#2-1 of 2): Check of thread-shared field evades lock acquisition 
> (LOCK_EVASION)
> 5. thread2_checks_field_early: Thread2 checks session, reading it after 
> Thread1 assigns to session but before some of the correlated field 
> assignments can occur. It sees the condition session == null as being false. 
> It continues on before the critical section has completed, and can read data 
> changed by that critical section while it is in an inconsistent state.
>   Remove this outer, unlocked check of session.
> 131  if (session == null) {
>   2. thread1_acquires_lock: Thread1 acquires lock ActiveMQJMSContext.this.
> 132 synchronized (this) {
> 133if (closed)
> 134   throw new IllegalStateRuntimeException("Context is closed");
>   3. thread1_double_checks_field: Thread1 double checks the field session 
> in the condition session == null.
> 135if (session == null) {
> 136   try {
> 137  if (xa) {
> 138 session = ((XAConnection) 
> connection).createXASession();
> 139  } else {
>   4. thread1_modifies_field: Thread1 modifies the field session. This 
> modification can be re-ordered with other correlated field assignments within 
> this critical section at runtime. Thus, checking the value of session is not 
> an adequate test that the critical section has completed unless the guarding 
> lock is held while checking. If session is assigned a newly constructed 
> value, note that the JVM is allowed to reorder the assignment of the new 
> reference to session before any field assignments that may occur in the 
> constructor. Control is switched to Thread2.
> 140 session = connection.createSession(sessionMode);
> 141  }
> 142   } catch (JMSException e) {
> 143  throw JmsExceptionUtils.convertToRuntimeException(e);
> 144   }
> 145}
> 146 }
> 147  }
> 148   }
> {noformat}
> In addition to that, the demo version of HP Fortify tool reports the 
> following two additional instances (as well as the previous one already 
> reported by Coverity).
> h4. ActiveMQThreadPoolExecutor.java
> !ActiveMQThreadPoolExecutor.java.png!
> h4. ManagementServiceImpl.java
> !ManagementServiceImpl.java.png!
> I came to believe that this warning from the tool is real, at least the first 
> instance, and that it should be investigated more closely by somebody more 
> experienced.
> #. http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
> #. 
> https://www.securecoding.cert.org/confluence/display/java/LCK10-J.+Use+a+correct+form+of+the+double-checked+locking+idiom



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4745) Allow configuration of AMQP federation pull consumer batch size

2024-04-25 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4745:


 Summary: Allow configuration of AMQP federation pull consumer 
batch size 
 Key: ARTEMIS-4745
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4745
 Project: ActiveMQ Artemis
  Issue Type: Improvement
  Components: AMQP
Affects Versions: 2.33.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.34.0


When Queue federation receiver links are configured to only pull messages from 
the remote when local capacity allows it they grant a fixed credit window 
amount of link credits currently.  In some cases control over this batch size 
value is beneficial.  We can add an additional configuration property to convey 
this limit to the federation configuration



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4744) AMQP broker connections don't fully support multi host URIs

2024-04-25 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4744:


 Summary: AMQP broker connections don't fully support multi host 
URIs
 Key: ARTEMIS-4744
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4744
 Project: ActiveMQ Artemis
  Issue Type: Bug
  Components: AMQP
Affects Versions: 2.33.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.34.0


When configuring a multi host connection URI for an AMQP broker connection the 
connection will utilize some but not all of the configuration.  The broker will 
attempt connection to each host and port part specific on the URI but does not 
apply configuration specific to a given host.  This can lead to failure on 
connect due to using the TLS configuration from the first host when attempting 
to connect to the following N hosts.  Users need to be able to configure TLS 
specific options per host as values such as host verification, SNI and trust 
stores can vary amongst hosts.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-2682) OpenWireMessageConverter refactoring

2024-04-24 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2682?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-2682.

Resolution: Abandoned

> OpenWireMessageConverter refactoring
> 
>
> Key: ARTEMIS-2682
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2682
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: OpenWire
>Affects Versions: 2.12.0
>Reporter: Federico Valeri
>Priority: Minor
>  Labels: openwire, refactoring
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> I'm proposing the {{OpenWireMessageConverter}} refactoring to have a similar 
> layout as the {{AMQPConverter}}. The latter has two dedicated classes for 
> inbound and outbound messages with a singleton entry point for the converter. 
> This change is basically doing the same without semantics change and also 
> adding a unit test for the converter. I'm also eliminating some duplicated 
> code, but the bulk of the code remains untouched.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-1383) Improved Priority queue

2024-04-24 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-1383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-1383.

Resolution: Abandoned

> Improved Priority queue
> ---
>
> Key: ARTEMIS-1383
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1383
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>
> The original PriorityLinkedList implementation is based on a double linked 
> list implementation that suffer of:
> * fragmentation along the heap
> * pointer chasing due to the presence of nodes
> * allocation heavy (ie each add operation forces allocation of nodes)
> * high hidden (ie the nodes) memory footprint that lead to wrong memory 
> estimations
> It is possible to provide a specialized chunked implementation that can 
> address all these issues while providing a better performance (throughput, 
> latency and memory footprint wise).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4047) Artemis does not send message to consumer AMQP

2024-04-11 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17836352#comment-17836352
 ] 

Timothy A. Bish commented on ARTEMIS-4047:
--

This seems like a candidate for closure given the comment from [~jbertram] 

There are no known issues with consumer blockages in the AMQP bits that we are 
currently aware of.

> Artemis does not send message to consumer AMQP
> --
>
> Key: ARTEMIS-4047
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4047
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP, Broker
>Affects Versions: 2.25.0, 2.26.0
>Reporter: daves
>Priority: Major
> Attachments: 1.PNG, 2.PNG, 3.PNG, 4.PNG, 5.PNG, All.zip
>
>
> The broker does not send messages from one of many existing queues to the 
> connected consumer.
> According to the UI the queue does contain ~15k messages.
> I’m not able to consume any of these messages. I also tried to read a message 
> using the browse function of the UI/console but that does not work eighter. 
> The message was created by a AMQP client and should be consumed by another 
> AMQP client.
> I tried to capture the situation in a few screenshots… 
> I don’t know which data can help you to understand the situation, so I’ve 
> collected everything:
>  * Logs
>  * Broker
>  * Data
> Please let me know if there are any other data I should add to the ticket. 
> I don’t think that the code of my client is relevant since the problem only 
> exist for a single queue…but here it is anyway: 
> {code:java}
> using Amqp;
> using Amqp.Framing;
> using Amqp.Types;
> namespace Test;
> public sealed class MessageConsumer
> {
>     private readonly String _address;
>     private readonly CancellationToken _cancellationToken;
>     private readonly String _consumerName;
>     private readonly String[] _destinations;
>     public MessageConsumer( String address, String consumerName, String[] 
> destinations, CancellationToken cancellationToken )
>     {
>         _address = address;
>         _consumerName = consumerName;
>         _destinations = destinations;
>         _cancellationToken = cancellationToken;
>     }
>     public async Task StartReceivingMessages()
>     {
>         await Task.Yield();
>         while ( !_cancellationToken.IsCancellationRequested )
>         {
>             var connectionFactory = new ConnectionFactory();
>             var address = new Address( _address );
>             try
>             {
>                 var connection = await connectionFactory.CreateAsync( address 
> );
>                 var session = ( (IConnection) connection ).CreateSession();
>                 var receivers = new List();
>                 foreach ( var destination in _destinations )
>                 {
>                     var receiver = session.CreateReceiver( 
> $"{_consumerName}_{destination}",
>                                                            new Source
>                                                            {
>                                                                Address = 
> destination,
>                                                                Capabilities = 
> new[] { new Symbol( "queue" ) }
>                                                            } );
>                     receivers.Add( receiver );
>                 }
>                 while ( !_cancellationToken.IsCancellationRequested )
>                     foreach ( var receiver in receivers )
>                     {
>                         // ReceiveAsync( TimeSpan.Zero ); blocks forever and 
> no messages will be received 
>                         var message = await receiver.ReceiveAsync( 
> TimeSpan.FromMilliseconds( 1 ) );
>                         if ( message == null )
>                             continue;
>                         receiver.Accept( message );
>                         Console.WriteLine( $"{_consumerName} - Received 
> message with id: '{message.Properties.MessageId}'" );
>                     }
>             }
>             catch ( Exception ex )
>             {
>                 Console.WriteLine( $"{_consumerName} - Connection error in 
> producer '{_consumerName}' {ex.Message} => create new connection." );
>                 await Task.Delay( 1000, CancellationToken.None );
>             }
>         }
>     }
> }{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-3359) Auto-Create of non-durable queue not possible

2024-04-11 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-3359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-3359.

Resolution: Information Provided

> Auto-Create of non-durable queue not possible
> -
>
> Key: ARTEMIS-3359
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3359
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.16.0
>Reporter: Rene Koch
>Priority: Major
>
> I have a application in which I want to have 1 durable and 1 non-durable 
> queue in Active MQ Artemis. For connecting to this message bus I use 
> amqpnetlite (https://github.com/Azure/amqpnetlite)
>  
> {code:java}
>   var source = new Source()
> {
> };
> if (durable)
> {
> source.Address = 
> amqpAddressConverter.GetSubscriberAddress(address, useLoadBalancing);
> source.Durable = 1;
> source.ExpiryPolicy = new Symbol("never");
> source.DistributionMode = new Symbol("copy");
> }
> else
> {
> source.Address = 
> amqpAddressConverter.GetSubscriberAddress(address);
> source.Durable = 0;
> }
> var receiverLink = new ReceiverLink(session, linkName, source, null); 
> {code}
> {{}}
> So this is my receiver link. As shown I set the Durable uint of the Source 
> which will given into the ReceiverLink.
> Because as I saw in the Active MQ Artemis documentation, that the Durable is 
> a boolean but within the amqpnetlite library it is an uint my understanding 
> is that everything over 0 should be true and 0 should be false. (Seen here: 
> [http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-terminus-durability)]
> At first the behaviour was very strange: Even when the Aretemis Web interface 
> was shown a queue as durable it would be deleted as soon as no consumer would 
> be connected.
> I found this:
>  
> [https://stackoverflow.com/questions/66360625/activemq-artemis-queue-deleted-after-shutdown-of-consuming-client]
>  which describes that even durable queues get deleted because of the default 
> behaviour.
> So I changed the broker.xml and set AUTO-DELETE-QUEUE to false.
> Since then the behaviour completly switched:
>  Both (durable = 1 and durable = 0) queues are being still there after the 
> connection disconnected.
> What I saw, either the configuration in the broker.xml - every queue will be 
> durable = true, it doesn't mather what I set within the Link.
> So how to create a durable and a non-durable connection correctly?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-3359) Auto-Create of non-durable queue not possible

2024-04-11 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-3359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17836343#comment-17836343
 ] 

Timothy A. Bish commented on ARTEMIS-3359:
--

TerminusDurability is not the same thing as queue durability and so is not used 
internally for indicating this, the client can you the dynamic node option to 
create a temporary queue attached to the subscription that will be destroyed 
when the client disconnects.  

The TerminusDurabily is only used in one place, appropriately, to indicate the 
subscription to a topic node is durable or not. That is, the link/terminus is 
durable or not. Not the queue the broker happens to create (which is an 
implementation detail, there need not be any queue) in terms of the AMQP 
specification. 

> Auto-Create of non-durable queue not possible
> -
>
> Key: ARTEMIS-3359
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3359
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.16.0
>Reporter: Rene Koch
>Priority: Major
>
> I have a application in which I want to have 1 durable and 1 non-durable 
> queue in Active MQ Artemis. For connecting to this message bus I use 
> amqpnetlite (https://github.com/Azure/amqpnetlite)
>  
> {code:java}
>   var source = new Source()
> {
> };
> if (durable)
> {
> source.Address = 
> amqpAddressConverter.GetSubscriberAddress(address, useLoadBalancing);
> source.Durable = 1;
> source.ExpiryPolicy = new Symbol("never");
> source.DistributionMode = new Symbol("copy");
> }
> else
> {
> source.Address = 
> amqpAddressConverter.GetSubscriberAddress(address);
> source.Durable = 0;
> }
> var receiverLink = new ReceiverLink(session, linkName, source, null); 
> {code}
> {{}}
> So this is my receiver link. As shown I set the Durable uint of the Source 
> which will given into the ReceiverLink.
> Because as I saw in the Active MQ Artemis documentation, that the Durable is 
> a boolean but within the amqpnetlite library it is an uint my understanding 
> is that everything over 0 should be true and 0 should be false. (Seen here: 
> [http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-terminus-durability)]
> At first the behaviour was very strange: Even when the Aretemis Web interface 
> was shown a queue as durable it would be deleted as soon as no consumer would 
> be connected.
> I found this:
>  
> [https://stackoverflow.com/questions/66360625/activemq-artemis-queue-deleted-after-shutdown-of-consuming-client]
>  which describes that even durable queues get deleted because of the default 
> behaviour.
> So I changed the broker.xml and set AUTO-DELETE-QUEUE to false.
> Since then the behaviour completly switched:
>  Both (durable = 1 and durable = 0) queues are being still there after the 
> connection disconnected.
> What I saw, either the configuration in the broker.xml - every queue will be 
> durable = true, it doesn't mather what I set within the Link.
> So how to create a durable and a non-durable connection correctly?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-2481) Outdated johnzon-core Library Upgrade to 1.1.13

2024-04-11 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-2481.

Resolution: Fixed

Johnzon has already been updated beyond this, most recently to v1.2.21 in 
ARTEMIS-4364 

> Outdated johnzon-core Library Upgrade to 1.1.13
> ---
>
> Key: ARTEMIS-2481
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2481
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Affects Versions: 2.5.0
>Reporter: Roger Soland
>Priority: Minor
>
> The org.apache.johnzon-core Library the artemis-core-client is built on 
> should be upgraded to the latest version 1.1.13.
> artemis-core-client depends on johnzon-core 0.9.0 which is really outdated 
> and buggy. We have been struggling with the bug 
> https://issues.apache.org/jira/browse/JOHNZON-158.  a state issue of the 
> JsonStreamParser Implementation. 
> By using the Artemis Resource Adapter, the johnzon-core Library is 
> automatically on our application classpath and brings in the buggy JsonParser.
> Also the newest ActiveMQ Artemis Version 2.10.0 is affected
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-1472) Individualize Loggers to Debug Protocol issues.

2024-04-11 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-1472?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-1472.

Resolution: Abandoned

Given this has lingered for many years and we've gotten along without any 
additional changes I'm closing this one. 

> Individualize Loggers to Debug Protocol issues.
> ---
>
> Key: ARTEMIS-1472
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1472
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: AMQP
>Affects Versions: 2.3.0
>Reporter: Clebert Suconic
>Assignee: Clebert Suconic
>Priority: Major
>
> AMQP developers will usually set PN_TRACE_FRM as a System.property to get out 
> some information from Proton regarding the frame processing.
> It would be a nice idea to also throw some log.info when that property is set 
> at Artemis.. around AMQP Processing, making it easier to Debug AMQP packets.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-2605) Unable to create non-durable queue with specific name

2024-04-11 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2605?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-2605.

Resolution: Not A Problem

As discussed in the issue AMQP clients setting terminus durability has no 
affect on Queue durability as that is not what that field does and AMQP itself 
has no behavioral linkage to Topics or Queues. 

> Unable to create non-durable queue with specific name
> -
>
> Key: ARTEMIS-2605
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2605
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.6.2
>Reporter: Dirkjan
>Priority: Major
>
> When attaching as a receiver to create a new queue, it appears Artemis will 
> try to create a durable queue by default, even if I specify that the queue 
> should not be durable. If my user does not have permission to create durable 
> queues (even though it has permission to create non-durable queues), creation 
> of the queue will fail with a permission error.
> More context:
> The application I'm targeting usually uses Core messages to do RPC, but it 
> accepts AMQP messages as well, so it could be that there is a mismatch here 
> between how things are set up.
>  
> When using Core, I see that ServerSessionPacketHandler triggers on a packet 
> with type -12 to create the queue with a well-defined name, which in the end 
> dispatches to ServerSessionImpl.createQueue() with temporary = true and 
> durable = false. This is the behavior I'm seeking to replicate. However, all 
> my attempts to create to a temporary non-durable queue by attaching to it 
> with AMQP seem to be failing so far.
>  
> With my AMQP client, I try to create the response queue by attaching to it 
> with source address = . This lets me end up in 
> ProtonServerSenderContext.initialise() by way of 
> AMQPSessionContext.addSender(). However, this throws a permission error 
> (AMQ119213, my user does not have permission for CREATE_DURABLE_QUEUE). This 
> is surprising to me because I leave the "durable" field as default, which 
> should mean to default to no durability. It seems to happen because 
> AMQPSessionCallback.queueQuery() calls (through some indirection) 
> ServerSessionImpl.createQueue() with durable = true.
>  
> I could potentially create non-durable queues by setting dynamic = true, but 
> in that case Artemis will create the queue with random UUID name, whereas my 
> user only has permission to create queues with a name with a specific prefix.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-1899) AMQPMessage.getIntProperty() throws "UnsignedInteger cannot be cast to java.lang.Integer"

2024-04-11 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-1899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-1899.

Resolution: Not A Problem

The methods are doing just what they say they do in their names, getting 
Integer or Long values, not UnsignedInteger or UnsignedLong values, that can be 
done via getObjectProperty as the issue already points out.  The other option 
is to go to the proton message itself and get the application properties 
directly. 

> AMQPMessage.getIntProperty() throws "UnsignedInteger cannot be cast to 
> java.lang.Integer"
> -
>
> Key: ARTEMIS-1899
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1899
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.6.0
>Reporter: Johan Stenberg
>Priority: Minor
>
> While testing a custom Artemis plugin with a RHEA based AMQP client I 
> encountered the following exception in the server:
> {noformat}
> 23:56:57.993 WARN [y-threads)] ?(:) 
> org.apache.qpid.proton.amqp.UnsignedInteger cannot be cast to 
> java.lang.Integer
> java.lang.ClassCastException: org.apache.qpid.proton.amqp.UnsignedInteger 
> cannot be cast to java.lang.Integer
>   at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.getIntProperty(AMQPMessage.java:987)
>  ~[artemis-amqp-protocol-2.6.0.jar:?]
> {noformat}
> On the client I am setting a message property with an int value and try to 
> access this int value in the custom plugin on the server via 
> AMQPMessage.getIntProperty.
> The problem lies in the fact that the AMQPMessage.getIntProperty method 
> simply tries to cast the property to Integer and does not perform the same 
> conversion as done by 
> [getObjectProperty|https://github.com/apache/activemq-artemis/blob/master/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java#L1030].
>  Same is true for AMQPMessage.getLongProperty.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-2614) Create queues for AMQP clients based on FQQN

2024-04-11 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-2614.

Resolution: Won't Fix

Based on the discussion in the linked Github pull request it was decided that 
this is not something that should be added and so I am closing this issue

> Create queues for AMQP clients based on FQQN
> 
>
> Key: ARTEMIS-2614
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2614
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>  Components: AMQP
>Reporter: Krzysztof Porębski
>Priority: Major
>  Time Spent: 11h 40m
>  Remaining Estimate: 0h
>
> As a follow up to the discussion on the mailing list I would like to suggest 
> a new feature regarding FQQN implementation for AMQP protocol - creating 
> queues.
> Currently there is no way of attaching to a queue using FQQN if the queue is 
> not configured upfront. It should be changed so it would be possible to 
> create queue via FQQN and a subset of the following capabilities:
> - shared
> - topic
> - queue



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-2113) When AMQP links are opened and closed in quick succession, Artemis doesn’t always respond with attach/detach frames confirming the opening/closing of the links

2024-04-11 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-2113.

Resolution: Information Provided

This is a limitation of the proton-j protocol engine that cannot process 
pipelined Open, Begin, Attach and Detach framings due to the temporal squashing 
being done.  The broker has not part at that level and can't intervene.  A 
workaround is to await the initial attach response before sending the detach to 
ensure the broker has a chance to process the data without pipelining. 

> When AMQP links are opened and closed in quick succession, Artemis doesn’t 
> always respond with attach/detach frames confirming the opening/closing of 
> the links
> ---
>
> Key: ARTEMIS-2113
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2113
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.6.3
> Environment: This test was done in .NET using the Amqp.Net Lite 
> library 2.1.4 (which is the latest version).
>Reporter: Simon Chalmers
>Priority: Major
> Attachments: ArtemisTest.zip, artemis-2.6.3.log, artemis-2.7.0.log, 
> dotnet-artemis-2.6.3.txt, dotnet-artemis-2.7.0.txt
>
>
> A trace of a message exchange with Artemis where this has occurred is below. 
> The lines highlighted in yellow show opening and then closing two AMQP links, 
> but Artemis doesn’t respond after that with its own attach/detach frames, 
> which acknowledge the opening/closing of those links. The lines highlighted 
> in green are heartbeat frames sent to Artemis, sent every 15 seconds, which 
> illustrates that one minute passed without receiving the attach/detach frames 
> from Artemis.
> SEND AMQP 3 1 0 0
> RECV sasl-mechanisms(sasl-server-mechanisms:[PLAIN,ANONYMOUS])
> SEND sasl-init(mechanism:PLAIN,initial-response:...,hostname:localhost)
> RECV sasl-outcome(code:0)
> SEND AMQP 0 1.0.0
> SEND (ch=0) 
> open(container-id:AMQPNetLite-43a6c9ad,host-name:localhost,max-frame-size:262144,channel-max:255,idle-time-out:2147483647)
> RECV AMQP 0 1 0 0
> SEND (ch=0) 
> begin(next-outgoing-id:4294967293,incoming-window:2048,outgoing-window:2048,handle-max:63)
> RECV (ch=0) 
> open(container-id:0.0.0.0,max-frame-size:131072,channel-max:65535,idle-time-out:3,offered-capabilities:[sole-connection-for-container,DELAYED_DELIVERY,SHARED-SUBS,ANONYMOUS-RELAY],properties:[product:apache-activemq-artemis,version:2.6.3])
> {color:#f6c342}SEND (ch=0) 
> attach(name:link1,handle:0,role:False,source:source(),target:target(address:q1),initial-delivery-count:0)
> SEND (ch=0) detach(handle:0,closed:True)
> SEND (ch=0) 
> attach(name:link0,handle:1,role:False,source:source(),target:target(address:q0),initial-delivery-count:0)
> SEND (ch=0) detach(handle:1,closed:True){color}
> RECV (ch=0) 
> begin(remote-channel:0,next-outgoing-id:1,incoming-window:2147483647,outgoing-window:2147483647,handle-max:65535)
> {color:#14892c}SEND (ch=0) empty
> SEND (ch=0) empty
> SEND (ch=0) empty
> SEND (ch=0) empty{color}
> Note that this doesn’t always happen. Sometimes Artemis does respond, as 
> shown by the lines highlighted in bold/grey in the trace below.
> SEND AMQP 3 1 0 0
> RECV sasl-mechanisms(sasl-server-mechanisms:[PLAIN,ANONYMOUS])
> SEND sasl-init(mechanism:PLAIN,initial-response:...,hostname:localhost)
> RECV sasl-outcome(code:0)
> SEND AMQP 0 1.0.0
> SEND (ch=0) 
> open(container-id:AMQPNetLite-b00e0be7,host-name:localhost,max-frame-size:262144,channel-max:255,idle-time-out:2147483647)
> RECV AMQP 0 1 0 0
> RECV (ch=0) 
> open(container-id:0.0.0.0,max-frame-size:131072,channel-max:65535,idle-time-out:3,offered-capabilities:[sole-connection-for-container,DELAYED_DELIVERY,SHARED-SUBS,ANONYMOUS-RELAY],properties:[product:apache-activemq-artemis,version:2.6.3])
> SEND (ch=0) 
> begin(next-outgoing-id:4294967293,incoming-window:2048,outgoing-window:2048,handle-max:63)
> RECV (ch=0) 
> begin(remote-channel:0,next-outgoing-id:1,incoming-window:2147483647,outgoing-window:2147483647,handle-max:65535)
> {color:#f6c342}SEND (ch=0) 
> attach(name:link1,handle:0,role:False,source:source(),target:target(address:q1),initial-delivery-count:0)
> SEND (ch=0) detach(handle:0,closed:True)
> SEND (ch=0) 
> attach(name:link0,handle:1,role:False,source:source(),target:target(address:q0),initial-delivery-count:0)
> SEND (ch=0) detach(handle:1,closed:True){color}
> *{color:#707070}RECV (ch=0) 
> attach(name:link1,handle:0,role:True,snd-settle-mode:2,rcv-settle-mode:0,source:source(),target:target(address:q1)){color}*
> RECV (ch=0) 
> 

[jira] [Closed] (ARTEMIS-4307) AMQP Artemis "hangs" on single message delivery

2024-04-11 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-4307.

Resolution: Cannot Reproduce

This has likely been addressed by changes in ARTEMIS-4233 amongst other fixes 
since 2.28.0 and I would recommend updating to the latest release.  A 
reproducer would helpful if the problem still manifests with the latest release

> AMQP Artemis "hangs" on single message delivery
> ---
>
> Key: ARTEMIS-4307
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4307
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.28.0
>Reporter: daves
>Priority: Major
>
> My Setup:
> - Multiple clients ~500 send messages to a queue in Artemis using AMQP
> - A single application reads consumes the messages from the queue using AMQP
> At some point - I sadly don't know how to reproduce it - my consuming client 
> does not receive messages anymore.
> From the perspective of my client the call to receiving new messages 
> (AMQP.NET lite) just hands/waits for messages and never returns. Also, It 
> still looks like the connection is open and healthy.
> On the Artemis side I see two different pictures.
> - In the Broker console I can see a consumer from my client, and it tells me 
> that 1 Messages is in Transit. ...as if Artemis is waiting for an ACK for the 
> message.
> In the Artemis log is see this: 
> {noformat}
> 2023-06-09 15:11:37,934 WARN  
> [org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext] 
> Array must not be empty or null
> java.lang.IllegalArgumentException: Array must not be empty or null
>     at 
> org.apache.qpid.proton.codec.CompositeReadableBuffer.append(CompositeReadableBuffer.java:691)
>  ~[proton-j-0.34.0.jar:?]
>     at 
> org.apache.qpid.proton.engine.impl.DeliveryImpl.send(DeliveryImpl.java:345) 
> ~[proton-j-0.34.0.jar:?]
>     at org.apache.qpid.proton.engine.impl.SenderImpl.send(SenderImpl.java:74) 
> ~[proton-j-0.34.0.jar:?]
>     at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext$LargeMessageDeliveryContext.deliverInitialPacket(ProtonServerSenderContext.java:715)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]
>     at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext$LargeMessageDeliveryContext.deliver(ProtonServerSenderContext.java:622)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]
>     at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.deliverLarge(ProtonServerSenderContext.java:837)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]
>     at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.executeDelivery(ProtonServerSenderContext.java:567)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]
>     at 
> org.apache.activemq.artemis.core.paging.cursor.PagedReferenceImpl.run(PagedReferenceImpl.java:116)
>  ~[artemis-server-2.28.0.jar:2.28.0]
>     at 
> io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
>  ~[netty-common-4.1.86.Final.jar:4.1.86.Final]
>     at 
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
>  ~[netty-common-4.1.86.Final.jar:4.1.86.Final]
>     at 
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
>  ~[netty-common-4.1.86.Final.jar:4.1.86.Final]
>     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566) 
> ~[netty-transport-4.1.86.Final.jar:4.1.86.Final]
>     at 
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
>  ~[netty-common-4.1.86.Final.jar:4.1.86.Final]
>     at 
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 
> ~[netty-common-4.1.86.Final.jar:4.1.86.Final]
>     at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  ~[artemis-commons-2.28.0.jar:?]
> 2023-06-09 15:11:37,934 WARN  [org.apache.activemq.artemis.core.server] 
> AMQ222151: removing consumer which did not handle a message, 
> consumer=ServerConsumerImpl [id=3, filter=null, binding=LocalQueueBinding 
> [address=MyQName, queue=QueueImpl[name=MyQName, postOffice=PostOfficeImpl 
> [server=ActiveMQServerImpl::name=MyApp], temp=false]@776d381a, filter=null, 
> name=MyQName, clusterName=MyQName431ed7e1-05dd-11ee-ade9-f44d30e2ecf9]], 
> message=PagedReferenceImpl [message=PagedMessageImpl [queueIDs=[47], 
> transactionID=-1, page=25, message=AMQPLargeMessage( [durable=false, 
> messageID=12940183, address=MyQName, size=0, scanningStatus=SCANNED, 
> applicationProperties={atmid=CHE8128, 
> content-type=application/x-protobuf, content-version=2.0, 
> 

[jira] [Closed] (ARTEMIS-2059) NettyWritable should use UTF-8 exact length to encode strings

2024-04-11 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-2059.

Resolution: Not A Problem

Closing this as the discussion seems to have concluded there was no broker side 
issue here and no further work as been done here.

> NettyWritable should use UTF-8 exact length to encode strings
> -
>
> Key: ARTEMIS-2059
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2059
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> NettyWritable.put(String) tries to enlarge the buffer used to write a UTF-8 
> string until ByteBufUtil.utf8MaxBytes.
> That means that it will fail or will enlarge any ByteBuf that is perfectly 
> sized to contain the encoded string.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-889) dispositions sent after link is detached with close=false and no error are ignored

2024-04-11 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17836202#comment-17836202
 ] 

Timothy A. Bish commented on ARTEMIS-889:
-

It's quite likely it behaves exactly as it did before as the proton-j bits 
haven't really changed since then

> dispositions sent after link is detached with close=false and no error are 
> ignored
> --
>
> Key: ARTEMIS-889
> URL: https://issues.apache.org/jira/browse/ARTEMIS-889
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 1.5.1
>Reporter: Gordon Sim
>Priority: Major
>
> See 
> https://issues.apache.org/jira/browse/DISPATCH-595?focusedCommentId=15745826=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15745826



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4720) Add additional example for AMQP federation showing TLS configuration

2024-04-10 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4720:


 Summary: Add additional example for AMQP federation showing TLS 
configuration
 Key: ARTEMIS-4720
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4720
 Project: ActiveMQ Artemis
  Issue Type: Task
  Components: ActiveMQ-Artemis-Examples, AMQP
Affects Versions: 2.33.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.34.0


Add a new example in the AMQP Federation examples showing how to configure the 
broker connections to use TLS to connect to the remote.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-209) [AMQP] Broker sends frames after SASL failure

2024-04-10 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17835785#comment-17835785
 ] 

Timothy A. Bish commented on ARTEMIS-209:
-

About the same place as before, proton-j still does this but I don't see it 
being changed.  There is protonj2 now but there is no effort to replace the 
existing protocol head so the issue continues to exist in the broker as before. 

> [AMQP] Broker sends frames after SASL failure
> -
>
> Key: ARTEMIS-209
> URL: https://issues.apache.org/jira/browse/ARTEMIS-209
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: AMQP
>Affects Versions: 1.0.0
> Environment: SASL negotiation over AMQP
>Reporter: Charles E. Rolke
>Assignee: Timothy A. Bish
>Priority: Major
>
> The client sends bogus credentials to the Artemis server. The server 
> correctly fails with sasl.outcome code: auth(1). So far so good. Then the 
> server sends an AMQP protocol negotiation frame as if everything was OK.
> After failing SASL the server should close the connection.
> Trace file: 
> https://people.apache.org/~chug/artemis/20150821-1/artemis-sasl-fail-but-sends-amqp-header.html
> From the trace:
> {noformat}
> 10.10.1.1:1340  -> 10.10.10.254:5672  ->   init SASL (3): (1.0.0)
> 10.10.1.1:1340  -> 10.10.10.254:5672  ->   method sasl.init
> 10.10.1.1:1340 <-  10.10.10.254:5672 <-init SASL (3): (1.0.0), method 
> sasl.mechanisms, method sasl.outcome
> 10.10.1.1:1340 <-  10.10.10.254:5672 <-init AMQP (0): (1.0.0)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (ARTEMIS-4666) Federated queue consumers do not receive messages on classic clients

2024-04-05 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4666.
--
Resolution: Fixed

> Federated queue consumers do not receive messages on classic clients
> 
>
> Key: ARTEMIS-4666
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4666
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Federation
>Affects Versions: 2.32.0
>Reporter: Josh Byster
>Assignee: Timothy A. Bish
>Priority: Major
> Fix For: 2.34.0
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Federated queues with A upstream and downstream to B do not seem to work as 
> expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
> in my example, but also verified the issue is present with v5.18.3 and 
> v6.0.1). With Artemis JMS as the client, it seems to work as expected.
> When running a producer on A and a consumer on B with the classic 
> org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
> consume any messages that the producer sends. When B is restarted, it then 
> consumes the messages.
> This works properly with ActiveMQ Artemis 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've 
> created a minimal reproducible example 
> [here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master].
>  Running server1 and server2 and then first starting up the Consumer then 
> running the Producer class, we can see that no messages are logged in console 
> by the consumer. When you restart the consumer, the messages are consumed. 
> This is an issue whether you attach a MessageListener or you call receive() 
> directly. If you switch the ActiveMQConnectionFactory implementation to 
> Artemis, it works as expected.
> I don't think this necessarily warrants a fix if it's an issue specifically 
> with the classic client, since the solution is just to upgrade clients to 
> Artemis. However, if it is something that can be patched on the server, that 
> would be great. I do, however, think it would be good to note this down in 
> the docs that it's not supported with classic clients, since I spent a while 
> debugging it. However, most other features do work as expected with the 
> clients running the classic version, which is much appreciated as it makes 
> migration significantly easier.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4666) Federated queue consumers do not receive messages on classic clients

2024-04-05 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4666:
-
Fix Version/s: 2.34.0

> Federated queue consumers do not receive messages on classic clients
> 
>
> Key: ARTEMIS-4666
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4666
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Federation
>Affects Versions: 2.32.0
>Reporter: Josh Byster
>Assignee: Timothy A. Bish
>Priority: Major
> Fix For: 2.34.0
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Federated queues with A upstream and downstream to B do not seem to work as 
> expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
> in my example, but also verified the issue is present with v5.18.3 and 
> v6.0.1). With Artemis JMS as the client, it seems to work as expected.
> When running a producer on A and a consumer on B with the classic 
> org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
> consume any messages that the producer sends. When B is restarted, it then 
> consumes the messages.
> This works properly with ActiveMQ Artemis 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've 
> created a minimal reproducible example 
> [here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master].
>  Running server1 and server2 and then first starting up the Consumer then 
> running the Producer class, we can see that no messages are logged in console 
> by the consumer. When you restart the consumer, the messages are consumed. 
> This is an issue whether you attach a MessageListener or you call receive() 
> directly. If you switch the ActiveMQConnectionFactory implementation to 
> Artemis, it works as expected.
> I don't think this necessarily warrants a fix if it's an issue specifically 
> with the classic client, since the solution is just to upgrade clients to 
> Artemis. However, if it is something that can be patched on the server, that 
> would be great. I do, however, think it would be good to note this down in 
> the docs that it's not supported with classic clients, since I spent a while 
> debugging it. However, most other features do work as expected with the 
> clients running the classic version, which is much appreciated as it makes 
> migration significantly easier.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4666) Federated queue consumers do not receive messages on classic clients

2024-04-05 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17834374#comment-17834374
 ] 

Timothy A. Bish commented on ARTEMIS-4666:
--

I took some time to track this down and it comes down to a bug in the XML 
parsing that is not correctly configuring the Queue match policy and when an 
Openwire client connects there are false positive matches on the advisory 
destinations that come into existence which can't be auto created on the remote 
and the federation connection breaks.  You could work around the issue by 
setting the address match in your configuration to a specific Queue name you 
want to federate instead of a wildcard. 

> Federated queue consumers do not receive messages on classic clients
> 
>
> Key: ARTEMIS-4666
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4666
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Federation
>Affects Versions: 2.32.0
>Reporter: Josh Byster
>Assignee: Timothy A. Bish
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Federated queues with A upstream and downstream to B do not seem to work as 
> expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
> in my example, but also verified the issue is present with v5.18.3 and 
> v6.0.1). With Artemis JMS as the client, it seems to work as expected.
> When running a producer on A and a consumer on B with the classic 
> org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
> consume any messages that the producer sends. When B is restarted, it then 
> consumes the messages.
> This works properly with ActiveMQ Artemis 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've 
> created a minimal reproducible example 
> [here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master].
>  Running server1 and server2 and then first starting up the Consumer then 
> running the Producer class, we can see that no messages are logged in console 
> by the consumer. When you restart the consumer, the messages are consumed. 
> This is an issue whether you attach a MessageListener or you call receive() 
> directly. If you switch the ActiveMQConnectionFactory implementation to 
> Artemis, it works as expected.
> I don't think this necessarily warrants a fix if it's an issue specifically 
> with the classic client, since the solution is just to upgrade clients to 
> Artemis. However, if it is something that can be patched on the server, that 
> would be great. I do, however, think it would be good to note this down in 
> the docs that it's not supported with classic clients, since I spent a while 
> debugging it. However, most other features do work as expected with the 
> clients running the classic version, which is much appreciated as it makes 
> migration significantly easier.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (ARTEMIS-4666) Federated queue consumers do not receive messages on classic clients

2024-04-05 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish reassigned ARTEMIS-4666:


Assignee: Timothy A. Bish

> Federated queue consumers do not receive messages on classic clients
> 
>
> Key: ARTEMIS-4666
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4666
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Federation
>Affects Versions: 2.32.0
>Reporter: Josh Byster
>Assignee: Timothy A. Bish
>Priority: Major
>
> Federated queues with A upstream and downstream to B do not seem to work as 
> expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
> in my example, but also verified the issue is present with v5.18.3 and 
> v6.0.1). With Artemis JMS as the client, it seems to work as expected.
> When running a producer on A and a consumer on B with the classic 
> org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
> consume any messages that the producer sends. When B is restarted, it then 
> consumes the messages.
> This works properly with ActiveMQ Artemis 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've 
> created a minimal reproducible example 
> [here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master].
>  Running server1 and server2 and then first starting up the Consumer then 
> running the Producer class, we can see that no messages are logged in console 
> by the consumer. When you restart the consumer, the messages are consumed. 
> This is an issue whether you attach a MessageListener or you call receive() 
> directly. If you switch the ActiveMQConnectionFactory implementation to 
> Artemis, it works as expected.
> I don't think this necessarily warrants a fix if it's an issue specifically 
> with the classic client, since the solution is just to upgrade clients to 
> Artemis. However, if it is something that can be patched on the server, that 
> would be great. I do, however, think it would be good to note this down in 
> the docs that it's not supported with classic clients, since I spent a while 
> debugging it. However, most other features do work as expected with the 
> clients running the classic version, which is much appreciated as it makes 
> migration significantly easier.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (ARTEMIS-3262) Cannot get max-hops >= 2 federation to work

2024-03-28 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-3262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-3262.
--
Resolution: Information Provided

> Cannot get max-hops >= 2 federation to work
> ---
>
> Key: ARTEMIS-3262
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3262
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Federation
>Affects Versions: 2.17.0, 2.20.0
> Environment: Artemis 2.17.0 on 3 Linux machines
> Dragonwell OpenJDK 11.0.10
>Reporter: Zhang Xiang
>Priority: Major
>  Labels: ActiveMQ, federation
>
> I want to construct a 3-level MQTT message forwarding system:
> A → B → C
> Once a message publish under the topic "from-A" to A, all clients subscribing 
> "from-A" on B and C should receive that message.
> Here is the config of B:
>  
> {code:xml}
> 
> tcp://192.168.1.200:61616
> 
> 
> 
> 
> true
> 
> connector-A
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> And here is the config of C:
>  
>  
> {code:xml}
> 
> tcp://192.168.1.100:61616
> 
> 
> 
> 
> 
> connector-C
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> The problem is that even I've set max-hops to 2, the message cannot be 
> forwarded for more than 1 time.
>  
>  * If I published a "from-A" message to B, all clients subscribing "from-A" 
> on C could receive the message.
>  * If I published a "from-A" message to A, all clients subscribing "from-A" 
> on B could receive the message, but clients on C wouldn't!
> The example config files provided by the software packages do not cover this 
> kind of situations, nor do the documentation.
> Please tell me if it is a bug and if not, what should I do.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-3262) Cannot get max-hops >= 2 federation to work

2024-03-28 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-3262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17831977#comment-17831977
 ] 

Timothy A. Bish commented on ARTEMIS-3262:
--

This is a configuration issue, the max-hops value isn't actually needed in this 
scenario as there is no loop of federated brokers that could cause cycling.  If 
you wanted to add max hops to this setup you should set the value to two on 
both brokers or set as the message is getting stopped right now from moving to 
C from B when published on A is because the configuration on C says only one 
hop is allowed and the message already hopped once from A to B. 

> Cannot get max-hops >= 2 federation to work
> ---
>
> Key: ARTEMIS-3262
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3262
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Federation
>Affects Versions: 2.17.0, 2.20.0
> Environment: Artemis 2.17.0 on 3 Linux machines
> Dragonwell OpenJDK 11.0.10
>Reporter: Zhang Xiang
>Priority: Major
>  Labels: ActiveMQ, federation
>
> I want to construct a 3-level MQTT message forwarding system:
> A → B → C
> Once a message publish under the topic "from-A" to A, all clients subscribing 
> "from-A" on B and C should receive that message.
> Here is the config of B:
>  
> {code:xml}
> 
> tcp://192.168.1.200:61616
> 
> 
> 
> 
> true
> 
> connector-A
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> And here is the config of C:
>  
>  
> {code:xml}
> 
> tcp://192.168.1.100:61616
> 
> 
> 
> 
> 
> connector-C
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> {code}
> The problem is that even I've set max-hops to 2, the message cannot be 
> forwarded for more than 1 time.
>  
>  * If I published a "from-A" message to B, all clients subscribing "from-A" 
> on C could receive the message.
>  * If I published a "from-A" message to A, all clients subscribing "from-A" 
> on B could receive the message, but clients on C wouldn't!
> The example config files provided by the software packages do not cover this 
> kind of situations, nor do the documentation.
> Please tell me if it is a bug and if not, what should I do.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4703) Add additional Queue federation example for AMQP federation

2024-03-28 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4703:
-
Affects Version/s: 2.33.0
   (was: 2.34.0)

> Add additional Queue federation example for AMQP federation
> ---
>
> Key: ARTEMIS-4703
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4703
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 2.33.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Trivial
> Fix For: 2.33.0
>
>
> Add an additional Queue federation example showing how to federate queue 
> messages through an intermediary broker.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4703) Add additional Queue federation example for AMQP federation

2024-03-28 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4703:
-
Fix Version/s: 2.34.0
   (was: 2.33.0)

> Add additional Queue federation example for AMQP federation
> ---
>
> Key: ARTEMIS-4703
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4703
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 2.33.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Trivial
> Fix For: 2.34.0
>
>
> Add an additional Queue federation example showing how to federate queue 
> messages through an intermediary broker.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4703) Add additional Queue federation example for AMQP federation

2024-03-28 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4703:


 Summary: Add additional Queue federation example for AMQP 
federation
 Key: ARTEMIS-4703
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4703
 Project: ActiveMQ Artemis
  Issue Type: Task
  Components: AMQP
Affects Versions: 2.34.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.33.0


Add an additional Queue federation example showing how to federate queue 
messages through an intermediary broker.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-4660) BAD_COPY_PASTE in VersionedStompFrameHandler.java

2024-03-22 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-4660.

Resolution: Duplicate

> BAD_COPY_PASTE in VersionedStompFrameHandler.java
> -
>
> Key: ARTEMIS-4660
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4660
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: ActiveMQ-Artemis-Native
>Affects Versions: 2.32.0
>Reporter: Andrey Slepykh
>Assignee: Clebert Suconic
>Priority: Minor
>  Labels: easyfix, pull-request-available
>
> PR: 
> [https://github.com/apache/activemq-artemis/pull/4835/commits/b893c6c4d35b42ee2364144c8850bd104caf6fe7]
> In 1st branch (line 274) of the {{if()}} statement, the 
> {{Boolean.parseBoolean()}} method accepts the value 
> {{{}frame.getHeader(Stomp.Headers.Subscribe.NO_LOCAL){}}}, which is used in 
> line 273.
> In 2nd branch (line 276), the {{Boolean.parseBoolean()}} method accepts the 
> value {{{}frame.getHeader(Stomp.Headers.Subscribe.NO_LOCAL){}}}, although the 
> other value {{frame.hasHeader(Stomp.Headers.Subscribe.ACTIVEMQ_NO_LOCAL)}} is 
> used.
> Found by Linux Verification Center (portal.linuxtesting.ru) with SVACE.
> Author A. Slepykh.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-4661) DLS_DEAD_LOCAL_STORE in AMQPLargeMessage.java

2024-03-22 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4661?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-4661.

Resolution: Duplicate

> DLS_DEAD_LOCAL_STORE in AMQPLargeMessage.java
> -
>
> Key: ARTEMIS-4661
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4661
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: ActiveMQ-Artemis-Native
>Affects Versions: 2.32.0
>Reporter: Andrey Slepykh
>Assignee: Clebert Suconic
>Priority: Minor
>  Labels: easy-fix, pull-request-available
>
> PR: 
> [https://github.com/apache/activemq-artemis/pull/4835/commits/dafef6784743b1ecdf085a19e65efb41224d26c4]
> The local variable constructorPos is initialized with the value of 
> buffer.position() in line 330, but the variable itself is not used anywhere 
> else, which may indicate an error.
> Found by Linux Verification Center (portal.linuxtesting.ru) with SVACE.
> Author A. Slepykh.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-4662) BAD_COPY_PASTE in ActiveMQScheduledLeaseLock.java

2024-03-22 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-4662.

Resolution: Duplicate

> BAD_COPY_PASTE in ActiveMQScheduledLeaseLock.java
> -
>
> Key: ARTEMIS-4662
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4662
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: ActiveMQ-Artemis-Native
>Affects Versions: 2.32.0
>Reporter: Andrey Slepykh
>Assignee: Clebert Suconic
>Priority: Minor
>  Labels: easy-fix, pull-request-available
>
> PR: 
> [https://github.com/apache/activemq-artemis/pull/4835/commits/b893c6c4d35b42ee2364144c8850bd104caf6fe7]
> In the detectAndReportRenewSlowness() method, the logger.error() and 
> logger.warn() methods are called 3 times.
> In two of the three calls, the method arguments correspond to parameters that 
> are tested in the if() conditional construct.
> Also, the arguments of the logger.error() and logger.warn() methods are 
> identical in lines 139 and 141, respectively, which may indicate that they 
> were copied incorrectly.
> Found by Linux Verification Center (portal.linuxtesting.ru) with SVACE.
> Author A. Slepykh.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4683) Add additional examples for AMQP federation

2024-03-12 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4683:


 Summary: Add additional examples for AMQP federation
 Key: ARTEMIS-4683
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4683
 Project: ActiveMQ Artemis
  Issue Type: Task
  Components: AMQP
Affects Versions: 2.32.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.33.0


Add additional examples to the features examples demonstrating various 
configurations for AMQP federation so setup common typologies or use cases such 
as multicast fanout or queue federation priority settings.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4666) Federated queue consumers do not receive messages on classic clients

2024-03-05 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17823693#comment-17823693
 ] 

Timothy A. Bish commented on ARTEMIS-4666:
--

Likely then there is some interplay in core federation and openwire clients 
that is not accounted for.  I would suggest having a look at the new AMQP 
federation over [AMQP broker 
connections|https://activemq.apache.org/components/artemis/documentation/latest/amqp-broker-connections.html#federation]
 although you might need to wait for the next release for the latest round of 
fixes there as well. 

The other option is to create an integration test that demonstrates the issue 
to try and help getting someone to look into it.

> Federated queue consumers do not receive messages on classic clients
> 
>
> Key: ARTEMIS-4666
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4666
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Federation
>Affects Versions: 2.32.0
>Reporter: Josh Byster
>Priority: Major
>
> Federated queues with A upstream and downstream to B do not seem to work as 
> expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
> in my example, but also verified the issue is present with v5.18.3 and 
> v6.0.1). With Artemis JMS as the client, it seems to work as expected.
> When running a producer on A and a consumer on B with the classic 
> org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
> consume any messages that the producer sends. When B is restarted, it then 
> consumes the messages.
> This works properly with ActiveMQ Artemis 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've 
> created a minimal reproducible example 
> [here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master].
>  Running server1 and server2 and then first starting up the Consumer then 
> running the Producer class, we can see that no messages are logged in console 
> by the consumer. When you restart the consumer, the messages are consumed. 
> This is an issue whether you attach a MessageListener or you call receive() 
> directly. If you switch the ActiveMQConnectionFactory implementation to 
> Artemis, it works as expected.
> I don't think this necessarily warrants a fix if it's an issue specifically 
> with the classic client, since the solution is just to upgrade clients to 
> Artemis. However, if it is something that can be patched on the server, that 
> would be great. I do, however, think it would be good to note this down in 
> the docs that it's not supported with classic clients, since I spent a while 
> debugging it. However, most other features do work as expected with the 
> clients running the classic version, which is much appreciated as it makes 
> migration significantly easier.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4666) Federated queue consumers do not receive messages on classic clients

2024-03-04 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17823348#comment-17823348
 ] 

Timothy A. Bish commented on ARTEMIS-4666:
--

Looks like you only defined the Queue on server 1 and not on server 2, I'd 
define it on both.

> Federated queue consumers do not receive messages on classic clients
> 
>
> Key: ARTEMIS-4666
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4666
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Federation
>Affects Versions: 2.32.0
>Reporter: Josh Byster
>Priority: Major
>
> Federated queues with A upstream and downstream to B do not seem to work as 
> expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
> in my example, but also verified the issue is present with v5.18.3 and 
> v6.0.1). With Artemis JMS as the client, it seems to work as expected.
> When running a producer on A and a consumer on B with the classic 
> org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
> consume any messages that the producer sends. When B is restarted, it then 
> consumes the messages.
> This works properly with ActiveMQ Artemis 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've 
> created a minimal reproducible example 
> [here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master].
>  Running server1 and server2 and then first starting up the Consumer then 
> running the Producer class, we can see that no messages are logged in console 
> by the consumer. When you restart the consumer, the messages are consumed. 
> This is an issue whether you attach a MessageListener or you call receive() 
> directly. If you switch the ActiveMQConnectionFactory implementation to 
> Artemis, it works as expected.
> I don't think this necessarily warrants a fix if it's an issue specifically 
> with the classic client, since the solution is just to upgrade clients to 
> Artemis. However, if it is something that can be patched on the server, that 
> would be great. I do, however, think it would be good to note this down in 
> the docs that it's not supported with classic clients, since I spent a while 
> debugging it. However, most other features do work as expected with the 
> clients running the classic version, which is much appreciated as it makes 
> migration significantly easier.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4666) Federated queue consumers do not receive messages on classic clients

2024-03-04 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17823315#comment-17823315
 ] 

Timothy A. Bish commented on ARTEMIS-4666:
--

I don't think the broker test suite does any checks for Openwire specifically 
when using the Core federation bits.

Looking at the test sample you have supplied in Github I notice that you do not 
statically define the Queues in the broker configuration and I know from 
looking at the federation code that it is not always going to cope with that as 
one might think.  I'd recommend trying your tests after having defined the 
address and queues your sample is going to use and see if that allows it to 
pass.

> Federated queue consumers do not receive messages on classic clients
> 
>
> Key: ARTEMIS-4666
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4666
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Federation
>Affects Versions: 2.32.0
>Reporter: Josh Byster
>Priority: Major
>
> Federated queues with A upstream and downstream to B do not seem to work as 
> expected when the client JMS implementation is ActiveMQ Classic v5.16.2 (used 
> in my example, but also verified the issue is present with v5.18.3 and 
> v6.0.1). With Artemis JMS as the client, it seems to work as expected.
> When running a producer on A and a consumer on B with the classic 
> org.apache.activemq.ActiveMQConnectionFactory, the consumer on B does not 
> consume any messages that the producer sends. When B is restarted, it then 
> consumes the messages.
> This works properly with ActiveMQ Artemis 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory. I've 
> created a minimal reproducible example 
> [here|https://github.com/josh-byster/artemis-classic-consumer-bug/tree/master].
>  Running server1 and server2 and then first starting up the Consumer then 
> running the Producer class, we can see that no messages are logged in console 
> by the consumer. When you restart the consumer, the messages are consumed. 
> This is an issue whether you attach a MessageListener or you call receive() 
> directly. If you switch the ActiveMQConnectionFactory implementation to 
> Artemis, it works as expected.
> I don't think this necessarily warrants a fix if it's an issue specifically 
> with the classic client, since the solution is just to upgrade clients to 
> Artemis. However, if it is something that can be patched on the server, that 
> would be great. I do, however, think it would be good to note this down in 
> the docs that it's not supported with classic clients, since I spent a while 
> debugging it. However, most other features do work as expected with the 
> clients running the classic version, which is much appreciated as it makes 
> migration significantly easier.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (ARTEMIS-4665) Fix intermittent failures in a few AMQP federation tests

2024-03-01 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4665.
--
Resolution: Fixed

> Fix intermittent failures in a few AMQP federation tests
> 
>
> Key: ARTEMIS-4665
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4665
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 2.32.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.33.0
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> Add some additional state checks in the server to server test for AMQP 
> federation ensure an address send isn't discarded before the remote receiver 
> has attached which is causing some intermittent test failures, also add some 
> other state checks to ensure test prerequisites are in place.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4665) Fix intermittent failures in a few AMQP federation tests

2024-03-01 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4665:
-
Description: Add some additional state checks in the server to server test 
for AMQP federation ensure an address send isn't discarded before the remote 
receiver has attached which is causing some intermittent test failures, also 
add some other state checks to ensure test prerequisites are in place.  (was: 
Add some additional state checks in the server to server test for AMQP 
federation ensure an address send isn't discard before the remote receiver has 
attached which is causing some intermittent test failures)

> Fix intermittent failures in a few AMQP federation tests
> 
>
> Key: ARTEMIS-4665
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4665
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 2.32.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.33.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Add some additional state checks in the server to server test for AMQP 
> federation ensure an address send isn't discarded before the remote receiver 
> has attached which is causing some intermittent test failures, also add some 
> other state checks to ensure test prerequisites are in place.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4665) Fix intermittent failures in a few AMQP federation tests

2024-03-01 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4665:
-
Summary: Fix intermittent failures in a few AMQP federation tests  (was: 
Fix intermittent failures in a few AMQP federation address tests)

> Fix intermittent failures in a few AMQP federation tests
> 
>
> Key: ARTEMIS-4665
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4665
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 2.32.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.33.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Add some additional state checks in the server to server test for AMQP 
> federation ensure an address send isn't discard before the remote receiver 
> has attached which is causing some intermittent test failures



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Reopened] (ARTEMIS-4665) Fix intermittent failures in a few AMQP federation address tests

2024-03-01 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish reopened ARTEMIS-4665:
--

> Fix intermittent failures in a few AMQP federation address tests
> 
>
> Key: ARTEMIS-4665
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4665
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 2.32.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.33.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Add some additional state checks in the server to server test for AMQP 
> federation ensure an address send isn't discard before the remote receiver 
> has attached which is causing some intermittent test failures



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (ARTEMIS-4665) Fix intermittent failures in a few AMQP federation address tests

2024-02-29 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4665.
--
Resolution: Fixed

> Fix intermittent failures in a few AMQP federation address tests
> 
>
> Key: ARTEMIS-4665
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4665
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 2.32.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.33.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Add some additional state checks in the server to server test for AMQP 
> federation ensure an address send isn't discard before the remote receiver 
> has attached which is causing some intermittent test failures



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4665) Fix intermittent failures in a few AMQP federation address tests

2024-02-29 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4665:


 Summary: Fix intermittent failures in a few AMQP federation 
address tests
 Key: ARTEMIS-4665
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4665
 Project: ActiveMQ Artemis
  Issue Type: Task
  Components: AMQP
Affects Versions: 2.32.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.33.0


Add some additional state checks in the server to server test for AMQP 
federation ensure an address send isn't discard before the remote receiver has 
attached which is causing some intermittent test failures



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4658) AMQP Federation should prevent reflection of multicast messages between nodes

2024-02-27 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4658:


 Summary: AMQP Federation should prevent reflection of multicast 
messages between nodes
 Key: ARTEMIS-4658
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4658
 Project: ActiveMQ Artemis
  Issue Type: Improvement
  Components: AMQP
Affects Versions: 2.32.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.33.0


When using a topology where brokers are dual federating messages for addresses 
the federation producers and consumers should prevent reflection between the 
two nodes.  This allows for more complex configuration where the max hops value 
is insufficient to prevent duplicates and cases of infinite reflection if the 
user forgets to configure max hops. 

Such a case would be a hub and spoke type setup where the producers and 
consumers are on each of the spokes and the hub is the way point, here the max 
hops needs to be set to '2' but this allows for a reflection from the hub back 
to the sending spoke. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (ARTEMIS-4645) Update AMQP broker connection tests to use better connector names

2024-02-21 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4645.
--
Resolution: Fixed

> Update AMQP broker connection tests to use better connector names
> -
>
> Key: ARTEMIS-4645
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4645
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 2.32.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.33.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Update various AMQP broker connection tests to use more unique names for 
> broker connections and policies to provide more details in logs of the 
> various tests that make them identifiable



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4653) AMQP Federation should apply queue consumer filters for demand

2024-02-20 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4653:


 Summary: AMQP Federation should apply queue consumer filters for 
demand
 Key: ARTEMIS-4653
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4653
 Project: ActiveMQ Artemis
  Issue Type: Improvement
  Components: AMQP
Affects Versions: 2.32.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.33.0


For Queue federation the federation consumers should apply a consumer defined 
filter over the Queue defined filter to avoid pulling message across the link 
that won't be deliverable.  Add options for disabling this and also disabling 
per consumer consumer priority tracking to allow for reduction of federation 
links when desired.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4645) Update AMQP broker connection tests to use better connector names

2024-02-15 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4645:


 Summary: Update AMQP broker connection tests to use better 
connector names
 Key: ARTEMIS-4645
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4645
 Project: ActiveMQ Artemis
  Issue Type: Task
  Components: AMQP
Affects Versions: 2.32.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.33.0


Update various AMQP broker connection tests to use more unique names for broker 
connections and policies to provide more details in logs of the various tests 
that make them identifiable



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4642) AMQP Federation demand tracking can under count demand in some narrow cases

2024-02-13 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4642:


 Summary: AMQP Federation demand tracking can under count demand in 
some narrow cases
 Key: ARTEMIS-4642
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4642
 Project: ActiveMQ Artemis
  Issue Type: Bug
  Components: AMQP
Affects Versions: 2.32.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.33.0


In some narrow cases the AMQP federation demand tracking can under count the 
demand on an address or queue and should track more closely the current demand 
regardless of a federation link being active. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4641) Allow AMQP federation to recover from missing or removed resources

2024-02-09 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4641:


 Summary: Allow AMQP federation to recover from missing or removed 
resources
 Key: ARTEMIS-4641
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4641
 Project: ActiveMQ Artemis
  Issue Type: Improvement
  Components: AMQP
Affects Versions: 2.32.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.33.0


When an AMQP federation instance attempts to federate an address or queue it 
can fail if the remote address or queue is not present or cannot be created 
based on broker policy.  A federation link can also closed if the federated 
resource is removed from the remote broker by management etc.  In those cases 
the remote broker should note the resources that were targets of federation and 
send alerts to the source federation broker to notify it that these resources 
become available for federation and the source should attempt again to create 
federation links if demand still exists.  This allows an AMQP federation 
instance to heal itself based on updates from the remote.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (ARTEMIS-4626) AMQP Federation demand tracking can overcount demand

2024-02-01 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4626.
--
Resolution: Fixed

> AMQP Federation demand tracking can overcount demand
> 
>
> Key: ARTEMIS-4626
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4626
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.32.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Major
> Fix For: 2.33.0
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> The demand tracking for Address bindings and Queue consumers that controls 
> when a federation consumer is created and destroyed can race on start of 
> federation with consumers or bindings being added and removed and over count 
> the demand leading to the federation consumers not being shutdown when demand 
> on the local broker drops to zero.  A better mechanism of tracking needs to 
> be added to make demand tracking idempotent for additions and removals of 
> local demand and the startup demand checks



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4626) AMQP Federation demand tracking can overcount demand

2024-01-31 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4626:


 Summary: AMQP Federation demand tracking can overcount demand
 Key: ARTEMIS-4626
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4626
 Project: ActiveMQ Artemis
  Issue Type: Bug
  Components: AMQP
Affects Versions: 2.32.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.33.0


The demand tracking for Address bindings and Queue consumers that controls when 
a federation consumer is created and destroyed can race on start of federation 
with consumers or bindings being added and removed and over count the demand 
leading to the federation consumers not being shutdown when demand on the local 
broker drops to zero.  A better mechanism of tracking needs to be added to make 
demand tracking idempotent for additions and removals of local demand and the 
startup demand checks



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (ARTEMIS-4575) Don't start all previous consumers when new consumer added

2024-01-22 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4575.
--
Fix Version/s: 2.32.0
 Assignee: Timothy A. Bish
   Resolution: Fixed

> Don't start all previous consumers when new consumer added
> --
>
> Key: ARTEMIS-4575
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4575
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Affects Versions: 2.31.2
>Reporter: Josh Byster
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.32.0
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> I was running a benchmark to add many consumers, and I see that the marginal 
> cost of adding a new consumer increases due to a linear-time iteration 
> through all the existing consumers with OpenWire. It becomes very slow to add 
> a new consumer when there are already 100k+ on a session, for example. We 
> have thousands of topics and we see a huge performance slowdown due to this.
> More specifically, the stack trace:
> {code:java}
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:73)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
> org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:352)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processAddConsumer(OpenWireConnection.java:1280)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.addConsumer(OpenWireConnection.java:1001)
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.start(AMQSession.java:257)
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.start(ServerSessionImpl.java:1699)
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.setStarted(ServerSessionImpl.java:2166)
>    {code}
> {{Most of the time is spent in this method, starting consumers that have 
> previously been started:}}
> {code:java}
> private void setStarted(final boolean s) {
>Set consumersClone = new HashSet<>(consumers.values());
>for (ServerConsumer consumer : consumersClone) {
>   consumer.setStarted(s);
>}
>started = s;
> } {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4575) Don't start all previous consumers when new consumer added

2024-01-22 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4575:
-
Affects Version/s: 2.31.2

> Don't start all previous consumers when new consumer added
> --
>
> Key: ARTEMIS-4575
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4575
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Affects Versions: 2.31.2
>Reporter: Josh Byster
>Priority: Minor
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> I was running a benchmark to add many consumers, and I see that the marginal 
> cost of adding a new consumer increases due to a linear-time iteration 
> through all the existing consumers with OpenWire. It becomes very slow to add 
> a new consumer when there are already 100k+ on a session, for example. We 
> have thousands of topics and we see a huge performance slowdown due to this.
> More specifically, the stack trace:
> {code:java}
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:73)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
> org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:352)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processAddConsumer(OpenWireConnection.java:1280)
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.addConsumer(OpenWireConnection.java:1001)
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.start(AMQSession.java:257)
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.start(ServerSessionImpl.java:1699)
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.setStarted(ServerSessionImpl.java:2166)
>    {code}
> {{Most of the time is spent in this method, starting consumers that have 
> previously been started:}}
> {code:java}
> private void setStarted(final boolean s) {
>Set consumersClone = new HashSet<>(consumers.values());
>for (ServerConsumer consumer : consumersClone) {
>   consumer.setStarted(s);
>}
>started = s;
> } {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (ARTEMIS-4568) Support reloading AMQP broker federation configuration

2024-01-18 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4568.
--
Resolution: Fixed

> Support reloading AMQP broker federation configuration
> --
>
> Key: ARTEMIS-4568
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4568
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>  Components: AMQP, Configuration
>Affects Versions: 2.31.2
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.32.0
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Add support for reload of AMQP federation broker connection configuration 
> from XML and broker properties such that active federations are stopped and 
> updated with new configuration settings, and support add and remove of AMQP 
> federation broker connections.
> This change will explicitly not reload broker connections that contain Mirror 
> configuration as that is not supported and could lead to breakages of 
> mirroring.  Mirrors can be added if not present before but once added they 
> cannot be removed without a broker stop and restart. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4568) Support reloading AMQP broker federation configuration

2024-01-18 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4568:
-
Description: 
Add support for reload of AMQP federation broker connection configuration from 
XML and broker properties such that active federations are stopped and updated 
with new configuration settings, and support add and remove of AMQP federation 
broker connections.

This change will explicitly not reload broker connections that contain Mirror 
configuration as that is not supported and could lead to breakages of 
mirroring.  Mirrors can be added if not present before but once added they 
cannot be removed without a broker stop and restart. 

  was:Add support for reload of AMQP federation broker connection configuration 
from XML and broker properties such that active federations are stopped and 
updated with new configuration settings, and support add and remove of AMQP 
federation broker connections.


> Support reloading AMQP broker federation configuration
> --
>
> Key: ARTEMIS-4568
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4568
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>  Components: AMQP, Configuration
>Affects Versions: 2.31.2
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Minor
> Fix For: 2.32.0
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Add support for reload of AMQP federation broker connection configuration 
> from XML and broker properties such that active federations are stopped and 
> updated with new configuration settings, and support add and remove of AMQP 
> federation broker connections.
> This change will explicitly not reload broker connections that contain Mirror 
> configuration as that is not supported and could lead to breakages of 
> mirroring.  Mirrors can be added if not present before but once added they 
> cannot be removed without a broker stop and restart. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4568) Support reloading AMQP broker federation configuration

2024-01-16 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4568:


 Summary: Support reloading AMQP broker federation configuration
 Key: ARTEMIS-4568
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4568
 Project: ActiveMQ Artemis
  Issue Type: New Feature
  Components: AMQP, Configuration
Affects Versions: 2.31.2
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.32.0


Add support for reload of AMQP federation broker connection configuration from 
XML and broker properties such that active federations are stopped and updated 
with new configuration settings, and support add and remove of AMQP federation 
broker connections.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (OPENWIRE-71) Align OpenWire project major version to protocol major version (12.0.0)

2023-12-07 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/OPENWIRE-71?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17794373#comment-17794373
 ] 

Timothy A. Bish commented on OPENWIRE-71:
-

The comparison doesn't really hold up though between a project that carries a 
protocol level codec and the implementation of the command (and Message) 
objects that are used in the server vs a spec jar that carries only an API with 
no implementation.  Just use semantic versioning and leave yourself room to 
grow when things go sideways, which they always do. 

> Align OpenWire project major version to protocol major version (12.0.0)
> ---
>
> Key: OPENWIRE-71
> URL: https://issues.apache.org/jira/browse/OPENWIRE-71
> Project: ActiveMQ OpenWire
>  Issue Type: Improvement
>Reporter: Matt Pavlovich
>Assignee: Matt Pavlovich
>Priority: Major
>
> OpenWire v12 should be served by activemq-openwire-12.0.0.jar



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (OPENWIRE-71) Align OpenWire project major version to protocol major version (12.0.0)

2023-12-07 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/OPENWIRE-71?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17794327#comment-17794327
 ] 

Timothy A. Bish commented on OPENWIRE-71:
-

That doesn't make a ton of sense to me and in general typing release number to 
some ephemeral notion of what they imply generally leads to trouble.  Sort of 
reminds me of projects that tried to tie the version of the JDK that a given 
release used to its version.  Just used standard versioning so that the project 
can grow and change as needed and simply document what versions of Openwire are 
supported inside a given release.

> Align OpenWire project major version to protocol major version (12.0.0)
> ---
>
> Key: OPENWIRE-71
> URL: https://issues.apache.org/jira/browse/OPENWIRE-71
> Project: ActiveMQ OpenWire
>  Issue Type: Improvement
>Reporter: Matt Pavlovich
>Assignee: Matt Pavlovich
>Priority: Major
>
> OpenWire v12 should be served by activemq-openwire-12.0.0.jar



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (OPENWIRE-69) Sequence ID for openwire properties is not correct in some types

2023-12-06 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/OPENWIRE-69?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated OPENWIRE-69:

Description: PartialCommand and ProducerAck seem to have identical sequence 
ID values for the property annotations which should be fixed, and maybe checked 
by the annotation processor since no two properties should have the same 
sequence.  (was: PartialCommand and ProducerAck seem to have identical sequence 
ID values for the property annotations which should fixed, and maybe checked by 
the annotation processor since no two properties should have the same sequence.)

> Sequence ID for openwire properties is not correct in some types
> 
>
> Key: OPENWIRE-69
> URL: https://issues.apache.org/jira/browse/OPENWIRE-69
> Project: ActiveMQ OpenWire
>  Issue Type: Bug
>Reporter: Timothy A. Bish
>Assignee: Christopher L. Shannon
>Priority: Major
>
> PartialCommand and ProducerAck seem to have identical sequence ID values for 
> the property annotations which should be fixed, and maybe checked by the 
> annotation processor since no two properties should have the same sequence.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (OPENWIRE-69) Sequence ID for openwire properties is not correct in some types

2023-12-06 Thread Timothy A. Bish (Jira)
Timothy A. Bish created OPENWIRE-69:
---

 Summary: Sequence ID for openwire properties is not correct in 
some types
 Key: OPENWIRE-69
 URL: https://issues.apache.org/jira/browse/OPENWIRE-69
 Project: ActiveMQ OpenWire
  Issue Type: Bug
Reporter: Timothy A. Bish
Assignee: Christopher L. Shannon


PartialCommand and ProducerAck seem to have identical sequence ID values for 
the property annotations which should fixed, and maybe checked by the 
annotation processor since no two properties should have the same sequence.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4502) Allow core messages to cross AMQP broker connection links without conversion

2023-11-13 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4502:
-
Summary: Allow core messages to cross AMQP broker connection links without 
conversion  (was: Allow core message to cross AMQP broker connection links 
without conversion)

> Allow core messages to cross AMQP broker connection links without conversion
> 
>
> Key: ARTEMIS-4502
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4502
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>  Components: AMQP
>Affects Versions: 2.31.2
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Major
> Fix For: 2.32.0
>
>
> Currently when message cross AMQP broker connection links used for mirroring 
> or federation they must be converted from Core to AMQP and then eventually 
> back if sent to a core consumer.  This is worse for large messages as they 
> must be fully loaded into memory before converting to AMQP. 
> For AMQP Federation and broker mirroring we should use special encoding and 
> decoding to convey the core and core large messages across the wire without 
> conversion to avoid the overhead and caveats of that conversion. This 
> requires some not insignificant refactoring and use of custom message format 
> values to signal when an AMQP delivery is a core message so that the protocol 
> head can recreate the core message from the sent data.  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4502) Allow core message to cross AMQP broker connection links without conversion

2023-11-13 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4502:


 Summary: Allow core message to cross AMQP broker connection links 
without conversion
 Key: ARTEMIS-4502
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4502
 Project: ActiveMQ Artemis
  Issue Type: New Feature
  Components: AMQP
Affects Versions: 2.31.2
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.32.0


Currently when message cross AMQP broker connection links used for mirroring or 
federation they must be converted from Core to AMQP and then eventually back if 
sent to a core consumer.  This is worse for large messages as they must be 
fully loaded into memory before converting to AMQP. 

For AMQP Federation and broker mirroring we should use special encoding and 
decoding to convey the core and core large messages across the wire without 
conversion to avoid the overhead and caveats of that conversion. This requires 
some not insignificant refactoring and use of custom message format values to 
signal when an AMQP delivery is a core message so that the protocol head can 
recreate the core message from the sent data.  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4470) Headers loss in message sent from AMQP producer to AMQP consumer

2023-10-26 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17779919#comment-17779919
 ] 

Timothy A. Bish commented on ARTEMIS-4470:
--

In general the broker APIs are not documented or not documented well, mostly 
you will need to take it upon yourself to figure out the implementation.  The 
Message APIs should probably be updated to clarify that after all mutation 
operations are complete (regardless of which protocol underlies the message) a 
re-encode should be done to ensure the transmission is accurate.  This API 
documentation should though be protocol agnostic however. 

You are welcome to open a PR for review. 

> Headers loss in message sent from AMQP producer to AMQP consumer
> 
>
> Key: ARTEMIS-4470
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4470
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP, Broker
>Affects Versions: 2.31.0
>Reporter: Mohanavalli A
>Priority: Major
>
> Hi Team,
> Our message flow involves a AMQP Producer, Broker (with custom plugin) and a 
> AMQP Consumer.
> The message is sent by Producer to TEST queue with few headers, the broker 
> plugin adds few more headers on BeforeSend event on the TEST queue. When the 
> message is consumed by the consumer from TEST we see loss of certain headers.
>  
> We started facing this after the recent migration of the consumer from 
> Openwire to AMQP protocol. There is no loss of header when the 
> Producer/Consumer is on openwire.
>  
> Scenario1
> --
> Producer(AMQP) to TEST
> Header1:String, Header2:long
>  
> Plugin on BeforeSend event on TEST
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(AMQP) from TEST
> Headers : Header1,Header2 (PluginHeader1, PluginHeader2 missing)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> the headers PluginHeader1, PluginHeader2 are lost on TEST1 queue.
>  
>  
> Scenario2
> --
> Producer(AMQP)
> Header1:String, Header2:long
>  
> Plugin
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(Openwire)
> Headers : Header1,Header2,PluginHeader1, PluginHeader2 (All headers are 
> present)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> the headers PluginHeader1, PluginHeader2 are lost on TEST1 queue.
>  
> Scenario3
> --
> Producer(Openwire)
> Header1:String, Header2:long
>  
> Plugin
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(AMQP)
> Headers : Header1,Header2,PluginHeader1, PluginHeader2 (All headers are 
> present)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> all headers are present TEST1 queue.
>  
> Thanks,
> Mohanavalli A



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4470) Headers loss in message sent from AMQP producer to AMQP consumer

2023-10-25 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17779546#comment-17779546
 ] 

Timothy A. Bish commented on ARTEMIS-4470:
--

It's going to depend on what you change in the Message, in AMQP the standard 
properties, application-properties, and application-data (the body) are 
considered immutable, but you have decided in a plugin you will violate that 
and mutate them, therefore the message must be re-encoded as internally those 
bits are treated as a binary blob that would be sent unchanged as they are by 
spec immutable.  So this is not a drawback of AMQP is a consequence of your 
choice to mutate the immutable message portion en route.

http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#toc

> Headers loss in message sent from AMQP producer to AMQP consumer
> 
>
> Key: ARTEMIS-4470
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4470
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP, Broker
>Affects Versions: 2.31.0
>Reporter: Mohanavalli A
>Priority: Major
>
> Hi Team,
> Our message flow involves a AMQP Producer, Broker (with custom plugin) and a 
> AMQP Consumer.
> The message is sent by Producer to TEST queue with few headers, the broker 
> plugin adds few more headers on BeforeSend event on the TEST queue. When the 
> message is consumed by the consumer from TEST we see loss of certain headers.
>  
> We started facing this after the recent migration of the consumer from 
> Openwire to AMQP protocol. There is no loss of header when the 
> Producer/Consumer is on openwire.
>  
> Scenario1
> --
> Producer(AMQP) to TEST
> Header1:String, Header2:long
>  
> Plugin on BeforeSend event on TEST
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(AMQP) from TEST
> Headers : Header1,Header2 (PluginHeader1, PluginHeader2 missing)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> the headers PluginHeader1, PluginHeader2 are lost on TEST1 queue.
>  
>  
> Scenario2
> --
> Producer(AMQP)
> Header1:String, Header2:long
>  
> Plugin
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(Openwire)
> Headers : Header1,Header2,PluginHeader1, PluginHeader2 (All headers are 
> present)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> the headers PluginHeader1, PluginHeader2 are lost on TEST1 queue.
>  
> Scenario3
> --
> Producer(Openwire)
> Header1:String, Header2:long
>  
> Plugin
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(AMQP)
> Headers : Header1,Header2,PluginHeader1, PluginHeader2 (All headers are 
> present)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> all headers are present TEST1 queue.
>  
> Thanks,
> Mohanavalli A



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-4470) Headers loss in message sent from AMQP producer to AMQP consumer

2023-10-25 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-4470.

Resolution: Information Provided

> Headers loss in message sent from AMQP producer to AMQP consumer
> 
>
> Key: ARTEMIS-4470
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4470
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP, Broker
>Affects Versions: 2.31.0
>Reporter: Mohanavalli A
>Priority: Major
>
> Hi Team,
> Our message flow involves a AMQP Producer, Broker (with custom plugin) and a 
> AMQP Consumer.
> The message is sent by Producer to TEST queue with few headers, the broker 
> plugin adds few more headers on BeforeSend event on the TEST queue. When the 
> message is consumed by the consumer from TEST we see loss of certain headers.
>  
> We started facing this after the recent migration of the consumer from 
> Openwire to AMQP protocol. There is no loss of header when the 
> Producer/Consumer is on openwire.
>  
> Scenario1
> --
> Producer(AMQP) to TEST
> Header1:String, Header2:long
>  
> Plugin on BeforeSend event on TEST
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(AMQP) from TEST
> Headers : Header1,Header2 (PluginHeader1, PluginHeader2 missing)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> the headers PluginHeader1, PluginHeader2 are lost on TEST1 queue.
>  
>  
> Scenario2
> --
> Producer(AMQP)
> Header1:String, Header2:long
>  
> Plugin
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(Openwire)
> Headers : Header1,Header2,PluginHeader1, PluginHeader2 (All headers are 
> present)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> the headers PluginHeader1, PluginHeader2 are lost on TEST1 queue.
>  
> Scenario3
> --
> Producer(Openwire)
> Header1:String, Header2:long
>  
> Plugin
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(AMQP)
> Headers : Header1,Header2,PluginHeader1, PluginHeader2 (All headers are 
> present)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> all headers are present TEST1 queue.
>  
> Thanks,
> Mohanavalli A



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4470) Headers loss in message sent from AMQP producer to AMQP consumer

2023-10-25 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17779505#comment-17779505
 ] 

Timothy A. Bish commented on ARTEMIS-4470:
--

The method re-encodes the payload based on any changes and would not make sense 
to do on each add of a property as you would create a massive performance 
impact and increase GC overhead encoding and re-encoding with each property add 
or remove.

> Headers loss in message sent from AMQP producer to AMQP consumer
> 
>
> Key: ARTEMIS-4470
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4470
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP, Broker
>Affects Versions: 2.31.0
>Reporter: Mohanavalli A
>Priority: Major
>
> Hi Team,
> Our message flow involves a AMQP Producer, Broker (with custom plugin) and a 
> AMQP Consumer.
> The message is sent by Producer to TEST queue with few headers, the broker 
> plugin adds few more headers on BeforeSend event on the TEST queue. When the 
> message is consumed by the consumer from TEST we see loss of certain headers.
>  
> We started facing this after the recent migration of the consumer from 
> Openwire to AMQP protocol. There is no loss of header when the 
> Producer/Consumer is on openwire.
>  
> Scenario1
> --
> Producer(AMQP) to TEST
> Header1:String, Header2:long
>  
> Plugin on BeforeSend event on TEST
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(AMQP) from TEST
> Headers : Header1,Header2 (PluginHeader1, PluginHeader2 missing)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> the headers PluginHeader1, PluginHeader2 are lost on TEST1 queue.
>  
>  
> Scenario2
> --
> Producer(AMQP)
> Header1:String, Header2:long
>  
> Plugin
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(Openwire)
> Headers : Header1,Header2,PluginHeader1, PluginHeader2 (All headers are 
> present)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> the headers PluginHeader1, PluginHeader2 are lost on TEST1 queue.
>  
> Scenario3
> --
> Producer(Openwire)
> Header1:String, Header2:long
>  
> Plugin
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(AMQP)
> Headers : Header1,Header2,PluginHeader1, PluginHeader2 (All headers are 
> present)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> all headers are present TEST1 queue.
>  
> Thanks,
> Mohanavalli A



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4470) Headers loss in message sent from AMQP producer to AMQP consumer

2023-10-24 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17779135#comment-17779135
 ] 

Timothy A. Bish commented on ARTEMIS-4470:
--

Would need to see a reproducer to diagnose this fully but it sounds like your 
plugin is modifying the AMQP message and not calling:
{code:java}
message.reencode();{code}
Without this the underlying encoded data will not be updated and the original 
buffers will be sent when the received message is routed to a consumer.

> Headers loss in message sent from AMQP producer to AMQP consumer
> 
>
> Key: ARTEMIS-4470
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4470
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP, Broker
>Affects Versions: 2.31.0
>Reporter: Mohanavalli A
>Priority: Major
>
> Hi Team,
> Our message flow involves a AMQP Producer, Broker (with custom plugin) and a 
> AMQP Consumer.
> The message is sent by Producer to TEST queue with few headers, the broker 
> plugin adds few more headers on BeforeSend event on the TEST queue. When the 
> message is consumed by the consumer from TEST we see loss of certain headers.
>  
> We started facing this after the recent migration of the consumer from 
> Openwire to AMQP protocol. There is no loss of header when the 
> Producer/Consumer is on openwire.
>  
> Scenario1
> --
> Producer(AMQP) to TEST
> Header1:String, Header2:long
>  
> Plugin on BeforeSend event on TEST
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(AMQP) from TEST
> Headers : Header1,Header2 (PluginHeader1, PluginHeader2 missing)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> the headers PluginHeader1, PluginHeader2 are lost on TEST1 queue.
>  
>  
> Scenario2
> --
> Producer(AMQP)
> Header1:String, Header2:long
>  
> Plugin
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(Openwire)
> Headers : Header1,Header2,PluginHeader1, PluginHeader2 (All headers are 
> present)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> the headers PluginHeader1, PluginHeader2 are lost on TEST1 queue.
>  
> Scenario3
> --
> Producer(Openwire)
> Header1:String, Header2:long
>  
> Plugin
> Adds two new headers PluginHeader1(String), PluginHeader2(long)
>  
> Consumer(AMQP)
> Headers : Header1,Header2,PluginHeader1, PluginHeader2 (All headers are 
> present)
>  
> Additional info: 
> If browsing message in console on TEST: Headers : 
> Header1,Header2,PluginHeader1, PluginHeader2 (All headers are present)
> If the message is moved from TEST to TEST1 queue directly on the Web Console, 
> all headers are present TEST1 queue.
>  
> Thanks,
> Mohanavalli A



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AMQCPP-751) Non-UTF-8 messages containing special characters are not supported

2023-10-20 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/AMQCPP-751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1762#comment-1762
 ] 

Timothy A. Bish commented on AMQCPP-751:


As this issue continues to be a client issue I am moving to the CMS client 
where a fix would need to be made to bring it into full compliance with other 
Openwire clients in how multibyte strings are encoded. 

> Non-UTF-8 messages containing special characters are not supported
> --
>
> Key: AMQCPP-751
> URL: https://issues.apache.org/jira/browse/AMQCPP-751
> Project: ActiveMQ C++ Client
>  Issue Type: Bug
>Reporter: Liviu Citu
>Priority: Major
>
> When a text message non-UTF-8 (ISO-8859-15) containing special characters is 
> sent from ActiveMQ CPP client to Artemis, an exception 
> "java.io.UTFDataFormatException" is seen in Artemis server log.
> Although the exception is thrown as a warning, the message gets rejected by 
> the server.
> Below the Artemis server log:
>  
> {noformat}
> 2023-09-29 11:34:32,736 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
>  
> java.io.UTFDataFormatException: null
>     at 
> org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:386)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:233)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:128)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:376)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1671)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>  [?:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  [?:?]
>     at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  [artemis-commons-2.30.0.jar:?]
> 2023-09-29 11:34:32,753 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
> org.apache.activemq.artemis.api.core.ActiveMQException: null
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1674)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> 

[jira] [Moved] (AMQCPP-751) Non-UTF-8 messages containing special characters are not supported

2023-10-20 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/AMQCPP-751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish moved ARTEMIS-4462 to AMQCPP-751:
-

  Key: AMQCPP-751  (was: ARTEMIS-4462)
Affects Version/s: (was: 2.30.0)
 Workflow: classic default workflow  (was: jira)
  Project: ActiveMQ C++ Client  (was: ActiveMQ Artemis)

> Non-UTF-8 messages containing special characters are not supported
> --
>
> Key: AMQCPP-751
> URL: https://issues.apache.org/jira/browse/AMQCPP-751
> Project: ActiveMQ C++ Client
>  Issue Type: Bug
>Reporter: Liviu Citu
>Priority: Major
>
> When a text message non-UTF-8 (ISO-8859-15) containing special characters is 
> sent from ActiveMQ CPP client to Artemis, an exception 
> "java.io.UTFDataFormatException" is seen in Artemis server log.
> Although the exception is thrown as a warning, the message gets rejected by 
> the server.
> Below the Artemis server log:
>  
> {noformat}
> 2023-09-29 11:34:32,736 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
>  
> java.io.UTFDataFormatException: null
>     at 
> org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:386)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:233)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:128)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:376)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1671)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>  [?:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  [?:?]
>     at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  [artemis-commons-2.30.0.jar:?]
> 2023-09-29 11:34:32,753 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
> org.apache.activemq.artemis.api.core.ActiveMQException: null
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1674)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> 

[jira] [Commented] (ARTEMIS-4462) Non-UTF-8 messages containing special characters are not supported

2023-10-19 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1295#comment-1295
 ] 

Timothy A. Bish commented on ARTEMIS-4462:
--

As the person that wrote the majority of the CMS code I can tell that it does 
not do any encoding of multi-byte string as at the time it was written (2005) 
there was little to no cases where that was necessary and the C++ string types 
made it painful to do anyway.  This is fine if you don't play any games and try 
to shoehorn in non-ASCII strings into the CMS TextMessage but since you are you 
will likely hit issues as broker side and Java client side, the strings are 
expected to be encoded an Modified UTF-8 if you are using multi byte 
characters. 

The ActiveMQ 5.x Broker itself will go out of its way not to decode the message 
payload that is stored in the byte sequence that comprises the body.  It could 
do so if you used some broker plugins that triggered it so you are basically 
playing with fire by doing what you are doing.  The solution here as Robbie has 
pointed out is to encode your strings into a BytesMessage which will pass 
untouched in Artemis as the conversion to the native Core protocol can just 
move those bytes into a Core message. 

You other option is to modify the CMS client with API and handling to encode 
wide character strings into modified UTF-8 payloads in the Openwire message 
body to ensure they are compatible with not only Artemis but the ActiveMQ 5.x 
broker as well. 

 

> Non-UTF-8 messages containing special characters are not supported
> --
>
> Key: ARTEMIS-4462
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4462
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.30.0
>Reporter: Liviu Citu
>Priority: Major
>
> When a text message non-UTF-8 (ISO-8859-15) containing special characters is 
> sent from ActiveMQ CPP client to Artemis, an exception 
> "java.io.UTFDataFormatException" is seen in Artemis server log.
> Although the exception is thrown as a warning, the message gets rejected by 
> the server.
> Below the Artemis server log:
>  
> {noformat}
> 2023-09-29 11:34:32,736 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
>  
> java.io.UTFDataFormatException: null
>     at 
> org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:386)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:233)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:128)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:376)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1671)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>  [?:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  [?:?]
>     at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  [artemis-commons-2.30.0.jar:?]
> 2023-09-29 11:34:32,753 WARN  
> 

[jira] [Closed] (ARTEMIS-4462) Non-UTF-8 messages containing special characters are not supported

2023-10-19 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-4462.

Resolution: Information Provided

> Non-UTF-8 messages containing special characters are not supported
> --
>
> Key: ARTEMIS-4462
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4462
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.30.0
>Reporter: Liviu Citu
>Priority: Major
>
> When a text message non-UTF-8 (ISO-8859-15) containing special characters is 
> sent from ActiveMQ CPP client to Artemis, an exception 
> "java.io.UTFDataFormatException" is seen in Artemis server log.
> Although the exception is thrown as a warning, the message gets rejected by 
> the server.
> Below the Artemis server log:
>  
> {noformat}
> 2023-09-29 11:34:32,736 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
>  
> java.io.UTFDataFormatException: null
>     at 
> org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:386)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:233)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:128)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:376)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1671)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>  [?:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  [?:?]
>     at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  [artemis-commons-2.30.0.jar:?]
> 2023-09-29 11:34:32,753 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
> org.apache.activemq.artemis.api.core.ActiveMQException: null
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1674)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  

[jira] [Closed] (ARTEMIS-4462) Non-UTF-8 messages containing special characters are not supported

2023-10-18 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish closed ARTEMIS-4462.

Resolution: Information Provided

> Non-UTF-8 messages containing special characters are not supported
> --
>
> Key: ARTEMIS-4462
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4462
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.30.0
>Reporter: Liviu Citu
>Priority: Major
>
> When a text message non-UTF-8 (ISO-8859-15) containing special characters is 
> sent from ActiveMQ CPP client to Artemis, an exception 
> "java.io.UTFDataFormatException" is seen in Artemis server log.
> Although the exception is thrown as a warning, the message gets rejected by 
> the server.
> Below the Artemis server log:
>  
> {noformat}
> 2023-09-29 11:34:32,736 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
>  
> java.io.UTFDataFormatException: null
>     at 
> org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:386)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:233)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:128)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:376)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1671)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>  [?:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  [?:?]
>     at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  [artemis-commons-2.30.0.jar:?]
> 2023-09-29 11:34:32,753 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
> org.apache.activemq.artemis.api.core.ActiveMQException: null
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1674)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  

[jira] [Commented] (ARTEMIS-4462) Non-UTF-8 messages containing special characters are not supported

2023-10-18 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17776657#comment-17776657
 ] 

Timothy A. Bish commented on ARTEMIS-4462:
--

This is most likely the same issue as was reported AMQCPP-692 where the CMS 
client does not properly encode the strings and this causes the exception as 
the decoding will fail when Artemis is converting from Openwire native to the 
Artemis native CORE message.  This comes down to a bug in the client that 
hasn't been fixed and since the client is no longer maintained it is unlikely 
to ever be fixed.  I probably can sneak by in a 5.x broker so long as the 
message contents aren't decoded broker side but will likely throw an exception 
if that happened. 

> Non-UTF-8 messages containing special characters are not supported
> --
>
> Key: ARTEMIS-4462
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4462
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.30.0
>Reporter: Liviu Citu
>Priority: Major
>
> When a text message non-UTF-8 (ISO-8859-15) containing special characters is 
> sent from ActiveMQ CPP client to Artemis, an exception 
> "java.io.UTFDataFormatException" is seen in Artemis server log.
> Although the exception is thrown as a warning, the message gets rejected by 
> the server.
> Below the Artemis server log:
>  
> {noformat}
> 2023-09-29 11:34:32,736 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
>  
> java.io.UTFDataFormatException: null
>     at 
> org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:386)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358)
>  ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:233)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:128)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:376)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1671)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
>  ~[artemis-commons-2.30.0.jar:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>  [?:?]
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  [?:?]
>     at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  [artemis-commons-2.30.0.jar:?]
> 2023-09-29 11:34:32,753 WARN  
> [org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] 
> Errors occurred during the buffering operation
> org.apache.activemq.artemis.api.core.ActiveMQException: null
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1674)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
> ~[activemq-client-5.17.2.jar:5.17.2]
>     at 
> org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
>  ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
>     at 
> org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
>  

[jira] [Updated] (ARTEMIS-4462) Non-UTF-8 messages containing special characters are not supported

2023-10-18 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4462:
-
Description: 
When a text message non-UTF-8 (ISO-8859-15) containing special characters is 
sent from ActiveMQ CPP client to Artemis, an exception 
"java.io.UTFDataFormatException" is seen in Artemis server log.

Although the exception is thrown as a warning, the message gets rejected by the 
server.

Below the Artemis server log:

 
{noformat}
2023-09-29 11:34:32,736 WARN  
[org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] Errors 
occurred during the buffering operation
 
java.io.UTFDataFormatException: null
    at 
org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:386)
 ~[activemq-client-5.17.2.jar:5.17.2]
    at 
org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358)
 ~[activemq-client-5.17.2.jar:5.17.2]
    at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:233)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
    at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:128)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
    at 
org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:376)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
    at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1671)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
    at 
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
~[activemq-client-5.17.2.jar:5.17.2]
    at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
    at 
org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
 ~[artemis-commons-2.30.0.jar:?]
    at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
 ~[artemis-commons-2.30.0.jar:?]
    at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
 ~[artemis-commons-2.30.0.jar:?]
    at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
 ~[artemis-commons-2.30.0.jar:?]
    at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
 ~[artemis-commons-2.30.0.jar:?]
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) 
[?:?]
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 
[?:?]
    at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
 [artemis-commons-2.30.0.jar:?]
2023-09-29 11:34:32,753 WARN  
[org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] Errors 
occurred during the buffering operation
org.apache.activemq.artemis.api.core.ActiveMQException: null
    at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1674)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
    at 
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
~[activemq-client-5.17.2.jar:5.17.2]
    at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]
    at 
org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
 ~[artemis-commons-2.30.0.jar:?]
    at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
 ~[artemis-commons-2.30.0.jar:?]
    at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
 ~[artemis-commons-2.30.0.jar:?]
    at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
 ~[artemis-commons-2.30.0.jar:?]
    at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
 ~[artemis-commons-2.30.0.jar:?]
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) 
[?:?]
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 
[?:?]
    at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
 [artemis-commons-2.30.0.jar:?]
2023-09-29 11:34:32,755 WARN  
[org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] Errors 
occurred during the buffering operation
java.io.UTFDataFormatException: null
 
{noformat}
 

Just create a small test program using 

[jira] [Updated] (ARTEMIS-4462) Non-UTF-8 messages containing special characters are not supported

2023-10-18 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4462:
-
Description: 
When a text message non-UTF-8 (ISO-8859-15) containing special characters is 
sent from ActiveMQ CPP client to Artemis, an exception 
"java.io.UTFDataFormatException" is seen in Artemis server log.

Although the exception is thrown as a warning, the message gets rejected by the 
server.

Below the Artemis server log:

_2023-09-29 11:34:32,736 WARN  
[org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] Errors 
occurred during the buffering operation_

 

_java.io.UTFDataFormatException: null_

    _at 
org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:386)
 ~[activemq-client-5.17.2.jar:5.17.2]_

    _at 
org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358)
 ~[activemq-client-5.17.2.jar:5.17.2]_

    _at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:233)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]_

    _at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:128)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]_

    _at 
org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:376)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]_

    _at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1671)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]_

    _at 
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
~[activemq-client-5.17.2.jar:5.17.2]_

    _at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]_

    _at 
org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
 ~[artemis-commons-2.30.0.jar:?]_

    _at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
 ~[artemis-commons-2.30.0.jar:?]_

    _at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
 ~[artemis-commons-2.30.0.jar:?]_

    _at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
 ~[artemis-commons-2.30.0.jar:?]_

    _at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
 ~[artemis-commons-2.30.0.jar:?]_

    _at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) 
[?:?]_

    _at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 
[?:?]_

    _at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
 [artemis-commons-2.30.0.jar:?]_

_2023-09-29 11:34:32,753 WARN  
[org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] Errors 
occurred during the buffering operation_

_org.apache.activemq.artemis.api.core.ActiveMQException: null_

    _at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1674)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]_

    _at 
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) 
~[activemq-client-5.17.2.jar:5.17.2]_

    _at 
org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:369)
 ~[artemis-openwire-protocol-2.30.0.jar:2.30.0]_

    _at 
org.apache.activemq.artemis.utils.actors.ThresholdActor.doTask(ThresholdActor.java:68)
 ~[artemis-commons-2.30.0.jar:?]_

    _at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
 ~[artemis-commons-2.30.0.jar:?]_

    _at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
 ~[artemis-commons-2.30.0.jar:?]_

    _at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
 ~[artemis-commons-2.30.0.jar:?]_

    _at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
 ~[artemis-commons-2.30.0.jar:?]_

    _at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) 
[?:?]_

    _at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 
[?:?]_

    _at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
 [artemis-commons-2.30.0.jar:?]_

_2023-09-29 11:34:32,755 WARN  
[org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection] Errors 
occurred during the buffering operation_


[jira] [Created] (ARTEMIS-4431) AMQP federated address consumer not applying hops annotation correctly

2023-09-15 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4431:


 Summary: AMQP federated address consumer not applying hops 
annotation correctly
 Key: ARTEMIS-4431
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4431
 Project: ActiveMQ Artemis
  Issue Type: Bug
  Components: AMQP
Affects Versions: 2.30.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.31.0


The AMQP federation address consumer omits a call to re-encode the message 
after updating the hops annotation that track how many federation links the 
message has traversed.  This results in the message not carrying forward the 
correct annotation which breaks the max hops configuration.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4217) AMQ111005: Failed to convert message. Sending it to Dead Letter Address.

2023-09-13 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4217?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17764730#comment-17764730
 ] 

Timothy A. Bish commented on ARTEMIS-4217:
--

[~jbertram] Just as a note there is one case where this could happen and that 
is if the 'amqpMinLargeMessageSize' is set larger than the journal max file 
size (not sure the exact name) which causes a message that wasn't 'large' to 
become large but uses an AMQP to Core conversion as opposed to a simple convert 
from a "standard" AMQP message to a "large" AMQP message.  This would result in 
the back to AMQP from Core case in cases where you might not be expecting it 
which could lead to a way to reproduce this if that is indeed how this is 
getting hit. 

> AMQ111005: Failed to convert message. Sending it to Dead Letter Address.
> 
>
> Key: ARTEMIS-4217
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4217
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.28.0
> Environment: Windows Server 2022 21H2
> openjdk 19.0.1 2022-10-18
> OpenJDK Runtime Environment (build 19.0.1+10-21)
> OpenJDK 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)
>Reporter: daves
>Priority: Major
> Attachments: ArtemisConvertError.zip, 
> image-2023-06-16-15-59-25-689.png, image-2023-06-16-15-59-25-721.png
>
>
> Some of the AMQP messages sent by my client never arrive at the consumer. In 
> the Artemis log I found the following exception:
> {noformat}
> 2023-03-23 18:06:58,084 WARN  
> [org.apache.activemq.artemis.protocol.amqp.logger] AMQ111005: Failed to 
> convert message. Sending it to Dead Letter Address. 
> org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.ConversionException:
>  java.nio.channels.ClosedChannelException
>      at 
> org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:318)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]
>      at 
> org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.checkAMQP(CoreAmqpConverter.java:79)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     
>      at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.executeDelivery(ProtonServerSenderContext.java:561)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     
>      at 
> org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl.run(MessageReferenceImpl.java:131)
>  ~[artemis-server-2.28.0.jar:2.28.0]     
>      at 
> io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
>  ~[netty-common-4.1.86.Final.jar:4.1.86.Final]     
>      at 
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
>  ~[netty-common-4.1.86.Final.jar:4.1.86.Final]     
>      at 
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
>  ~[netty-common-4.1.86.Final.jar:4.1.86.Final]     
>      at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) 
> ~[netty-transport-4.1.86.Final.jar:4.1.86.Final]     
>      at 
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
>  ~[netty-common-4.1.86.Final.jar:4.1.86.Final]     
>      at 
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 
> ~[netty-common-4.1.86.Final.jar:4.1.86.Final]     
>      at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  ~[artemis-commons-2.28.0.jar:?] Caused by: java.lang.RuntimeException: 
> java.nio.channels.ClosedChannelException     
>      at 
> org.apache.activemq.artemis.core.persistence.impl.journal.LargeBody.getBodyBufferSize(LargeBody.java:293)
>  ~[artemis-server-2.28.0.jar:2.28.0]     
>      at 
> org.apache.activemq.artemis.core.persistence.impl.journal.LargeServerMessageImpl.getBodyBufferSize(LargeServerMessageImpl.java:263)
>  ~[artemis-server-2.28.0.jar:2.28.0]     
>      at 
> org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.getBodyLength(CoreBytesMessageWrapper.java:98)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     
>      at 
> org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.getBinaryFromMessageBody(CoreBytesMessageWrapper.java:68)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     
>      at 
> org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.createAMQPSection(CoreBytesMessageWrapper.java:78)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     
>      at 
> org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:106)
>  ~[artemis-amqp-protocol-2.28.0.jar:2.28.0]     
>      ... 10 more 
> 

[jira] [Resolved] (ARTEMIS-4419) Add broker federation support to the AMQP broker connection feature-set

2023-09-11 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4419?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish resolved ARTEMIS-4419.
--
Resolution: Fixed

> Add broker federation support to the AMQP broker connection feature-set 
> 
>
> Key: ARTEMIS-4419
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4419
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>  Components: AMQP
>Affects Versions: 2.30.0
>Reporter: Timothy A. Bish
>Assignee: Timothy A. Bish
>Priority: Major
> Fix For: 2.31.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Add a feature element to the broker connection feature-set that allows for 
> broker federation over AMQP on outgoing AMQP broker connections.  The feature 
> should support duplex federation across the same connection allowing 
> configuration of federation for local address and queues from a remote and 
> the reverse.  The AMQP broker connection configuration should be updated to 
> allow configuring this feature in XML and using the broker properties 
> mechanism. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4419) Add broker federation support to the AMQP broker connection feature-set

2023-09-05 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4419:


 Summary: Add broker federation support to the AMQP broker 
connection feature-set 
 Key: ARTEMIS-4419
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4419
 Project: ActiveMQ Artemis
  Issue Type: New Feature
  Components: AMQP
Affects Versions: 2.30.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.31.0


Add a feature element to the broker connection feature-set that allows for 
broker federation over AMQP on outgoing AMQP broker connections.  The feature 
should support duplex federation across the same connection allowing 
configuration of federation for local address and queues from a remote and the 
reverse.  The AMQP broker connection configuration should be updated to allow 
configuring this feature in XML and using the broker properties mechanism. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Moved] (AMQNET-835) Document deserialization policy

2023-08-25 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/AMQNET-835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish moved OPENWIRE-65 to AMQNET-835:


Key: AMQNET-835  (was: OPENWIRE-65)
Project: ActiveMQ .Net  (was: ActiveMQ OpenWire)

> Document deserialization policy
> ---
>
> Key: AMQNET-835
> URL: https://issues.apache.org/jira/browse/AMQNET-835
> Project: ActiveMQ .Net
>  Issue Type: Improvement
>Reporter: Arnout Engelen
>Priority: Major
>
> Unrestricted deserialization of untrusted data is dangerous and can lead to 
> remote code execution attacks.
> To be able to safely deserialize untrusted data, the Apache NMS ActiveMQ .Net 
> client introduced deserialization policy options in version 2.1.0 
> ([https://www.mail-archive.com/dev@activemq.apache.org/msg68832.html]).
> It would be good to call out in the documentation that if you want to accept 
> untrusted data, you should use these options.
> (I hope this is the correct Jira project to report this to, if not let me 
> know and I'll re-file it to the correct one :))



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4282) Sending Large ApplicationProperties section in a transactional session may break the server.

2023-05-18 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4282:
-
Summary: Sending Large ApplicationProperties section in a transactional 
session may break the server.  (was: Sending Large ApplicationProperty section 
in a transactional session may break the server.)

> Sending Large ApplicationProperties section in a transactional session may 
> break the server.
> 
>
> Key: ARTEMIS-4282
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4282
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.28.0
>Reporter: Clebert Suconic
>Priority: Major
> Fix For: 2.29.0
>
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4282) Sending Large ApplicationProperty section in a transactional session may break the server.

2023-05-18 Thread Timothy A. Bish (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated ARTEMIS-4282:
-
Summary: Sending Large ApplicationProperty section in a transactional 
session may break the server.  (was: Sending Large Header in a transactional 
session may break the server.)

> Sending Large ApplicationProperty section in a transactional session may 
> break the server.
> --
>
> Key: ARTEMIS-4282
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4282
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.28.0
>Reporter: Clebert Suconic
>Priority: Major
> Fix For: 2.29.0
>
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4264) MQTT v5 request-response with correlation ID

2023-04-28 Thread Timothy A. Bish (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-4264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717774#comment-17717774
 ] 

Timothy A. Bish commented on ARTEMIS-4264:
--

You can look at Qpid JMS which handles some scenarios like this where the AMQP 
spec allows for several types including Binary and String along with UUID and 
ulong.  Since I don't think MQTT defines what the correlation bytes mean you 
likely would just either carry them along untouched or encode them as a hex 
string depending on how core protocol carries the correlation ID value (you 
need some way to round trip them depending on how core manages them). 

> MQTT v5 request-response with correlation ID
> 
>
> Key: ARTEMIS-4264
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4264
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Daniel Martin
>Priority: Major
>
> When sending messages from a JMS producer (ActiveMQ) to a MQTT consumer 
> (HiveMQ), using `setJMSReplyTo()` and `setJMSCorrelationID()` on the sending 
> side and `getResponseTopic()` and `getCorrelationData()` on the receiving 
> side, this information is not received by MQTT.
> It seem to me that both protocols are pretty translatable into one another, 
> having pretty much the same concepts:
>  * 
> [https://activemq.apache.org/how-should-i-implement-request-response-with-jms]
>  * 
> [https://hivemq.com/blog/mqtt5-essentials-part9-request-response-pattern|https://www.hivemq.com/blog/mqtt5-essentials-part9-request-response-pattern]
> I'd additionally ask: is MQTT version 5 truly supported? To what extent?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


  1   2   3   4   >