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