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

Reply via email to