Java Code Examples for org.apache.zookeeper.server.ZooKeeperServer#closeSession()

The following examples show how to use org.apache.zookeeper.server.ZooKeeperServer#closeSession() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TestActiveStandbyElectorRealZK.java    From hadoop with Apache License 2.0 4 votes vote down vote up
@Test(timeout=15000)
public void testHandleSessionExpiration() throws Exception {
  ActiveStandbyElectorCallback cb = cbs[0];
  byte[] appData = appDatas[0];
  ActiveStandbyElector elector = electors[0];
  
  // Let the first elector become active
  elector.ensureParentZNode();
  elector.joinElection(appData);
  ZooKeeperServer zks = getServer(serverFactory);
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, appData);
  Mockito.verify(cb, Mockito.timeout(1000)).becomeActive();
  checkFatalsAndReset();
  
  LOG.info("========================== Expiring session");
  zks.closeSession(elector.getZKSessionIdForTests());

  // Should enter neutral mode when disconnected
  Mockito.verify(cb, Mockito.timeout(1000)).enterNeutralMode();

  // Should re-join the election and regain active
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, appData);
  Mockito.verify(cb, Mockito.timeout(1000)).becomeActive();
  checkFatalsAndReset();
  
  LOG.info("========================== Quitting election");
  elector.quitElection(false);
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, null);

  // Double check that we don't accidentally re-join the election
  // due to receiving the "expired" event.
  Thread.sleep(1000);
  Mockito.verify(cb, Mockito.never()).becomeActive();
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, null);

  checkFatalsAndReset();
}
 
Example 2
Source File: TestActiveStandbyElectorRealZK.java    From hadoop with Apache License 2.0 4 votes vote down vote up
@Test(timeout=15000)
public void testHandleSessionExpirationOfStandby() throws Exception {
  // Let elector 0 be active
  electors[0].ensureParentZNode();
  electors[0].joinElection(appDatas[0]);
  ZooKeeperServer zks = getServer(serverFactory);
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, appDatas[0]);
  Mockito.verify(cbs[0], Mockito.timeout(1000)).becomeActive();
  checkFatalsAndReset();
  
  // Let elector 1 be standby
  electors[1].joinElection(appDatas[1]);
  ActiveStandbyElectorTestUtil.waitForElectorState(null, electors[1],
      State.STANDBY);
  
  LOG.info("========================== Expiring standby's session");
  zks.closeSession(electors[1].getZKSessionIdForTests());

  // Should enter neutral mode when disconnected
  Mockito.verify(cbs[1], Mockito.timeout(1000)).enterNeutralMode();

  // Should re-join the election and go back to STANDBY
  ActiveStandbyElectorTestUtil.waitForElectorState(null, electors[1],
      State.STANDBY);
  checkFatalsAndReset();
  
  LOG.info("========================== Quitting election");
  electors[1].quitElection(false);

  // Double check that we don't accidentally re-join the election
  // by quitting elector 0 and ensuring elector 1 doesn't become active
  electors[0].quitElection(false);
  
  // due to receiving the "expired" event.
  Thread.sleep(1000);
  Mockito.verify(cbs[1], Mockito.never()).becomeActive();
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, null);

  checkFatalsAndReset();
}
 
Example 3
Source File: TestActiveStandbyElectorRealZK.java    From big-c with Apache License 2.0 4 votes vote down vote up
@Test(timeout=15000)
public void testHandleSessionExpiration() throws Exception {
  ActiveStandbyElectorCallback cb = cbs[0];
  byte[] appData = appDatas[0];
  ActiveStandbyElector elector = electors[0];
  
  // Let the first elector become active
  elector.ensureParentZNode();
  elector.joinElection(appData);
  ZooKeeperServer zks = getServer(serverFactory);
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, appData);
  Mockito.verify(cb, Mockito.timeout(1000)).becomeActive();
  checkFatalsAndReset();
  
  LOG.info("========================== Expiring session");
  zks.closeSession(elector.getZKSessionIdForTests());

  // Should enter neutral mode when disconnected
  Mockito.verify(cb, Mockito.timeout(1000)).enterNeutralMode();

  // Should re-join the election and regain active
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, appData);
  Mockito.verify(cb, Mockito.timeout(1000)).becomeActive();
  checkFatalsAndReset();
  
  LOG.info("========================== Quitting election");
  elector.quitElection(false);
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, null);

  // Double check that we don't accidentally re-join the election
  // due to receiving the "expired" event.
  Thread.sleep(1000);
  Mockito.verify(cb, Mockito.never()).becomeActive();
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, null);

  checkFatalsAndReset();
}
 
Example 4
Source File: TestActiveStandbyElectorRealZK.java    From big-c with Apache License 2.0 4 votes vote down vote up
@Test(timeout=15000)
public void testHandleSessionExpirationOfStandby() throws Exception {
  // Let elector 0 be active
  electors[0].ensureParentZNode();
  electors[0].joinElection(appDatas[0]);
  ZooKeeperServer zks = getServer(serverFactory);
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, appDatas[0]);
  Mockito.verify(cbs[0], Mockito.timeout(1000)).becomeActive();
  checkFatalsAndReset();
  
  // Let elector 1 be standby
  electors[1].joinElection(appDatas[1]);
  ActiveStandbyElectorTestUtil.waitForElectorState(null, electors[1],
      State.STANDBY);
  
  LOG.info("========================== Expiring standby's session");
  zks.closeSession(electors[1].getZKSessionIdForTests());

  // Should enter neutral mode when disconnected
  Mockito.verify(cbs[1], Mockito.timeout(1000)).enterNeutralMode();

  // Should re-join the election and go back to STANDBY
  ActiveStandbyElectorTestUtil.waitForElectorState(null, electors[1],
      State.STANDBY);
  checkFatalsAndReset();
  
  LOG.info("========================== Quitting election");
  electors[1].quitElection(false);

  // Double check that we don't accidentally re-join the election
  // by quitting elector 0 and ensuring elector 1 doesn't become active
  electors[0].quitElection(false);
  
  // due to receiving the "expired" event.
  Thread.sleep(1000);
  Mockito.verify(cbs[1], Mockito.never()).becomeActive();
  ActiveStandbyElectorTestUtil.waitForActiveLockData(null,
      zks, PARENT_DIR, null);

  checkFatalsAndReset();
}