[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)


[jira] [Closed] (AMQ-9251) address-setting w/ wildcard not in herited by actual address

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


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

Timothy A. Bish closed AMQ-9251.

Resolution: Invalid

This appears to be a mistaken issue that duplicates 
https://issues.apache.org/jira/browse/ARTEMIS-4260

> address-setting w/ wildcard not in herited by actual address
> 
>
> Key: AMQ-9251
> URL: https://issues.apache.org/jira/browse/AMQ-9251
> Project: ActiveMQ
>  Issue Type: Bug
>Reporter: arne anka
>Priority: Minor
>




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


[jira] [Assigned] (ARTEMIS-4234) EmbeddedActiveMQResource is able to receive only first message

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


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

Timothy A. Bish reassigned ARTEMIS-4234:


Assignee: Timothy A. Bish

> EmbeddedActiveMQResource is able to receive only first message
> --
>
> Key: ARTEMIS-4234
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4234
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.28.0
>Reporter: Dominik Kawczyński
>Assignee: Timothy A. Bish
>Priority: Major
>
> Hi,
> i have encountered a problem with embedded Artemis.
> Using *EmbeddedActiveMQResource* _receiveMessage_ method im able to receive 
> only one message from queue.
> Please look at following code:
> {code:java}
> artemis.start()
> def firstMessage = 'test message 1'
> sendMessage(firstMessage, 'test_queue')
> def firstReceivedMessage = artemis.receiveMessage('test_queue', 1000)
> println(' FIRST MESSAGE:')
> println('' + firstReceivedMessage.stringBody)
> /*
> will work if artemis is restarted during test
> artemis.stop()
> artemis.start()
> */
> def secondMessage = 'test message 2'
> sendMessage(secondMessage, 'test_queue')
> def secondReceivedMessage = artemis.receiveMessage('test_queue', 1000)
> println(' SECOND MESSAGE:')
> println('' + secondReceivedMessage.stringBody)
> then:
> firstMessage == firstReceivedMessage.stringBody
> secondMessage == secondReceivedMessage.stringBody {code}
> I'm getting null as secondReceivedMessage, and NPE in effect later.
>  
> The reason is (i assume) that first invocation  is creating a consumer, that 
> is getting second message, before i invoke receiveMessage method second time 
> (i see in logs that second message was consumed)
>  
> Is this expected behavior?
> receiveMessage is returning only one message, so my assumption was, that i 
> can invoke it several times to retrieve consequential messages, and i have 
> not found any documentation explaining current behavior.
>  
> I have created repo with reproducible example:
> [https://github.com/dmkaw/embedded-artemis-issue]
>  
> Thanks in advance.



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


[jira] [Updated] (ARTEMIS-4234) EmbeddedActiveMQResource is able to receive only first message

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


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

Timothy A. Bish updated ARTEMIS-4234:
-
Fix Version/s: 2.29.0

> EmbeddedActiveMQResource is able to receive only first message
> --
>
> Key: ARTEMIS-4234
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4234
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.28.0
>Reporter: Dominik Kawczyński
>Assignee: Timothy A. Bish
>Priority: Major
> Fix For: 2.29.0
>
>
> Hi,
> i have encountered a problem with embedded Artemis.
> Using *EmbeddedActiveMQResource* _receiveMessage_ method im able to receive 
> only one message from queue.
> Please look at following code:
> {code:java}
> artemis.start()
> def firstMessage = 'test message 1'
> sendMessage(firstMessage, 'test_queue')
> def firstReceivedMessage = artemis.receiveMessage('test_queue', 1000)
> println(' FIRST MESSAGE:')
> println('' + firstReceivedMessage.stringBody)
> /*
> will work if artemis is restarted during test
> artemis.stop()
> artemis.start()
> */
> def secondMessage = 'test message 2'
> sendMessage(secondMessage, 'test_queue')
> def secondReceivedMessage = artemis.receiveMessage('test_queue', 1000)
> println(' SECOND MESSAGE:')
> println('' + secondReceivedMessage.stringBody)
> then:
> firstMessage == firstReceivedMessage.stringBody
> secondMessage == secondReceivedMessage.stringBody {code}
> I'm getting null as secondReceivedMessage, and NPE in effect later.
>  
> The reason is (i assume) that first invocation  is creating a consumer, that 
> is getting second message, before i invoke receiveMessage method second time 
> (i see in logs that second message was consumed)
>  
> Is this expected behavior?
> receiveMessage is returning only one message, so my assumption was, that i 
> can invoke it several times to retrieve consequential messages, and i have 
> not found any documentation explaining current behavior.
>  
> I have created repo with reproducible example:
> [https://github.com/dmkaw/embedded-artemis-issue]
>  
> Thanks in advance.



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


[jira] [Commented] (ARTEMIS-4234) EmbeddedActiveMQResource is able to receive only first message

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


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

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

I took a quite look at the code for the EmbeddedActiveMQResource receive 
methods and they are indeed a bit odd (and lacking docs to indicate what the 
expectations should be).  The receive method creates and internal receiver for 
getting this singular message and then never closes it or stores it for 
additional use so it would seem to be leaking receiver resources.  At the very 
least I'd have expected the code to close the receiver when done since the 
intent of the implementation sort of leans that way. 

> EmbeddedActiveMQResource is able to receive only first message
> --
>
> Key: ARTEMIS-4234
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4234
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.28.0
>Reporter: Dominik Kawczyński
>Priority: Major
>
> Hi,
> i have encountered a problem with embedded Artemis.
> Using *EmbeddedActiveMQResource* _receiveMessage_ method im able to receive 
> only one message from queue.
> Please look at following code:
> {code:java}
> artemis.start()
> def firstMessage = 'test message 1'
> sendMessage(firstMessage, 'test_queue')
> def firstReceivedMessage = artemis.receiveMessage('test_queue', 1000)
> println(' FIRST MESSAGE:')
> println('' + firstReceivedMessage.stringBody)
> /*
> will work if artemis is restarted during test
> artemis.stop()
> artemis.start()
> */
> def secondMessage = 'test message 2'
> sendMessage(secondMessage, 'test_queue')
> def secondReceivedMessage = artemis.receiveMessage('test_queue', 1000)
> println(' SECOND MESSAGE:')
> println('' + secondReceivedMessage.stringBody)
> then:
> firstMessage == firstReceivedMessage.stringBody
> secondMessage == secondReceivedMessage.stringBody {code}
> I'm getting null as secondReceivedMessage, and NPE in effect later.
>  
> The reason is (i assume) that first invocation  is creating a consumer, that 
> is getting second message, before i invoke receiveMessage method second time 
> (i see in logs that second message was consumed)
>  
> Is this expected behavior?
> receiveMessage is returning only one message, so my assumption was, that i 
> can invoke it several times to retrieve consequential messages, and i have 
> not found any documentation explaining current behavior.
>  
> I have created repo with reproducible example:
> [https://github.com/dmkaw/embedded-artemis-issue]
>  
> Thanks in advance.



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


[jira] [Comment Edited] (ARTEMIS-4235) Losing bridge connection when sending map message.

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


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

Timothy A. Bish edited comment on ARTEMIS-4235 at 4/4/23 6:29 PM:
--

This happens because in openwire if the Map portion of the MapMessage is empty 
nothing is sent for that section of the message which is fine as it is the 
trailing section so the decoder for openwire simply checks if the content 
section is null which it will be as the marshalling code will just stop at the 
end of the encoded byte stream.  

Since this occurs post conversion to core then I'd guess one of two things 
could fix it, either the convert from Openwire to core can write the 
DataConstants.NULL as the payload which should stop the TypeProperties from 
reading further then that, or the TypeProperties could be update to handle 
nothing in the body at all which is probably a less desirable behavioral change.


was (Author: tabish121):
This happens because in openwire if the Map portion of the MapMessage is empty 
nothing is sent for that section of the message which is fine as it is the 
trailing section so the decoder for openwire simply checks if the content 
section is null which it will be as the marshalling code will just stop at the 
end of the encoded byte stream.  The Artemis code needs to check the buffer to 
see if it is readable and if not then just stop.

> Losing bridge connection when sending map message.
> --
>
> Key: ARTEMIS-4235
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4235
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.27.0
> Environment: Windows 10
>Reporter: Peter Sunnerdahl
>Priority: Critical
> Attachments: TestMQ.java, broker.xml, testMQMap.xml
>
>
> Artemis 2.27.0 installations with a bridge configured. When sending a map 
> message with an empty map the message is sent to DLQ and the connection is 
> lost. It will not recover unless I delete the message and restarts the 
> service. Same testcase works on old ActiveMQ. Found this when upgrading.
> {noformat}
> 2023-04-03 14:17:59,339 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:
>  readerIndex(0) + length(1) exceeds writerIndex(0): ReadOnlyByteBuf(ridx: 0, 
> widx: 0, cap: 0/0, unwrapped: UnpooledSlicedByteBuf(ridx: 0, widx: 0, cap: 
> 0/0, unwrapped: 
> UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf(ridx: 0, widx: 
> 1096, cap: 1096)))
>     at 
> org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:319)
>  ~[artemis-amqp-protocol-2.27.0.jar:2.27.0]
>     at 
> org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.checkAMQP(CoreAmqpConverter.java:80)
>  ~[artemis-amqp-protocol-2.27.0.jar:2.27.0]
>     at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.executeDelivery(ProtonServerSenderContext.java:541)
>  ~[artemis-amqp-protocol-2.27.0.jar:2.27.0]
>     at 
> org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl.run(MessageReferenceImpl.java:134)
>  ~[artemis-server-2.27.0.jar:2.27.0]
>     at 
> io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
>  ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
>     at 
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
>  ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
>     at 
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
>  ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
>     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) 
> ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
>     at 
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
>  ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
>     at 
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 
> ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
>     at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  ~[artemis-commons-2.27.0.jar:?]
> Caused by: java.lang.IndexOutOfBoundsException: readerIndex(0) + length(1) 
> exceeds writerIndex(0): ReadOnlyByteBuf(ridx: 0, widx: 0, cap: 0/0, 
> unwrapped: UnpooledSlicedByteBuf(ridx: 0, widx: 0, cap: 0/0, unwrapped: 
> UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf(ridx: 0, widx: 
> 1096, cap: 1096)))
>     at 
> io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1442)
>  ~[netty-buffer-4.1.82.Final.jar:4.1.82.Final]
>     at 

[jira] [Commented] (ARTEMIS-4235) Losing bridge connection when sending map message.

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


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

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

This happens because in openwire if the Map portion of the MapMessage is empty 
nothing is sent for that section of the message which is fine as it is the 
trailing section so the decoder for openwire simply checks if the content 
section is null which it will be as the marshalling code will just stop at the 
end of the encoded byte stream.  The Artemis code needs to check the buffer to 
see if it is readable and if not then just stop.

> Losing bridge connection when sending map message.
> --
>
> Key: ARTEMIS-4235
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4235
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.27.0
> Environment: Windows 10
>Reporter: Peter Sunnerdahl
>Priority: Critical
> Attachments: TestMQ.java, broker.xml, testMQMap.xml
>
>
> Artemis 2.27.0 installations with a bridge configured. When sending a map 
> message with an empty map the message is sent to DLQ and the connection is 
> lost. It will not recover unless I delete the message and restarts the 
> service. Same testcase works on old ActiveMQ. Found this when upgrading.
> {noformat}
> 2023-04-03 14:17:59,339 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:
>  readerIndex(0) + length(1) exceeds writerIndex(0): ReadOnlyByteBuf(ridx: 0, 
> widx: 0, cap: 0/0, unwrapped: UnpooledSlicedByteBuf(ridx: 0, widx: 0, cap: 
> 0/0, unwrapped: 
> UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf(ridx: 0, widx: 
> 1096, cap: 1096)))
>     at 
> org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:319)
>  ~[artemis-amqp-protocol-2.27.0.jar:2.27.0]
>     at 
> org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.checkAMQP(CoreAmqpConverter.java:80)
>  ~[artemis-amqp-protocol-2.27.0.jar:2.27.0]
>     at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.executeDelivery(ProtonServerSenderContext.java:541)
>  ~[artemis-amqp-protocol-2.27.0.jar:2.27.0]
>     at 
> org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl.run(MessageReferenceImpl.java:134)
>  ~[artemis-server-2.27.0.jar:2.27.0]
>     at 
> io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
>  ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
>     at 
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
>  ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
>     at 
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
>  ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
>     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) 
> ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
>     at 
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
>  ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
>     at 
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 
> ~[netty-common-4.1.82.Final.jar:4.1.82.Final]
>     at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  ~[artemis-commons-2.27.0.jar:?]
> Caused by: java.lang.IndexOutOfBoundsException: readerIndex(0) + length(1) 
> exceeds writerIndex(0): ReadOnlyByteBuf(ridx: 0, widx: 0, cap: 0/0, 
> unwrapped: UnpooledSlicedByteBuf(ridx: 0, widx: 0, cap: 0/0, unwrapped: 
> UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf(ridx: 0, widx: 
> 1096, cap: 1096)))
>     at 
> io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1442)
>  ~[netty-buffer-4.1.82.Final.jar:4.1.82.Final]
>     at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:730) 
> ~[netty-buffer-4.1.82.Final.jar:4.1.82.Final]
>     at io.netty.buffer.WrappedByteBuf.readByte(WrappedByteBuf.java:529) 
> ~[netty-buffer-4.1.82.Final.jar:4.1.82.Final]
>     at 
> org.apache.activemq.artemis.utils.collections.TypedProperties.decode(TypedProperties.java:464)
>  ~[artemis-commons-2.27.0.jar:?]
>     at 
> org.apache.activemq.artemis.utils.collections.TypedProperties.decode(TypedProperties.java:547)
>  ~[artemis-commons-2.27.0.jar:?]
>     at 
> org.apache.activemq.artemis.reader.MapMessageUtil.readBodyMap(MapMessageUtil.java:46)
>  ~[artemis-core-client-2.27.0.jar:2.27.0]
>     at 
> org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreMapMessageWrapper.decode(CoreMapMessageWrapper.java:222)
>  

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

2023-03-23 Thread Timothy A. Bish (Jira)


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

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

You could potentially work around this for now by increasing the 
'{{{}minLargeMessageSize{}}}' option to avoid having core large messages which 
get converted to AMQP messages as they cross to the AMQP client.

> 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: artemis-service.wrapper.log, artemis.log, 
> artemis.log.2023-03-23-1.log.gz, artemis.log.2023-03-23-10.log.gz, 
> artemis.log.2023-03-23-100.log.gz, artemis.log.2023-03-23-11.log.gz, 
> artemis.log.2023-03-23-12.log.gz, artemis.log.2023-03-23-13.log.gz, 
> artemis.log.2023-03-23-14.log.gz, artemis.log.2023-03-23-15.log.gz, 
> artemis.log.2023-03-23-16.log.gz, artemis.log.2023-03-23-17.log.gz, 
> artemis.log.2023-03-23-18.log.gz, artemis.log.2023-03-23-19.log.gz, 
> artemis.log.2023-03-23-2.log.gz, artemis.log.2023-03-23-20.log.gz, 
> artemis.log.2023-03-23-21.log.gz, artemis.log.2023-03-23-22.log.gz, 
> artemis.log.2023-03-23-23.log.gz, artemis.log.2023-03-23-24.log.gz, 
> artemis.log.2023-03-23-25.log.gz, artemis.log.2023-03-23-26.log.gz, 
> artemis.log.2023-03-23-27.log.gz, artemis.log.2023-03-23-28.log.gz, 
> artemis.log.2023-03-23-29.log.gz, artemis.log.2023-03-23-3.log.gz, 
> artemis.log.2023-03-23-30.log.gz, artemis.log.2023-03-23-31.log.gz, 
> artemis.log.2023-03-23-32.log.gz, artemis.log.2023-03-23-33.log.gz, 
> artemis.log.2023-03-23-34.log.gz, artemis.log.2023-03-23-35.log.gz, 
> artemis.log.2023-03-23-36.log.gz, artemis.log.2023-03-23-37.log.gz, 
> artemis.log.2023-03-23-38.log.gz, artemis.log.2023-03-23-39.log.gz, 
> artemis.log.2023-03-23-4.log.gz, artemis.log.2023-03-23-40.log.gz, 
> artemis.log.2023-03-23-41.log.gz, artemis.log.2023-03-23-42.log.gz, 
> artemis.log.2023-03-23-43.log.gz, artemis.log.2023-03-23-44.log.gz, 
> artemis.log.2023-03-23-45.log.gz, artemis.log.2023-03-23-46.log.gz, 
> artemis.log.2023-03-23-47.log.gz, artemis.log.2023-03-23-48.log.gz, 
> artemis.log.2023-03-23-49.log.gz, artemis.log.2023-03-23-5.log.gz, 
> artemis.log.2023-03-23-50.log.gz, artemis.log.2023-03-23-51.log.gz, 
> artemis.log.2023-03-23-52.log.gz, artemis.log.2023-03-23-53.log.gz, 
> artemis.log.2023-03-23-54.log.gz, artemis.log.2023-03-23-55.log.gz, 
> artemis.log.2023-03-23-56.log.gz, artemis.log.2023-03-23-57.log.gz, 
> artemis.log.2023-03-23-58.log.gz, artemis.log.2023-03-23-59.log.gz, 
> artemis.log.2023-03-23-6.log.gz, artemis.log.2023-03-23-60.log.gz, 
> artemis.log.2023-03-23-61.log.gz, artemis.log.2023-03-23-62.log.gz, 
> artemis.log.2023-03-23-63.log.gz, artemis.log.2023-03-23-64.log.gz, 
> artemis.log.2023-03-23-65.log.gz, artemis.log.2023-03-23-66.log.gz, 
> artemis.log.2023-03-23-67.log.gz, artemis.log.2023-03-23-68.log.gz, 
> artemis.log.2023-03-23-69.log.gz, artemis.log.2023-03-23-7.log.gz, 
> artemis.log.2023-03-23-70.log.gz, artemis.log.2023-03-23-71.log.gz, 
> artemis.log.2023-03-23-72.log.gz, artemis.log.2023-03-23-73.log.gz, 
> artemis.log.2023-03-23-74.log.gz, artemis.log.2023-03-23-75.log.gz, 
> artemis.log.2023-03-23-76.log.gz, artemis.log.2023-03-23-77.log.gz, 
> artemis.log.2023-03-23-78.log.gz, artemis.log.2023-03-23-79.log.gz, 
> artemis.log.2023-03-23-8.log.gz, artemis.log.2023-03-23-80.log.gz, 
> artemis.log.2023-03-23-81.log.gz, artemis.log.2023-03-23-82.log.gz, 
> artemis.log.2023-03-23-83.log.gz, artemis.log.2023-03-23-84.log.gz, 
> artemis.log.2023-03-23-85.log.gz, artemis.log.2023-03-23-86.log.gz, 
> artemis.log.2023-03-23-87.log.gz, artemis.log.2023-03-23-88.log.gz, 
> artemis.log.2023-03-23-89.log.gz, artemis.log.2023-03-23-9.log.gz, 
> artemis.log.2023-03-23-90.log.gz, artemis.log.2023-03-23-91.log.gz, 
> artemis.log.2023-03-23-92.log.gz, artemis.log.2023-03-23-93.log.gz, 
> artemis.log.2023-03-23-94.log.gz, artemis.log.2023-03-23-95.log.gz, 
> artemis.log.2023-03-23-96.log.gz, artemis.log.2023-03-23-97.log.gz, 
> artemis.log.2023-03-23-98.log.gz, artemis.log.2023-03-23-99.log.gz
>
>
> Some of the AMQP messages sent by my client never arrive at the consumer. In 
> the Artemis log I found the following exception:
>  
>  
> {code:java}
> 2023-03-23 18:06:58,084 WARN  
> [org.apache.activemq.artemis.protocol.amqp.logger] AMQ111005: Failed to 
> convert message. Sending 

[jira] [Created] (ARTEMIS-4178) Fixing typo on amqp-broker-connections.md

2023-02-22 Thread Timothy A. Bish (Jira)
Timothy A. Bish created ARTEMIS-4178:


 Summary: Fixing typo on amqp-broker-connections.md
 Key: ARTEMIS-4178
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4178
 Project: ActiveMQ Artemis
  Issue Type: Task
  Components: AMQP
Affects Versions: 2.28.0
Reporter: Timothy A. Bish
Assignee: Timothy A. Bish
 Fix For: 2.29.0


Fixing some minor typos in amqp-broker-connections.md



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


[jira] [Closed] (ARTEMIS-771) Can't use wildcard topic subscription with AMQP

2023-02-02 Thread Timothy A. Bish (Jira)


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

Timothy A. Bish closed ARTEMIS-771.
---
Resolution: Cannot Reproduce

I've tested this both with auto create enabled and disabled where I created the 
necessary addresses and it works as expected, closing as it likely was 
addressed by other changes over time.

> Can't use wildcard topic subscription with AMQP
> ---
>
> Key: ARTEMIS-771
> URL: https://issues.apache.org/jira/browse/ARTEMIS-771
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Reporter: Gordon Sim
>Assignee: Martyn Taylor
>Priority: Major
>
> I want to use wildcarded topic subscriptions with AMQP. I.e. I want to 
> receive from topic.news.# and send to either topic.news.usa or 
> topics.news.europe, and have my receiver see all matching messages.
> However I get a not-found exception when trying to attach a sender to either 
> topic.news.use or topic.news.europe.



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


[jira] [Commented] (ARTEMIS-4130) failed amqp connect attempt leads to 3 stack traces in log

2023-02-02 Thread Timothy A. Bish (Jira)


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

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

There is a relation to ARTEMIS-2431 though in that the error condition that's 
getting returned from pipelined open should not be about an NPE etc but should 
indicate the access violation which it now does. 

> failed amqp connect attempt leads to 3 stack traces in log
> --
>
> Key: ARTEMIS-4130
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4130
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.27.1
>Reporter: Erwin Dondorp
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> context:
> * server login.conf allows only "PropertiesLoginModule required" (i.e. 
> username+password only)
> * client is using AMQP with Python Proton library
> * client is connecting anonymously to this server
> the connect attempt is supposed to fail because it is trying anonymous login 
> on a server that does not allow that. but that is not the problem.
> instead of a simple rejected login, this results in 3 stack traces in the 
> artemis server logfile per connect attempt. the client still gets its 
> rejection, but in the form of a "amqp:internal-error / Unrecoverable error: 
> NullPointerException".
> this is the log for a single connect attempt:
> {noformat}
> 2023-01-15 12:46:35,847 WARN  [org.apache.activemq.artemis.core.server] 
> AMQ16: Security problem while authenticating: AMQ229031: Unable to 
> validate user from /10.11.1.3:62895. Username: null; SSL certificate subject 
> DN: unavailable
> 2023-01-15 12:46:35,847 WARN  
> [org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext] 
> AMQ229031: Unable to validate user from /10.11.1.3:62895. Username: null; SSL 
> certificate subject DN: unavailable
> org.apache.activemq.artemis.api.core.ActiveMQSecurityException: AMQ229031: 
> Unable to validate user from /10.11.1.3:62895. Username: null; SSL 
> certificate subject DN: unavailable
> at 
> org.apache.activemq.artemis.core.security.impl.SecurityStoreImpl.authenticationFailed(SecurityStoreImpl.java:360)
>  ~[artemis-server-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.core.security.impl.SecurityStoreImpl.authenticate(SecurityStoreImpl.java:189)
>  ~[artemis-server-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.validateUser(ActiveMQServerImpl.java:1744)
>  ~[artemis-server-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.validateUser(AMQPConnectionContext.java:595)
>  ~[artemis-amqp-protocol-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.onRemoteOpen(AMQPConnectionContext.java:553)
>  ~[artemis-amqp-protocol-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.Events.dispatch(Events.java:32)
>  ~[artemis-amqp-protocol-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.dispatch(ProtonHandler.java:565)
>  ~[artemis-amqp-protocol-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.flush(ProtonHandler.java:361)
>  ~[artemis-amqp-protocol-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.inputBuffer(ProtonHandler.java:318)
>  ~[artemis-amqp-protocol-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.inputBuffer(AMQPConnectionContext.java:242)
>  ~[artemis-amqp-protocol-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:134)
>  ~[artemis-amqp-protocol-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:691)
>  ~[artemis-server-2.27.1.jar:2.27.1]
> at 
> org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73)
>  ~[artemis-core-client-2.27.1.jar:2.27.1]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
>  ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
>  ~[netty-transport-4.1.82.Final.jar:4.1.82.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
> 

[jira] [Assigned] (ARTEMIS-2431) [AMQP] Broker does not send security errors for unauthorized anonymous sasl with pipelined open

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


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

Timothy A. Bish reassigned ARTEMIS-2431:


Assignee: Timothy A. Bish

> [AMQP] Broker does not send security errors for unauthorized anonymous sasl 
> with pipelined open
> ---
>
> Key: ARTEMIS-2431
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2431
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.9.0
>Reporter: Jiri Daněk
>Assignee: Timothy A. Bish
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> If a client sends open, begin and attach frames all at once, then the issue 
> ARTEMIS-2344 still manifests itself. Sending the initial frames all at once 
> is known as the pipelined open, 
> http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#doc-idp157520
>  and one client that does this is qpid-proton-cpp.
> {noformat}
> $ PN_TRACE_FRM=1 ./target/bin/aac3_sender -b "localhost:34949/examples" 
> --log-msgs dict -c 1
> [0x9ea9d0]:  -> SASL
> [0x9ea9d0]:  <- SASL
> [0x9ea9d0]:0 <- @sasl-mechanisms(64) 
> [sasl-server-mechanisms=@PN_SYMBOL[:PLAIN, :ANONYMOUS]]
> [0x9ea9d0]:0 -> @sasl-init(65) [mechanism=:ANONYMOUS, 
> initial-response=b"anonymous@nixos"]
> [0x9ea9d0]:0 <- @sasl-outcome(68) [code=0]
> [0x9ea9d0]:  -> AMQP
> [0x9ea9d0]:0 -> @open(16) 
> [container-id="204c1d45-9c47-402d-809f-7d17a4d97d6e", hostname="localhost", 
> channel-max=32767]
> [0x9ea9d0]:0 -> @begin(17) [next-outgoing-id=0, incoming-window=2147483647, 
> outgoing-window=2147483647]
> [0x9ea9d0]:0 -> @attach(18) [name="2b46ad5b-834b-454e-a2f7-2e5e0e324e21", 
> handle=0, role=false, snd-settle-mode=2, rcv-settle-mode=0, 
> source=@source(40) [durable=0, timeout=0, dynamic=false], target=@target(41) 
> [address="examples", durable=0, timeout=0, dynamic=false], 
> initial-delivery-count=0, max-message-size=0]
> [0x9ea9d0]:  <- AMQP
> [0x9ea9d0]:0 <- @open(16) [container-id="localhost", max-frame-size=131072, 
> channel-max=65535, idle-time-out=3, 
> offered-capabilities=@PN_SYMBOL[:"sole-connection-for-container", 
> :"DELAYED_DELIVERY", :"SHARED-SUBS", :"ANONYMOUS-RELAY"], 
> properties={:product="apache-activemq-artemis", :version="2.9.0"}]
> [0x9ea9d0]:0 <- @close(24) [error=@error(29) 
> [condition=:"amqp:internal-error", description="Unrecoverable error: 
> NullPointerException"]]
> [0x9ea9d0]:  <- EOS
> [error]: Failed to connect to localhost:34949
> [0x9ea9d0]:0 -> @close(24) []
> [0x9ea9d0]:  -> EOS
> {noformat}
> The broker side then looks like this
> {noformat}
> DEBUG - -Dio.netty.recycler.maxCapacityPerThread: 4096
> DEBUG - -Dio.netty.recycler.maxSharedCapacityFactor: 2
> DEBUG - -Dio.netty.recycler.linkCapacity: 16
> DEBUG - -Dio.netty.recycler.ratio: 8
> DEBUG - onSaslInit: SaslImpl [_outcome=PN_SASL_NONE, state=PN_SASL_STEP, 
> done=false, role=SERVER]
> DEBUG - saslComplete: SaslImpl [_outcome=PN_SASL_NONE, state=PN_SASL_STEP, 
> done=false, role=SERVER]
> DEBUG - using hardware address 2:42:ffbb:ffa4:4d:-110
> INFO - AMQ601267: User anonymous is creating a core session on target 
> resource ActiveMQServerImpl::serverUUID=85b3269d-8773-11e9-8808-c0b6f9980288 
> [with parameters: [dbdce52b-ae0f-11e9-8b93-0242bba44d92, null, , 102400, 
> org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection@26c5379b,
>  false, false, false, true, null, 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback@673826ee,
>  true, OperationContextImpl [834445691] [minimalStore=9223372036854775807, 
> storeLineUp=0, stored=0, minimalReplicated=9223372036854775807, 
> replicationLineUp=0, replicated=0, paged=0, minimalPage=9223372036854775807, 
> pageLineUp=0, errorCode=-1, errorMessage=null, executorsPending=0, 
> executor=OrderedExecutor(tasks=[])], {}]]
> DEBUG - Couldn't validate user
> javax.security.auth.login.LoginException: Invalid null input: name
>   at javax.security.auth.login.LoginContext.init(LoginContext.java:238)
>   at javax.security.auth.login.LoginContext.(LoginContext.java:512)
>   at 
> org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager.getAuthenticatedSubject(ActiveMQJAASSecurityManager.java:190)
>   at 
> org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager.validateUser(ActiveMQJAASSecurityManager.java:99)
>   at 
> org.apache.activemq.artemis.core.security.impl.SecurityStoreImpl.authenticate(SecurityStoreImpl.java:137)
>   at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createSession(ActiveMQServerImpl.java:1519)
>   at 
> 

[jira] [Updated] (ARTEMIS-3178) Provide a way to limit the size of an address after paged

2023-01-27 Thread Timothy A. Bish (Jira)


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

Timothy A. Bish updated ARTEMIS-3178:
-
Description: 
I am adding three attributes to Address-settings:
 * page-limit-bytes: Number of bytes. We will convert this metric into max 
number of pages internally by dividing max-bytes / page-size. It will allow a 
max based on an estimate.
 * page-limit-messages: Number of messages
 * page-full-message-policy: fail : drop

We will now allow paging, until these max values and then fail or drop messages.

Once these values are retracted, the address will remain full until a period 
where cleanup is kicked in by paging. So these values may have a certain delay 
on being applied, but they should always be cleared once cleanup happened.

  was:
I am adding three attributes to Address-settings:

page-limit-bytes: Number of bytes. We will convert this metric into max number 
of pages internally by dividing max-bytes / page-size. It will allow a max 
based on an estimate.
page-limit-messages: Number of messages
page-full-message-policy: fail : drop



We will now allow paging, until these max values and then fail or drop messages.


Once these values are retracted, the address will remain full until a period 
where cleanup is kicked in by paging. So these values may have a certain delay 
on being applied, but they should always be cleared once cleanup happened.


> Provide a way to limit the size of an address after paged
> -
>
> Key: ARTEMIS-3178
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3178
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker, Configuration
>Affects Versions: 2.17.0
>Reporter: Gary Tully
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I am adding three attributes to Address-settings:
>  * page-limit-bytes: Number of bytes. We will convert this metric into max 
> number of pages internally by dividing max-bytes / page-size. It will allow a 
> max based on an estimate.
>  * page-limit-messages: Number of messages
>  * page-full-message-policy: fail : drop
> We will now allow paging, until these max values and then fail or drop 
> messages.
> Once these values are retracted, the address will remain full until a period 
> where cleanup is kicked in by paging. So these values may have a certain 
> delay on being applied, but they should always be cleared once cleanup 
> happened.



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


[jira] [Closed] (ARTEMIS-3153) Broker doesn't respect prefixes from AMQP client

2023-01-27 Thread Timothy A. Bish (Jira)


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

Timothy A. Bish closed ARTEMIS-3153.

Resolution: Cannot Reproduce

Closing as tests added show this to be working, can be reopened if new data is 
presented that provides a means of recreating the issue

> Broker doesn't respect prefixes from AMQP client
> 
>
> Key: ARTEMIS-3153
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3153
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Reporter: Justin Bertram
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> The broker doesn't appear to respect an AMQP client using a prefix (e.g. 
> {{anycast://}} or {{multicast://}}) when sending or consuming messages.



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


[jira] [Commented] (ARTEMIS-3153) Broker doesn't respect prefixes from AMQP client

2023-01-27 Thread Timothy A. Bish (Jira)


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

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

I'd probably consider closing this as cannot reproduce unless there is more 
information provided, I did find a different but unrelated issue that I'm 
looking at but this one seems to work so long as you've configured the broker 
properly. 

> Broker doesn't respect prefixes from AMQP client
> 
>
> Key: ARTEMIS-3153
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3153
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Reporter: Justin Bertram
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> The broker doesn't appear to respect an AMQP client using a prefix (e.g. 
> {{anycast://}} or {{multicast://}}) when sending or consuming messages.



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


[jira] [Updated] (ARTEMIS-3153) Broker doesn't respect prefixes from AMQP client

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


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

Timothy A. Bish updated ARTEMIS-3153:
-
Component/s: AMQP

> Broker doesn't respect prefixes from AMQP client
> 
>
> Key: ARTEMIS-3153
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3153
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Reporter: Justin Bertram
>Priority: Major
>
> The broker doesn't appear to respect an AMQP client using a prefix (e.g. 
> {{anycast://}} or {{multicast://}}) when sending or consuming messages.



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


[jira] [Commented] (ARTEMIS-3153) Broker doesn't respect prefixes from AMQP client

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


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

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

There is a relation to the behaviours discussed above:

{quote}
 * consumer without prefix: FAIL, address and queue are created, but as 
ANYCAST; should have been MULTICAST as per the default-routing-type

{quote}

This case is an expression of ARTEMIS-4132 which if tested again in a new 
release will now pass leaving the remaining failures.

 

> Broker doesn't respect prefixes from AMQP client
> 
>
> Key: ARTEMIS-3153
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3153
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Priority: Major
>
> The broker doesn't appear to respect an AMQP client using a prefix (e.g. 
> {{anycast://}} or {{multicast://}}) when sending or consuming messages.



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


  1   2   3   >