Can you share the results of the testing?  I’m having a hard time tracking how 
adding the transaction does not incur latency.

> On Sep 14, 2022, at 2:03 PM, Nikita Shupletsov <nshup...@amazon.com.INVALID> 
> wrote:
> 
> Yeah, I agree that there is some overhead because of transactions. but our 
> tests didn't show any significant impact on the performance.
> 
> We use JMS transactions, not XA, so there is no transaction prepare 
> operations. From my understanding nothing gets written to disk for 
> non-persistent messages regardless the transaction they are in.
> 
> And our tests also didn't show any issues with non-persistent messages.
> 
> On 9/13/22 18:31, Étienne Hossack wrote:
>> CAUTION: This email originated from outside of the organization. Do not 
>> click links or open attachments unless you can confirm the sender and know 
>> the content is safe.
>> 
>> 
>> 
>> An issue one could possible see with adding transactions is the memory and 
>> speed overhead.
>> 
>> Have you tested this with very large messages or high throughput? What's the 
>> impact there?
>> I would expect that because the transaction "prepare"s MUST be written to 
>> disk, it would limit the modes in which this could be run (not that it 
>> really would make sense to enable replication for a broker with in-memory 
>> only messages), but you couldn't for example have delayed paging right?.
>> 
>> --
>> Étienne
>> 
>> On Tue, 13 Sep 2022, at 4:55 PM, Nikita Shupletsov wrote:
>>> Greetings.
>>> 
>>> It's a gentle reminder of the change I have been working on - an
>>> Asynchronous Replication plugin for ActiveMQ “Classic”
>>> https://issues.apache.org/jira/browse/AMQ-8354.
>>> The latest changes can be found here:
>>> https://github.com/apache/activemq/pull/848. I would really appreciate
>>> comments and feedback.
>>> 
>>> We started wrapping the original message and the corresponding
>>> replication message in a transaction(if the original message already has
>>> a transaction, we will add the replication message to the same
>>> transaction. If not, we will create a new one). The idea behind is to
>>> make both writes atomic so that we can preserve consistency.
>>> I would be glad to get any opinion on that.
>>> 
>>> We are still in the phase of active development and bug fixing, so any
>>> input is welcome!
>>> 
>>> On 6/10/22 17:15, Nikita Shupletsov wrote:
>>>> Greetings.
>>>> 
>>>> My name is Nikita Shupletsov. I am a software development engineer at
>>>> Amazon MQ.
>>>> 
>>>> I have been working on an Asynchronous Replication plugin for ActiveMQ
>>>> “Classic” that was proposed by Étienne Hossack last year:
>>>> https://issues.apache.org/jira/browse/AMQ-8354. Étienne published a
>>>> high level design document
>>>> (https://github.com/ehossack-aws/activemq-replication-design/tree/initial-design)
>>>> though I’m not sure if many of you would have reviewed it or provided
>>>> feedback.
>>>> 
>>>> I have published my latest changes
>>>> here:https://github.com/amazon-mq/upstreaming-activemq/pull/1 and
>>>> would appreciate comments and feedback from anyone.
>>>> 
>>>> To be perfectly clear, this repository is only going to be used for
>>>> working on changes that we (Amazon MQ) plan to submit upstream to the
>>>> Apache ActiveMQ community. We are not planning to maintain a fork of
>>>> ActiveMQ - the purpose is solely to upstream changes.
>>>> 
>>>> Currently the plugin supports:
>>>> 
>>>>   * create/delete destinations
>>>>   * send message to queues and topics(except temporary destinations
>>>>     and advisory topics)
>>>>   * durable subscribers
>>>>   * message acknowledge for queues and topic durable subscribers
>>>>   * transactions and XA transaction
>>>> 
>>>> We are still working on the infrastructure part of the story such as:
>>>> 
>>>>   * error handling and message retries
>>>>   * JMX metrics to monitor the health of the replication
>>>>   * the plugin structure
>>>>   * testing, looking for missed functionality and bugs
>>>> 
>>>> 
>>>> We are still in the phase of active development, so any early input is
>>>> welcome!

Reply via email to