DefaultMetaStore extends AbstractMetaStore { @Override public ReplicationStoreMeta shiftReplicationId(String newReplId, Long currentOffset) throws IOException { synchronized (metaRef) { ReplicationStoreMeta metaDup = dupReplicationStoreMeta(); String currentReplId = metaDup.getReplId(); if(ObjectUtils.equals(currentReplId, newReplId)){ logger.info("[shiftReplicationId][repidEqual]{}", newReplId); return metaDup; } metaDup.setReplId(newReplId); metaDup.setReplId2(currentReplId); metaDup.setSecondReplIdOffset(currentOffset + 1); saveMeta(metaDup); return metaDup; } } DefaultMetaStore(File baseDir, String keeperRunid); @Override String getReplId(); @Override String getReplId2(); @Override Long getSecondReplIdOffset(); @Override Long beginOffset(); @Override DefaultEndPoint getMasterAddress(); @Override ReplicationStoreMeta rdbBegun(String replId, long beginOffset, String rdbFile, EofType eofType,
			String cmdFilePrefix); @Override void masterChanged(long keeperOffset, DefaultEndPoint newMasterEndpoint, String newMasterRunid,
			long newMasterReplOffset); @Override ReplicationStoreMeta shiftReplicationId(String newReplId, Long currentOffset);  }
@Test public void testShiftReplicationId() { }