當前位置: 首頁>>代碼示例>>Java>>正文


Java Stat.setEphemeralOwner方法代碼示例

本文整理匯總了Java中org.apache.zookeeper.data.Stat.setEphemeralOwner方法的典型用法代碼示例。如果您正苦於以下問題:Java Stat.setEphemeralOwner方法的具體用法?Java Stat.setEphemeralOwner怎麽用?Java Stat.setEphemeralOwner使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.zookeeper.data.Stat的用法示例。


在下文中一共展示了Stat.setEphemeralOwner方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: testCreateNodeResultRetryBecomeStandby

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
/**
 * verify that retry of network errors verifies active by session id and
 * becomes standby if they dont match. monitoring is started.
 */
@Test
public void testCreateNodeResultRetryBecomeStandby() {
  elector.joinElection(data);

  elector.processResult(Code.CONNECTIONLOSS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  elector.processResult(Code.NODEEXISTS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  verifyExistCall(1);

  Stat stat = new Stat();
  stat.setEphemeralOwner(0);
  Mockito.when(mockZK.getSessionId()).thenReturn(1L);
  elector.processResult(Code.OK.intValue(), ZK_LOCK_NAME, mockZK, stat);
  Mockito.verify(mockApp, Mockito.times(1)).becomeStandby();
  verifyExistCall(1);
}
 
開發者ID:nucypher,項目名稱:hadoop-oss,代碼行數:22,代碼來源:TestActiveStandbyElector.java

示例2: copyStat

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
synchronized public void copyStat(Stat to) {
    to.setAversion(stat.getAversion());
    to.setCtime(stat.getCtime());
    to.setCzxid(stat.getCzxid());
    to.setMtime(stat.getMtime());
    to.setMzxid(stat.getMzxid());
    to.setPzxid(stat.getPzxid());
    to.setVersion(stat.getVersion());
    to.setEphemeralOwner(stat.getEphemeralOwner());
    to.setDataLength(data == null ? 0 : data.length);
    int numChildren = 0;
    if (this.children != null) {
        numChildren = children.size();
    }
    // when we do the Cversion we need to translate from the count of the creates
    // to the count of the changes (v3 semantics)
    // for every create there is a delete except for the children still present
    to.setCversion(stat.getCversion()*2 - numChildren);
    to.setNumChildren(numChildren);
}
 
開發者ID:maoling,項目名稱:fuck_zookeeper,代碼行數:21,代碼來源:DataNode.java

示例3: newStat

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
/**
 * Create a new Stat, fill in dummy values trying to catch Assert.failure
 * to copy in client or server code.
 *
 * @return a new stat with dummy values
 */
private Stat newStat() {
    Stat stat = new Stat();

    stat.setAversion(100);
    stat.setCtime(100);
    stat.setCversion(100);
    stat.setCzxid(100);
    stat.setDataLength(100);
    stat.setEphemeralOwner(100);
    stat.setMtime(100);
    stat.setMzxid(100);
    stat.setNumChildren(100);
    stat.setPzxid(100);
    stat.setVersion(100);

    return stat;
}
 
開發者ID:maoling,項目名稱:fuck_zookeeper,代碼行數:24,代碼來源:StatTest.java

示例4: copyStat

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
synchronized public void copyStat(Stat to) {
    to.setAversion(stat.getAversion());
    to.setCtime(stat.getCtime());
    to.setCzxid(stat.getCzxid());
    to.setMtime(stat.getMtime());
    to.setMzxid(stat.getMzxid());
    to.setPzxid(stat.getPzxid());
    to.setVersion(stat.getVersion());
    to.setEphemeralOwner(getClientEphemeralOwner(stat));
    to.setDataLength(data == null ? 0 : data.length);
    int numChildren = 0;
    if (this.children != null) {
        numChildren = children.size();
    }
    // when we do the Cversion we need to translate from the count of the creates
    // to the count of the changes (v3 semantics)
    // for every create there is a delete except for the children still present
    to.setCversion(stat.getCversion()*2 - numChildren);
    to.setNumChildren(numChildren);
}
 
開發者ID:didichuxing2,項目名稱:https-github.com-apache-zookeeper,代碼行數:21,代碼來源:DataNode.java

示例5: testCreateNodeResultBecomeActive

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
/**
 * verify that successful znode create result becomes active and monitoring is
 * started
 */
@Test
public void testCreateNodeResultBecomeActive() throws Exception {
  mockNoPriorActive();
  
  elector.joinElection(data);
  elector.processResult(Code.OK.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  Mockito.verify(mockApp, Mockito.times(1)).becomeActive();
  verifyExistCall(1);

  // monitor callback verifies the leader is ephemeral owner of lock but does
  // not call becomeActive since its already active
  Stat stat = new Stat();
  stat.setEphemeralOwner(1L);
  Mockito.when(mockZK.getSessionId()).thenReturn(1L);
  elector.processResult(Code.OK.intValue(), ZK_LOCK_NAME, mockZK, stat);
  // should not call neutral mode/standby/active
  Mockito.verify(mockApp, Mockito.times(0)).enterNeutralMode();
  Mockito.verify(mockApp, Mockito.times(0)).becomeStandby();
  Mockito.verify(mockApp, Mockito.times(1)).becomeActive();
  // another joinElection not called.
  Mockito.verify(mockZK, Mockito.times(1)).create(ZK_LOCK_NAME, data,
      Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL, elector, mockZK);
  // no new monitor called
  verifyExistCall(1);
}
 
開發者ID:nucypher,項目名稱:hadoop-oss,代碼行數:31,代碼來源:TestActiveStandbyElector.java

示例6: testFailToBecomeActiveAfterZKDisconnect

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
/**
 * Verify that, when the callback fails to enter active state, after
 * a ZK disconnect (i.e from the StatCallback), that the elector rejoins
 * the election after sleeping for a short period.
 */
@Test
public void testFailToBecomeActiveAfterZKDisconnect() throws Exception {
  mockNoPriorActive();
  elector.joinElection(data);
  Assert.assertEquals(0, elector.sleptFor);

  elector.processResult(Code.CONNECTIONLOSS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  Mockito.verify(mockZK, Mockito.times(2)).create(ZK_LOCK_NAME, data,
      Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL, elector, mockZK);

  elector.processResult(Code.NODEEXISTS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  verifyExistCall(1);

  Stat stat = new Stat();
  stat.setEphemeralOwner(1L);
  Mockito.when(mockZK.getSessionId()).thenReturn(1L);

  // Fake failure to become active from within the stat callback
  Mockito.doThrow(new ServiceFailedException("fail to become active"))
      .when(mockApp).becomeActive();
  elector.processResult(Code.OK.intValue(), ZK_LOCK_NAME, mockZK, stat);
  Mockito.verify(mockApp, Mockito.times(1)).becomeActive();
  
  // should re-join
  Mockito.verify(mockZK, Mockito.times(3)).create(ZK_LOCK_NAME, data,
      Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL, elector, mockZK);
  Assert.assertEquals(2, count);
  Assert.assertTrue(elector.sleptFor > 0);
}
 
開發者ID:nucypher,項目名稱:hadoop-oss,代碼行數:37,代碼來源:TestActiveStandbyElector.java

示例7: testSuccessiveStandbyCalls

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
/**
 * verify becomeStandby is not called if already in standby
 */
@Test
public void testSuccessiveStandbyCalls() {
  elector.joinElection(data);

  // make the object go into the monitoring standby state
  elector.processResult(Code.NODEEXISTS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  Mockito.verify(mockApp, Mockito.times(1)).becomeStandby();
  verifyExistCall(1);
  Assert.assertTrue(elector.isMonitorLockNodePending());

  Stat stat = new Stat();
  stat.setEphemeralOwner(0L);
  Mockito.when(mockZK.getSessionId()).thenReturn(1L);
  elector.processResult(Code.OK.intValue(), ZK_LOCK_NAME, mockZK, stat);
  Assert.assertFalse(elector.isMonitorLockNodePending());

  WatchedEvent mockEvent = Mockito.mock(WatchedEvent.class);
  Mockito.when(mockEvent.getPath()).thenReturn(ZK_LOCK_NAME);

  // notify node deletion
  // monitoring should be setup again after event is received
  Mockito.when(mockEvent.getType()).thenReturn(Event.EventType.NodeDeleted);
  elector.processWatchEvent(mockZK, mockEvent);
  // is standby. no need to notify anything now
  Mockito.verify(mockApp, Mockito.times(0)).enterNeutralMode();
  // another joinElection called.
  Mockito.verify(mockZK, Mockito.times(2)).create(ZK_LOCK_NAME, data,
      Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL, elector, mockZK);
  // lost election
  elector.processResult(Code.NODEEXISTS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  // still standby. so no need to notify again
  Mockito.verify(mockApp, Mockito.times(1)).becomeStandby();
  // monitor is set again
  verifyExistCall(2);
}
 
開發者ID:nucypher,項目名稱:hadoop-oss,代碼行數:41,代碼來源:TestActiveStandbyElector.java

示例8: copyStat

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
public void copyStat(Stat to) {
    to.setAversion(stat.getAversion());
    to.setCtime(stat.getCtime());
    to.setCversion(stat.getCversion());
    to.setCzxid(stat.getCzxid());
    to.setMtime(stat.getMtime());
    to.setMzxid(stat.getMzxid());
    to.setVersion(stat.getVersion());
    to.setEphemeralOwner(stat.getEphemeralOwner());
    to.setDataLength(data.length);
    to.setNumChildren(children.size());
}
 
開發者ID:maoling,項目名稱:fuck_zookeeper,代碼行數:13,代碼來源:DataNodeV1.java

示例9: copyStat

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
static public void copyStat(Stat from, Stat to) {
    to.setAversion(from.getAversion());
    to.setCtime(from.getCtime());
    to.setCversion(from.getCversion());
    to.setCzxid(from.getCzxid());
    to.setMtime(from.getMtime());
    to.setMzxid(from.getMzxid());
    to.setVersion(from.getVersion());
    to.setEphemeralOwner(from.getEphemeralOwner());
    to.setDataLength(from.getDataLength());
    to.setNumChildren(from.getNumChildren());
}
 
開發者ID:maoling,項目名稱:fuck_zookeeper,代碼行數:13,代碼來源:DataTreeV1.java

示例10: copyStat

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
static public void copyStat(Stat from, Stat to) {
    to.setAversion(from.getAversion());
    to.setCtime(from.getCtime());
    to.setCversion(from.getCversion());
    to.setCzxid(from.getCzxid());
    to.setMtime(from.getMtime());
    to.setMzxid(from.getMzxid());
    to.setPzxid(from.getPzxid());
    to.setVersion(from.getVersion());
    to.setEphemeralOwner(from.getEphemeralOwner());
    to.setDataLength(from.getDataLength());
    to.setNumChildren(from.getNumChildren());
}
 
開發者ID:maoling,項目名稱:fuck_zookeeper,代碼行數:14,代碼來源:DataTree.java

示例11: testCreateNodeResultRetryBecomeActive

import org.apache.zookeeper.data.Stat; //導入方法依賴的package包/類
/**
 * verify that retry of network errors verifies master by session id and
 * becomes active if they match. monitoring is started.
 */
@Test
public void testCreateNodeResultRetryBecomeActive() throws Exception {
  mockNoPriorActive();
  
  elector.joinElection(data);

  elector.processResult(Code.CONNECTIONLOSS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  elector.processResult(Code.CONNECTIONLOSS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  elector.processResult(Code.CONNECTIONLOSS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  elector.processResult(Code.CONNECTIONLOSS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  // 4 errors results in fatalError
  Mockito
      .verify(mockApp, Mockito.times(1))
      .notifyFatalError(
          "Received create error from Zookeeper. code:CONNECTIONLOSS " +
          "for path " + ZK_LOCK_NAME + ". " +
          "Not retrying further znode create connection errors.");

  elector.joinElection(data);
  // recreate connection via getNewZooKeeper
  Assert.assertEquals(2, count);
  elector.processResult(Code.CONNECTIONLOSS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  elector.processResult(Code.NODEEXISTS.intValue(), ZK_LOCK_NAME, mockZK,
      ZK_LOCK_NAME);
  verifyExistCall(1);

  Stat stat = new Stat();
  stat.setEphemeralOwner(1L);
  Mockito.when(mockZK.getSessionId()).thenReturn(1L);
  elector.processResult(Code.OK.intValue(), ZK_LOCK_NAME, mockZK, stat);
  Mockito.verify(mockApp, Mockito.times(1)).becomeActive();
  verifyExistCall(1);
  Mockito.verify(mockZK, Mockito.times(6)).create(ZK_LOCK_NAME, data,
      Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL, elector, mockZK);
}
 
開發者ID:nucypher,項目名稱:hadoop-oss,代碼行數:45,代碼來源:TestActiveStandbyElector.java


注:本文中的org.apache.zookeeper.data.Stat.setEphemeralOwner方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。