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

ARTEMIS-1779 ClusterConnectionBridge may connect to other nodes than its target #1984

Closed
wants to merge 1 commit into from

Conversation

gaohoward
Copy link
Contributor

The cluster connection bridge has a TopologyListener and connects to a new node
each time it receives a nodeUp() event. It needs to put a check here to make
sure that the cluster bridge only connects to its target node and it's backups.

This issue shows up when you run LiveToLiveFailoverTest.testConsumerTransacted
test.

Also in this commit improvement of BackupSyncJournalTest so that it runs more
stable.

…its target

The cluster connection bridge has a TopologyListener and connects to a new node
each time it receives a nodeUp() event. It needs to put a check here to make
sure that the cluster bridge only connects to its target node and it's backups.

This issue shows up when you run LiveToLiveFailoverTest.testConsumerTransacted
test.

Also in this commit improvement of BackupSyncJournalTest so that it runs more
stable.
@@ -127,9 +126,6 @@ public ClusterConnectionBridge(final ClusterConnection clusterConnection,
this.managementNotificationAddress = managementNotificationAddress;
this.flowRecord = flowRecord;

// we need to disable DLQ check on the clustered bridges
queue.setInternalQueue(true);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you change this?

It seems it doesn't have any connection to your change.

Beyond that.. we don't want any DLQ processing on internal queues from clustered bridge. This is a dangerous change.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@clebertsuconic no it doesn't. But it's redundant because this has already been set during the creation of cluster connection bridge. See
org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionImpl#nodeUP()

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok.. I see..

I have a small refactoring on this.. instead of trusting queue.isInternal I think we should move nodeUp to Bridge, and @OverRide on the ClusterBridge.

I'm running some tests before I merge it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@asfgit asfgit closed this in a8e81f2 Apr 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants