The snagging described seems to be in the Core sending+conversion legs of things, so the receiving AMQP client wouldnt seem likely to make much difference currently. Once its converted any AMQP 1.0 client should be able to receive it really.
On Fri, 22 Jul 2022 at 20:01, Clebert Suconic <[email protected]> wrote: > > If you’re not using qpid JMS it will not work. > > On Fri, Jul 22, 2022 at 8:06 AM Andy Yar <[email protected]> wrote: > > > There is another attempt employing AMQP test structures. It produces the > > same incorrect message body. > > > > On Fri, Jul 22, 2022 at 12:21 PM Andy Yar <[email protected]> wrote: > > > >> Hello, > >> Using the LargeServerMessageImpl was just an attempt providing a > >> seemingly easy way to introduce a kind of Large Message into the test. I'm > >> not familiar with the code base at all - so I simply tried to somehow > >> provide the requested test replicating my "sending via Core -> receiving > >> via Qpid" issue. The same applies to the explicit AMQP conversion - the > >> encountered error simply pointed on it. Is there an intended "test way" to > >> model the message transfer among different clients/protocols? > >> > >> Anyway, I've changed the test to employ > >> ClientLargeMessageImpl/ClientMessageImpl instead of the server-related > >> LargeServerMessageImpl with a very similar result. Does that implementation > >> fit the simulated use case (sending via Core -> receiving via Qpid AMQP) > >> better or is the explicit AMQP conversion misused? > >> > >> Please, see the attached patch. > >> > >> On Mon, Jul 18, 2022 at 3:50 PM Clebert Suconic < > >> [email protected]> wrote: > >> > >>> AMQP to Core and Core to AMQP conversions expect you using JMS clients > >>> to generate your message. There are certain caveats that both clients > >>> will add to the messages. > >>> > >>> > >>> Usually I have seen more users doing weird conversions in AMQP when > >>> they use a C++ or non Java Client.. but on your case you used a Core > >>> Client, using a non standard way to send a message (ServerMessage from > >>> the client)... and it's not clear the message is correctly set for a > >>> conversion to work. > >>> > >>> > >>> I need you to provide some explanation on what you're doing.. if this > >>> was a way to hack a bug your saw or if this is just the way you're > >>> using it. > >>> > >>> > >>> if this is how you're actually using, I would suggest you either use > >>> the proper APIs or if you're doing some hack for performance > >>> consideration you have to set the message in a better way the > >>> converters would understand... > >>> > >>> On Mon, Jul 18, 2022 at 9:38 AM Clebert Suconic > >>> <[email protected]> wrote: > >>> > > >>> > Are you using the LargeServerMessageImpl on your client, or that was > >>> > just a "hack" to reproduce your issue. > >>> > > >>> > > >>> > LargeServerMessageImpl was not meant to be used on the client. But if > >>> > you're doing that just to show something you faced in production it's > >>> > ok.. but using the LargeServerMessageImpl to send a Client Message is > >>> > a big not for me. > >>> > > >>> > The only reason we do that is for server to server transfer. > >>> > > >>> > On Mon, Jul 18, 2022 at 7:39 AM Andy Yar <[email protected]> wrote: > >>> > > > >>> > > Hello, > >>> > > Yes, the 2.23.1 test instance was freshly created. > >>> > > > >>> > > I've attached a test as a part of ARTEMIS-3897 > >>> > > <https://issues.apache.org/jira/browse/ARTEMIS-3897>. I hope it > >>> helps. > >>> > > > >>> > > > >>> > > On Sat, Jul 16, 2022 at 5:21 PM Clebert Suconic < > >>> [email protected]> > >>> > > wrote: > >>> > > > >>> > > > Did you start with fresh data on 2.23.1. > >>> > > > > >>> > > > If you did please provide a self enclosing test reproducing your > >>> issue. > >>> > > > > >>> > > > On Fri, Jul 15, 2022 at 4:29 AM Andy Yar <[email protected]> > >>> wrote: > >>> > > > > >>> > > > > A quick test using 2.23.1 results in the same error payload being > >>> > > > received: > >>> > > > > > >>> > > > > "Message(address='test', durable=True, priority=4, > >>> > > > > annotations=AnnotationDict({symbol('x-opt-jms-dest'): byte(0), > >>> > > > > symbol('x-opt-jms-msg-type'): byte(0)}), > >>> > > > > properties={'JMSXDeliveryCount': None, '_AMQ_LARGE_SIZE': 67}, > >>> > > > > body='Conversion to AMQP error: Error reading in simpleString, > >>> > > > > length=1330464032 is greater than readableBytes=62')" > >>> > > > > > >>> > > > > Best regards > >>> > > > > > >>> > > > > On Thu, Jul 14, 2022 at 9:18 PM Clebert Suconic > >>> > > > > <[email protected]> wrote: > >>> > > > > > > >>> > > > > > There's been a few fixes in AMQP Large message. > >>> > > > > > > >>> > > > > > > >>> > > > > > More prominently a fix with the JDBC implementation between > >>> 2.17 and > >>> > > > > HEAD. > >>> > > > > > > >>> > > > > > > >>> > > > > > I would definitely recommend you to upgrade. > >>> > > > > > > >>> > > > > > On Thu, Jul 14, 2022 at 10:26 AM Justin Bertram < > >>> [email protected]> > >>> > > > > wrote: > >>> > > > > > > > >>> > > > > > > I would expect this to work. Can you try this on the latest > >>> release > >>> > > > > (i.e. > >>> > > > > > > 2.23.1) [1]? > >>> > > > > > > > >>> > > > > > > If it still doesn't work please open a Jira with all the > >>> details > >>> > > > > necessary > >>> > > > > > > to reproduce the problem. An actual test-case would be ideal. > >>> > > > > > > > >>> > > > > > > Thanks! > >>> > > > > > > > >>> > > > > > > > >>> > > > > > > Justin > >>> > > > > > > > >>> > > > > > > [1] https://activemq.apache.org/components/artemis/download/ > >>> > > > > > > > >>> > > > > > > On Thu, Jul 14, 2022 at 9:20 AM Andy Yar < > >>> [email protected]> > >>> > > > wrote: > >>> > > > > > > > >>> > > > > > > > Hello, > >>> > > > > > > > Sending a message as a Large Message via Core protocol and > >>> > > > receiving > >>> > > > > > > > it via AMQP on Artemis 2.17.0 ends with receiving the > >>> following > >>> > > > > string > >>> > > > > > > > as message body: > >>> > > > > > > > > >>> > > > > > > > "Conversion to AMQP error: Error reading in simpleString, > >>> length=y > >>> > > > is > >>> > > > > > > > greater than readableBytes=x" > >>> > > > > > > > > >>> > > > > > > > Broker lists the message as Type: Default and Large: True. > >>> > > > > > > > > >>> > > > > > > > The receiver is basically Qpid's: > >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > >>> > > > > >>> https://github.com/apache/qpid-proton/blob/main/python/examples/queue_browser.py > >>> > > > > > > > > >>> > > > > > > > The doc > >>> > > > > > > > > >>> > > > > > >>> > > > > >>> https://activemq.apache.org/components/artemis/documentation/2.17.0/large-messages.html > >>> > > > > > > > states both Core and AMQP support Large Message. Is this > >>> approach > >>> > > > > > > > valid? > >>> > > > > > > > > >>> > > > > > > > Thanks > >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > >>> > > > > > > >>> > > > > > > >>> > > > > > -- > >>> > > > > > Clebert Suconic > >>> > > > > > >>> > > > -- > >>> > > > Clebert Suconic > >>> > > > > >>> > > >>> > > >>> > > >>> > -- > >>> > Clebert Suconic > >>> > >>> > >>> > >>> -- > >>> Clebert Suconic > >>> > >> -- > Clebert Suconic
