Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge Feature/replication plugin into activemq-5.17.3.crdr, prepare ActiveMQ version 5.17.3.crdr.0 #7

Closed
wants to merge 161 commits into from

Conversation

Charlie-chenchrl
Copy link

AMQ-8354

Asynchronous replication plugin. Details can be found in apache#848 and apache#953.

Testing

  • maven build with mvn -U -B -e clean install -DskipTests
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for ActiveMQ 5.17.3.crdr.0:
[INFO]
[INFO] ActiveMQ ........................................... SUCCESS [  1.698 s]
[INFO] ActiveMQ :: Openwire Generator ..................... SUCCESS [  1.751 s]
[INFO] ActiveMQ :: Client ................................. SUCCESS [  7.790 s]
[INFO] ActiveMQ :: Openwire Legacy Support ................ SUCCESS [  2.083 s]
[INFO] ActiveMQ :: JAAS ................................... SUCCESS [  1.223 s]
[INFO] ActiveMQ :: Broker ................................. SUCCESS [  3.914 s]
[INFO] ActiveMQ :: KahaDB Store ........................... SUCCESS [  2.553 s]
[INFO] ActiveMQ :: STOMP Protocol ......................... SUCCESS [  1.172 s]
[INFO] ActiveMQ :: MQTT Protocol .......................... SUCCESS [  1.105 s]
[INFO] ActiveMQ :: JDBC Store ............................. SUCCESS [  0.805 s]
[INFO] ActiveMQ :: Generic JMS Pool ....................... SUCCESS [  0.735 s]
[INFO] ActiveMQ :: Pool ................................... SUCCESS [  0.466 s]
[INFO] ActiveMQ :: RA ..................................... SUCCESS [  1.047 s]
[INFO] ActiveMQ :: Spring ................................. SUCCESS [  3.071 s]
[INFO] ActiveMQ :: Console ................................ SUCCESS [  1.144 s]
[INFO] ActiveMQ :: Partition Management ................... SUCCESS [  0.526 s]
[INFO] ActiveMQ :: Runtime Configuration .................. SUCCESS [  8.924 s]
[INFO] ActiveMQ :: Tooling ................................ SUCCESS [  0.024 s]
[INFO] ActiveMQ :: JUnit Rule ............................. SUCCESS [  0.409 s]
[INFO] ActiveMQ :: Unit Tests ............................. SUCCESS [ 13.310 s]
[INFO] ActiveMQ :: HTTP Protocol Support .................. SUCCESS [  2.205 s]
[INFO] ActiveMQ :: AMQP ................................... SUCCESS [  2.038 s]
[INFO] ActiveMQ :: All JAR bundle ......................... SUCCESS [  1.425 s]
[INFO] ActiveMQ :: Log4j Appender ......................... SUCCESS [  0.294 s]
[INFO] ActiveMQ :: Apache Karaf ........................... SUCCESS [  1.144 s]
[INFO] ActiveMQ :: ConnectionFactory ...................... SUCCESS [  0.257 s]
[INFO] ActiveMQ :: RAR .................................... SUCCESS [  0.856 s]
[INFO] ActiveMQ :: Run Jar ................................ SUCCESS [  0.183 s]
[INFO] ActiveMQ :: Shiro .................................. SUCCESS [  1.051 s]
[INFO] ActiveMQ :: Memory Usage Test Plugin ............... SUCCESS [  1.404 s]
[INFO] ActiveMQ :: Performance Test Plugin ................ SUCCESS [  1.261 s]
[INFO] ActiveMQ :: StartUp/Stop Plugin .................... SUCCESS [  2.302 s]
[INFO] ActiveMQ :: Web .................................... SUCCESS [  1.095 s]
[INFO] ActiveMQ :: OSGi bundle ............................ SUCCESS [  5.731 s]
[INFO] ActiveMQ :: Blueprint .............................. SUCCESS [  0.231 s]
[INFO] ActiveMQ :: Web Demo ............................... SUCCESS [  8.531 s]
[INFO] ActiveMQ :: Web Console ............................ SUCCESS [  5.463 s]
[INFO] ActiveMQ :: Karaf Integration Tests ................ SUCCESS [  1.710 s]
[INFO] ActiveMQ :: Assembly ............................... SUCCESS [ 15.457 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:47 min
[INFO] Finished at: 2023-05-02T16:33:45-07:00
[INFO] ------------------------------------------------------------------------
  • run all Replication Integration tests with mvn -B -e -fae '-Dtest=org.apache.activemq.broker.replica.*Test' test
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 82, Failures: 0, Errors: 0, Skipped: 0
[INFO]
  • test locally with ./run-built-activemq.sh, validated primary and replica broker console.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

ehossack-aws and others added 30 commits May 2, 2023 14:28
This adds the initial replication queue and blocks
other access to the resource until it is fully
initialized
* Create the replication queue
* Replicate destinations
Excluded Advisory messages from replication.
Added soft_start command to be able to restart the brokers without losing the data.
Fixed the bug when the source broker couldn't start when there is already a precreated queue.
Fixed the bug with duplicated events on restart.
Added some tests.
Added correct replication of acknowledge.
Added replication of ADD_CONSUMER and REMOVE_CONSUMER.
Removed some obsolete code
Deleted MESSAGE_DISCARDED replication.
Fixed the protocol name.
Added a separate context for the replica side, to be able to filter out and not replicate requests that were received from the second broker.
…to not send drop message events on acknowledgement.
…ges and to not send drop message events on acknowledgement."

This reverts commit 831f578.
@Charlie-chenchrl Charlie-chenchrl changed the title merge Feature/replication plugin into activemq-5.17.3.crdr merge Feature/replication plugin into activemq-5.17.3.crdr, prepare ActiveMQ version 5.17.3.crdr.0 May 2, 2023
@Charlie-chenchrl Charlie-chenchrl force-pushed the feature/replicationPlugin branch 3 times, most recently from 9a3edeb to bc867ea Compare June 8, 2023 01:32
@Charlie-chenchrl Charlie-chenchrl force-pushed the feature/replicationPlugin branch 2 times, most recently from bafb5a9 to 8fd95b1 Compare June 8, 2023 06:37
* [AMQ-8354] Remove unused imports.

* [AMQ-8354] Add missing licenses.

* [AMQ-8354] Fix classloader issue.
Improve failover logs.

* [AMQ-8354] Add heart beat messages.

* [AMQ-8354] Add versioning.

* [AMQ-8354] Throw exception on replication errors.

* [AMQ-8354] Delete TODOs and FIXMEs

* [AMQ-8354] add replication lag and wait time metrics.

* fix flaky Replication Integration tests

* fix flaky test: ReplicaAcknowledgeReplicationEventTest

---------

Co-authored-by: Nikita Shupletsov <[email protected]>
* Fix unit tests which fail related to log4j 2.17.2 update

* Fix log name in SharedFileLockerLoggingTest and enable runtime config module (local changed pushed by mistake)

---------

Co-authored-by: Jean-Baptiste Onofré <[email protected]>
* [AMQ-8567] Upgrade maven-surefire-plugin to 3.0.0-M6 (apache#819)

- Exclude problematic unit tests for now

* add test profile replica-plugin

---------

Co-authored-by: Matt Pavlovich <[email protected]>
@kenliao94 kenliao94 closed this May 13, 2024
@kenliao94 kenliao94 deleted the feature/replicationPlugin branch May 13, 2024 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants