The reason for this is that there's a whole infrastructure built using the core protocol, and now we need to connect a Python-based Lambda capable of receiving large messages. Is there any other, core-compatible method?
Jan Dne 22. 7. 2022 21:21 napsal uživatel Clebert Suconic <clebert.suco...@gmail.com>: If you expect conversions to happen, you have to send messages from qpid-ms or core-jms client. On the case: ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(); Connection conn = factory.createConnection(...); Session session = conn.createSession(...) Producer producer = session.createProducer(....); producer.send(session.createTextMessage(YOUR-LARGE-BODY-GOES-HERE); Then the conversion from Core to AMQP should happen fine when you receive the message on the other side at your Python client. If you really must use the Core-API, then you will need to hack your way in and find what the JMS client would do.. but at that point it's just a non standard way of doing this... You would need to have a very good reason to not do the right thing on this case. On Fri, Jul 22, 2022 at 3:00 PM Clebert Suconic <clebert.suco...@gmail.com> wrote: > > If you’re not using qpid JMS it will not work. > > On Fri, Jul 22, 2022 at 8:06 AM Andy Yar <andyya...@gmail.com> 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 <andyya...@gmail.com> 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 <clebert.suco...@gmail.com> >>> 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 >>>> <clebert.suco...@gmail.com> 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 <andyya...@gmail.com> 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 >>>> > > <clebert.suco...@gmail.com> >>>> > > 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 <andyya...@gmail.com> 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 >>>> > > > > <clebert.suco...@gmail.com> 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 >>>> > > > > > <jbert...@apache.org> >>>> > > > > 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 <andyya...@gmail.com> >>>> > > > 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 -- Clebert Suconic