You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by BRASSEUR Pierre-Henry <Pi...@soprabanking.com> on 2021/11/30 08:46:02 UTC

Question about charset supported by Artemis

Hello,

I would like to know if Artemis can support other charset than UTF-8?

The post of message in charset ISO-8859-15 was working with previous version ActiveMQ 5.15.9.
We upgraded to Artemis 2.16 and messages with special characters are now rejected by Artemis (exception on org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf).

Thanks in advance.
Kind regards,



C2 - Restricted

RE: Question about charset supported by Artemis

Posted by BRASSEUR Pierre-Henry <Pi...@soprabanking.com>.
Ok, I created the following Jira ticket: ARTEMIS-3598

Thanks.


C2 - Restricted

-----Original Message-----
From: Gary Tully <ga...@gmail.com> 
Sent: Thursday, 2 December 2021 12:04
To: users@activemq.apache.org
Subject: Re: Question about charset supported by Artemis

[Vous ne recevez pas souvent de courriers de la part de gary.tully@gmail.com. Découvrez pourquoi cela peut être important à l'adresse http://aka.ms/LearnAboutSenderIdentification.]

I think so, a test is the only way to be sure.

my bet is sending a text message from openwire with a mix of UTF-8 and
UTF-16 characters will end up in the same state. Openwire will marshallUTF (not it is not 8 or 16)  that will use 2 or 3 or N bytes as required.
the UTF8 decoder on the server that try's to decode to transform the message to CORE will barf on the first non UTF-8 character. I think!

On Thu, 2 Dec 2021 at 08:03, BRASSEUR Pierre-Henry <Pi...@soprabanking.com> wrote:
>
> Hello,
>
> Regarding Artemis and the stack trace here under, are we facing to a bug?
>
> Regards,
> Pierre-Henry
>
>
> C2 - Restricted
>
> -----Original Message-----
> From: BRASSEUR Pierre-Henry
> Sent: Tuesday, 30 November 2021 12:42
> To: users@activemq.apache.org
> Subject: RE: Question about charset supported by Artemis
>
> Hello,
>
> From ActiveMQ 5.15.9, the exception is raised as a warning and doesn't prevent the send of the message:
>
> 2021-11-22 16:02:52,432 | WARN  | handleException /admin/message.jsp 
> java.io.UTFDataFormatException | org.eclipse.jetty.server.HttpChannel 
> | qtp1099552523-44
>
>
> From Artemis 2.16, the exception is blocking and here the stack trace:
>
> 2021-11-04 12:51:32,145 WARN  
> [org.apache.activemq.artemis.core.server] AMQ222057: It was not 
> possible to add references due to an IO error code 6 message = Cannot 
> find tx with id 2188476617
> 2021-11-04 12:51:38,380 WARN  [org.apache.activemq.artemis.core.server] Errors occurred during the buffering operation : java.io.UTFDataFormatException
>         at org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:378) [activemq-client-5.16.0.jar:5.16.0]
>         at org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358) [activemq-client-5.16.0.jar:5.16.0]
>         at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:242) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:139) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:373) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1623) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
>         at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) [activemq-client-5.16.0.jar:5.16.0]
>         at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:323) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) [artemis-commons-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65) [artemis-commons-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65) [artemis-commons-2.17.0.jar:2.17.0]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_302]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_302]
>         at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQ
> ThreadFactory.java:118) [artemis-commons-2.17.0.jar:2.17.0]
>
>
> Regards,
> Pierre-Henry
>
>
> Sent: Tuesday, 30 November 2021 12:14
> To: users@activemq.apache.org
> Subject: Re: Question about charset supported by Artemis
>
> [Vous ne recevez pas souvent de courriers de la part de 
> gary.tully@gmail.com. Découvrez pourquoi cela peut être important à 
> l'adresse http://aka.ms/LearnAboutSenderIdentification.]
>
> can you post some code and/or the exception stack trace?
>
> On Tue, 30 Nov 2021 at 08:46, BRASSEUR Pierre-Henry <Pi...@soprabanking.com> wrote:
> >
> >
> > Hello,
> >
> > I would like to know if Artemis can support other charset than UTF-8?
> >
> > The post of message in charset ISO-8859-15 was working with previous version ActiveMQ 5.15.9.
> > We upgraded to Artemis 2.16 and messages with special characters are now rejected by Artemis (exception on org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf).
> >
> > Thanks in advance.
> > Kind regards,
> >
> >
> >
> > C2 - Restricted

Re: Question about charset supported by Artemis

Posted by Gary Tully <ga...@gmail.com>.
I think so, a test is the only way to be sure.

my bet is sending a text message from openwire with a mix of UTF-8 and
UTF-16 characters will end up in the same state. Openwire will
marshallUTF (not it is not 8 or 16)  that will use 2 or 3 or N bytes
as required.
the UTF8 decoder on the server that try's to decode to transform the
message to CORE will barf on the first non UTF-8 character. I think!

On Thu, 2 Dec 2021 at 08:03, BRASSEUR Pierre-Henry
<Pi...@soprabanking.com> wrote:
>
> Hello,
>
> Regarding Artemis and the stack trace here under, are we facing to a bug?
>
> Regards,
> Pierre-Henry
>
>
> C2 - Restricted
>
> -----Original Message-----
> From: BRASSEUR Pierre-Henry
> Sent: Tuesday, 30 November 2021 12:42
> To: users@activemq.apache.org
> Subject: RE: Question about charset supported by Artemis
>
> Hello,
>
> From ActiveMQ 5.15.9, the exception is raised as a warning and doesn't prevent the send of the message:
>
> 2021-11-22 16:02:52,432 | WARN  | handleException /admin/message.jsp java.io.UTFDataFormatException | org.eclipse.jetty.server.HttpChannel | qtp1099552523-44
>
>
> From Artemis 2.16, the exception is blocking and here the stack trace:
>
> 2021-11-04 12:51:32,145 WARN  [org.apache.activemq.artemis.core.server] AMQ222057: It was not possible to add references due to an IO error code 6 message = Cannot find tx with id 2188476617
> 2021-11-04 12:51:38,380 WARN  [org.apache.activemq.artemis.core.server] Errors occurred during the buffering operation : java.io.UTFDataFormatException
>         at org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:378) [activemq-client-5.16.0.jar:5.16.0]
>         at org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358) [activemq-client-5.16.0.jar:5.16.0]
>         at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:242) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:139) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:373) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1623) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
>         at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) [activemq-client-5.16.0.jar:5.16.0]
>         at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:323) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) [artemis-commons-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65) [artemis-commons-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.17.0.jar:2.17.0]
>         at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65) [artemis-commons-2.17.0.jar:2.17.0]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_302]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_302]
>         at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.17.0.jar:2.17.0]
>
>
> Regards,
> Pierre-Henry
>
>
> Sent: Tuesday, 30 November 2021 12:14
> To: users@activemq.apache.org
> Subject: Re: Question about charset supported by Artemis
>
> [Vous ne recevez pas souvent de courriers de la part de gary.tully@gmail.com. Découvrez pourquoi cela peut être important à l'adresse http://aka.ms/LearnAboutSenderIdentification.]
>
> can you post some code and/or the exception stack trace?
>
> On Tue, 30 Nov 2021 at 08:46, BRASSEUR Pierre-Henry <Pi...@soprabanking.com> wrote:
> >
> >
> > Hello,
> >
> > I would like to know if Artemis can support other charset than UTF-8?
> >
> > The post of message in charset ISO-8859-15 was working with previous version ActiveMQ 5.15.9.
> > We upgraded to Artemis 2.16 and messages with special characters are now rejected by Artemis (exception on org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf).
> >
> > Thanks in advance.
> > Kind regards,
> >
> >
> >
> > C2 - Restricted

RE: Question about charset supported by Artemis

Posted by BRASSEUR Pierre-Henry <Pi...@soprabanking.com>.
Hello,

Regarding Artemis and the stack trace here under, are we facing to a bug?

Regards,
Pierre-Henry


C2 - Restricted

-----Original Message-----
From: BRASSEUR Pierre-Henry 
Sent: Tuesday, 30 November 2021 12:42
To: users@activemq.apache.org
Subject: RE: Question about charset supported by Artemis

Hello,

From ActiveMQ 5.15.9, the exception is raised as a warning and doesn't prevent the send of the message:

2021-11-22 16:02:52,432 | WARN  | handleException /admin/message.jsp java.io.UTFDataFormatException | org.eclipse.jetty.server.HttpChannel | qtp1099552523-44


From Artemis 2.16, the exception is blocking and here the stack trace:

2021-11-04 12:51:32,145 WARN  [org.apache.activemq.artemis.core.server] AMQ222057: It was not possible to add references due to an IO error code 6 message = Cannot find tx with id 2188476617
2021-11-04 12:51:38,380 WARN  [org.apache.activemq.artemis.core.server] Errors occurred during the buffering operation : java.io.UTFDataFormatException
        at org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:378) [activemq-client-5.16.0.jar:5.16.0]
        at org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358) [activemq-client-5.16.0.jar:5.16.0]
        at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:242) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:139) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:373) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1623) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
        at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) [activemq-client-5.16.0.jar:5.16.0]
        at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:323) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) [artemis-commons-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65) [artemis-commons-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65) [artemis-commons-2.17.0.jar:2.17.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_302]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_302]
        at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.17.0.jar:2.17.0]


Regards,
Pierre-Henry


Sent: Tuesday, 30 November 2021 12:14
To: users@activemq.apache.org
Subject: Re: Question about charset supported by Artemis

[Vous ne recevez pas souvent de courriers de la part de gary.tully@gmail.com. Découvrez pourquoi cela peut être important à l'adresse http://aka.ms/LearnAboutSenderIdentification.]

can you post some code and/or the exception stack trace?

On Tue, 30 Nov 2021 at 08:46, BRASSEUR Pierre-Henry <Pi...@soprabanking.com> wrote:
>
>
> Hello,
>
> I would like to know if Artemis can support other charset than UTF-8?
>
> The post of message in charset ISO-8859-15 was working with previous version ActiveMQ 5.15.9.
> We upgraded to Artemis 2.16 and messages with special characters are now rejected by Artemis (exception on org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf).
>
> Thanks in advance.
> Kind regards,
>
>
>
> C2 - Restricted

RE: Question about charset supported by Artemis

Posted by BRASSEUR Pierre-Henry <Pi...@soprabanking.com>.
Hello,

From ActiveMQ 5.15.9, the exception is raised as a warning and doesn't prevent the send of the message:

2021-11-22 16:02:52,432 | WARN  | handleException /admin/message.jsp java.io.UTFDataFormatException | org.eclipse.jetty.server.HttpChannel | qtp1099552523-44


From Artemis 2.16, the exception is blocking and here the stack trace:

2021-11-04 12:51:32,145 WARN  [org.apache.activemq.artemis.core.server] AMQ222057: It was not possible to add references due to an IO error code 6 message = Cannot find tx with id 2188476617
2021-11-04 12:51:38,380 WARN  [org.apache.activemq.artemis.core.server] Errors occurred during the buffering operation : java.io.UTFDataFormatException
        at org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:378) [activemq-client-5.16.0.jar:5.16.0]
        at org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358) [activemq-client-5.16.0.jar:5.16.0]
        at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.writeTextType(OpenWireMessageConverter.java:242) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.inbound(OpenWireMessageConverter.java:139) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.send(AMQSession.java:373) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processMessage(OpenWireConnection.java:1623) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
        at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:769) [activemq-client-5.16.0.jar:5.16.0]
        at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:323) [artemis-openwire-protocol-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) [artemis-commons-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65) [artemis-commons-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.17.0.jar:2.17.0]
        at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65) [artemis-commons-2.17.0.jar:2.17.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_302]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_302]
        at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.17.0.jar:2.17.0]


Regards,
Pierre-Henry


Sent: Tuesday, 30 November 2021 12:14
To: users@activemq.apache.org
Subject: Re: Question about charset supported by Artemis

[Vous ne recevez pas souvent de courriers de la part de gary.tully@gmail.com. Découvrez pourquoi cela peut être important à l'adresse http://aka.ms/LearnAboutSenderIdentification.]

can you post some code and/or the exception stack trace?

On Tue, 30 Nov 2021 at 08:46, BRASSEUR Pierre-Henry <Pi...@soprabanking.com> wrote:
>
>
> Hello,
>
> I would like to know if Artemis can support other charset than UTF-8?
>
> The post of message in charset ISO-8859-15 was working with previous version ActiveMQ 5.15.9.
> We upgraded to Artemis 2.16 and messages with special characters are now rejected by Artemis (exception on org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf).
>
> Thanks in advance.
> Kind regards,
>
>
>
> C2 - Restricted

Re: Question about charset supported by Artemis

Posted by Gary Tully <ga...@gmail.com>.
can you post some code and/or the exception stack trace?

On Tue, 30 Nov 2021 at 08:46, BRASSEUR Pierre-Henry
<Pi...@soprabanking.com> wrote:
>
>
> Hello,
>
> I would like to know if Artemis can support other charset than UTF-8?
>
> The post of message in charset ISO-8859-15 was working with previous version ActiveMQ 5.15.9.
> We upgraded to Artemis 2.16 and messages with special characters are now rejected by Artemis (exception on org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf).
>
> Thanks in advance.
> Kind regards,
>
>
>
> C2 - Restricted