I just tested again. It worked the 1st iteration, but 2nd iteration, the
backup-f is waiting to be paired with primary.
1. start all broker instances
2. kill primary-f
3. check backup-f is active
4. start primary-f
5. check primary-f is the backup of backup-f
6. kill backup-f
7. check primary-f is active
8. start backup-f
9. backup-f is the backup of primary-f
10. kill primary-f
11. backup-f is active.
12. start primary-f
13. primary-f is backup of backup-f.
14. kill backup-f
15. primary-f is active
16. start backup-f
17. waiting to be paired with primary server.
However; if I changed the back server config to have
<allow-failback>true</allow-failback>, it always work.
Just want to be clear the configuration. I copy and paste the 3 cluster
broker.xml below:
Cluster 1
primary:
<broadcast-groups>
<broadcast-group name="bg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<broadcast-period>5000</broadcast-period>
<connector-ref>artemis</connector-ref>
</broadcast-group>
</broadcast-groups>
<discovery-groups>
<discovery-group name="dg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<refresh-timeout>10000</refresh-timeout>
</discovery-group>
</discovery-groups>
<cluster-connections>
<cluster-connection name="my-cluster">
<connector-ref>artemis</connector-ref>
<message-load-balancing>ON_DEMAND</message-load-balancing>
<max-hops>0</max-hops>
<discovery-group-ref discovery-group-name="dg-group1"/>
</cluster-connection>
</cluster-connections>
<ha-policy>
<replication>
<primary>
<vote-on-replication-failure>true</vote-on-replication-failure>
<check-for-active-server>true</check-for-active-server>
<group-name>fish</group-name>
</primary>
</replication>
</ha-policy>
Backup server:
<broadcast-groups>
<broadcast-group name="bg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<broadcast-period>5000</broadcast-period>
<connector-ref>artemis</connector-ref>
</broadcast-group>
</broadcast-groups>
<discovery-groups>
<discovery-group name="dg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<refresh-timeout>10000</refresh-timeout>
</discovery-group>
</discovery-groups>
<cluster-connections>
<cluster-connection name="my-cluster">
<connector-ref>artemis</connector-ref>
<message-load-balancing>ON_DEMAND</message-load-balancing>
<max-hops>0</max-hops>
<discovery-group-ref discovery-group-name="dg-group1"/>
</cluster-connection>
</cluster-connections>
<ha-policy>
<replication>
<backup>
<allow-failback>false</allow-failback>
<group-name>fish</group-name>
</backup>
</replication>
</ha-policy>
Cluster 2:
<broadcast-groups>
<broadcast-group name="bg-group2">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<broadcast-period>5000</broadcast-period>
<connector-ref>artemis</connector-ref>
</broadcast-group>
</broadcast-groups>
<discovery-groups>
<discovery-group name="dg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<refresh-timeout>10000</refresh-timeout>
</discovery-group>
</discovery-groups>
<cluster-connections>
<cluster-connection name="my-cluster2">
<connector-ref>artemis</connector-ref>
<message-load-balancing>ON_DEMAND</message-load-balancing>
<max-hops>0</max-hops>
<discovery-group-ref discovery-group-name="dg-group1"/>
</cluster-connection>
</cluster-connections>
<ha-policy>
<replication>
<primary>
<vote-on-replication-failure>true</vote-on-replication-failure>
<check-for-live-server>true</check-for-live-server>
<group-name>bear</group-name>
</primary>
</replication>
</ha-policy>
Cluster 3:
<broadcast-groups>
<broadcast-group name="bg-group3">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<broadcast-period>5000</broadcast-period>
<connector-ref>artemis</connector-ref>
</broadcast-group>
</broadcast-groups>
<discovery-groups>
<discovery-group name="dg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<refresh-timeout>10000</refresh-timeout>
</discovery-group>
</discovery-groups>
<cluster-connections>
<cluster-connection name="my-cluster3">
<connector-ref>artemis</connector-ref>
<message-load-balancing>ON_DEMAND</message-load-balancing>
<max-hops>0</max-hops>
<discovery-group-ref discovery-group-name="dg-group1"/>
</cluster-connection>
</cluster-connections>
<ha-policy>
<replication>
<primary>
<vote-on-replication-failure>true</vote-on-replication-failure>
<check-for-live-server>true</check-for-live-server>
<group-name>tiger</group-name>
</primary>
</replication>
</ha-policy>
-----Original Message-----
From: Domenico Francesco Bruscino <[email protected]>
Sent: Monday, July 8, 2024 3:53 AM
To: [email protected]
Cc: [email protected]
Subject: [EXTERNAL] [BULK] Re: group-name not working?
CAUTION: This email originated from outside of NASA. Please take care when
clicking links or opening attachments. Use the "Report Message" button to
report suspicious messages to the NASA SOC.
Hi Rahman,
I'm not able to reproduce this issue with following steps:
1. create broker instances
./bin/artemis create primary-f --user admin --password admin
--require-login --clustered --cluster-password artemis --cluster-user
artemis --replicated --host localhost --port-offset 0
./bin/artemis create backup-f --user admin --password admin
--require-login --clustered --cluster-password artemis --cluster-user
artemis --replicated --host localhost --port-offset 1 --backup
./bin/artemis create primary-b --user admin --password admin
--require-login --clustered --cluster-password artemis --cluster-user
artemis --replicated --host localhost --port-offset 2
./bin/artemis create backup-b --user admin --password admin
--require-login --clustered --cluster-password artemis --cluster-user
artemis --replicated --host localhost --port-offset 3 --backup
./bin/artemis create primary-t --user admin --password admin
--require-login --clustered --cluster-password artemis --cluster-user
artemis --replicated --host localhost --port-offset 4
./bin/artemis create backup-t --user admin --password admin
--require-login --clustered --cluster-password artemis --cluster-user
artemis --replicated --host localhost --port-offset 5 --backup
2. edit broker.xml files
3. start all broker instances
4. kill primary-f
5. check backup-f is active
6. start primary-f
7. check primary-f is the backup of backup-f
8. kill backup-f
9. check primary-f is active
10. start backup-f
11. check backup-f is the backup of primary-f
Could you double-check those steps?
Regards,
Domenico
On Wed, 3 Jul 2024 at 20:29, Gunawan, Rahman (GSFC-703.H)[Halvik Corp]
<[email protected]> wrote:
> I have 3 cluster with broker.xml config, the other 2 cluster has group
> name = bear and tiger.
> Primary server:
> <broadcast-groups>
> <broadcast-group name="bg-group1">
> <group-address>231.7.7.7</group-address>
> <group-port>9876</group-port>
> <broadcast-period>5000</broadcast-period>
> <connector-ref>artemis</connector-ref>
> </broadcast-group>
> </broadcast-groups>
>
> <discovery-groups>
> <discovery-group name="dg-group1">
> <group-address>231.7.7.7</group-address>
> <group-port>9876</group-port>
> <refresh-timeout>10000</refresh-timeout>
> </discovery-group>
> </discovery-groups>
>
> <cluster-connections>
> <cluster-connection name="my-cluster">
> <connector-ref>artemis</connector-ref>
> <message-load-balancing>ON_DEMAND</message-load-balancing>
> <max-hops>0</max-hops>
> <discovery-group-ref discovery-group-name="dg-group1"/>
> </cluster-connection>
> </cluster-connections>
>
>
> <ha-policy>
> <replication>
> <primary>
>
> <vote-on-replication-failure>true</vote-on-replication-failure>
> <check-for-active-server>true</check-for-active-server>
> <group-name>fish</group-name>
> </primary>
> </replication>
> </ha-policy>
>
> Backup server:
> <broadcast-groups>
> <broadcast-group name="bg-group1">
> <group-address>231.7.7.7</group-address>
> <group-port>9876</group-port>
> <broadcast-period>5000</broadcast-period>
> <connector-ref>artemis</connector-ref>
> </broadcast-group>
> </broadcast-groups>
>
> <discovery-groups>
> <discovery-group name="dg-group1">
> <group-address>231.7.7.7</group-address>
> <group-port>9876</group-port>
> <refresh-timeout>10000</refresh-timeout>
> </discovery-group>
> </discovery-groups>
>
> <cluster-connections>
> <cluster-connection name="my-cluster">
> <connector-ref>artemis</connector-ref>
> <message-load-balancing>ON_DEMAND</message-load-balancing>
> <max-hops>0</max-hops>
> <discovery-group-ref discovery-group-name="dg-group1"/>
> </cluster-connection>
> </cluster-connections>
>
>
> <ha-policy>
> <replication>
> <backup>
> <allow-failback>false</allow-failback>
> <group-name>fish</group-name>
> </backup>
> </replication>
> </ha-policy>
>
> At the beginning, it works as expected:
>
> 1. When primary server failed, the backup server became active.
> 2. When primary server brought back up, it check for active server.
> 3. Failed the active server, the primary server became active.
> However, when the backup server is brought back up, it didn't pair
> with the primary server and become backup server, waiting to pair with
> primary.
>
> Is this bugs in Artemis 2.35?
>
> Regards,
> Rahman
>
>
>