[ https://issues.apache.org/jira/browse/ARTEMIS-4470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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)