17
17
*/
18
18
package org .apache .hadoop .hbase .master ;
19
19
20
+ import static org .junit .Assert .assertEquals ;
20
21
import static org .junit .Assert .assertFalse ;
21
22
import static org .junit .Assert .assertNotNull ;
22
23
import static org .junit .Assert .assertTrue ;
@@ -91,6 +92,7 @@ public static void tearDownAfterClass() throws Exception {
91
92
ActiveMasterManager activeMasterManager =
92
93
dummyMaster .getActiveMasterManager ();
93
94
assertFalse (activeMasterManager .clusterHasActiveMaster .get ());
95
+ assertEquals (null , activeMasterManager .getActiveMasterServerName ());
94
96
95
97
// First test becoming the active master uninterrupted
96
98
MonitoredTask status = Mockito .mock (MonitoredTask .class );
@@ -99,6 +101,7 @@ public static void tearDownAfterClass() throws Exception {
99
101
activeMasterManager .blockUntilBecomingActiveMaster (100 , status );
100
102
assertTrue (activeMasterManager .clusterHasActiveMaster .get ());
101
103
assertMaster (zk , master );
104
+ assertMaster (zk , activeMasterManager .getActiveMasterServerName ());
102
105
103
106
// Now pretend master restart
104
107
DummyMaster secondDummyMaster = new DummyMaster (zk ,master );
@@ -108,6 +111,8 @@ public static void tearDownAfterClass() throws Exception {
108
111
activeMasterManager .blockUntilBecomingActiveMaster (100 , status );
109
112
assertTrue (activeMasterManager .clusterHasActiveMaster .get ());
110
113
assertMaster (zk , master );
114
+ assertMaster (zk , activeMasterManager .getActiveMasterServerName ());
115
+ assertMaster (zk , secondActiveMasterManager .getActiveMasterServerName ());
111
116
}
112
117
113
118
/**
@@ -135,6 +140,7 @@ public void testActiveMasterManagerFromZK() throws Exception {
135
140
ActiveMasterManager activeMasterManager =
136
141
ms1 .getActiveMasterManager ();
137
142
assertFalse (activeMasterManager .clusterHasActiveMaster .get ());
143
+ assertEquals (activeMasterManager .getActiveMasterServerName (), null );
138
144
139
145
// First test becoming the active master uninterrupted
140
146
ClusterStatusTracker clusterStatusTracker =
@@ -144,6 +150,7 @@ public void testActiveMasterManagerFromZK() throws Exception {
144
150
Mockito .mock (MonitoredTask .class ));
145
151
assertTrue (activeMasterManager .clusterHasActiveMaster .get ());
146
152
assertMaster (zk , firstMasterAddress );
153
+ assertMaster (zk , activeMasterManager .getActiveMasterServerName ());
147
154
148
155
// New manager will now try to become the active master in another thread
149
156
WaitToBeMasterThread t = new WaitToBeMasterThread (zk , secondMasterAddress );
@@ -161,6 +168,8 @@ public void testActiveMasterManagerFromZK() throws Exception {
161
168
assertTrue (t .manager .clusterHasActiveMaster .get ());
162
169
// But secondary one should not be the active master
163
170
assertFalse (t .isActiveMaster );
171
+ // Verify the active master ServerName is populated in standby master.
172
+ assertEquals (firstMasterAddress , t .manager .getActiveMasterServerName ());
164
173
165
174
// Close the first server and delete it's master node
166
175
ms1 .stop ("stopping first server" );
@@ -189,6 +198,7 @@ public void testActiveMasterManagerFromZK() throws Exception {
189
198
190
199
assertTrue (t .manager .clusterHasActiveMaster .get ());
191
200
assertTrue (t .isActiveMaster );
201
+ assertEquals (secondMasterAddress , t .manager .getActiveMasterServerName ());
192
202
193
203
LOG .info ("Deleting master node" );
194
204
0 commit comments