org.apache.hadoop.yarn.server.records.Version类的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(12.1k)|赞(0)|评价(0)|浏览(119)

本文整理了Java中org.apache.hadoop.yarn.server.records.Version类的一些代码示例,展示了Version类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Version类的具体详情如下:
包路径:org.apache.hadoop.yarn.server.records.Version
类名称:Version

Version介绍

[英]The version information for state get stored in YARN components, i.e. RMState, NMState, etc., which include: majorVersion and minorVersion. The major version update means incompatible changes happen while minor version update indicates compatible changes.
[中]状态的版本信息存储在纱线组件中,即RMState、NMState等,包括:majorVersion和minorVersion。主要版本更新表示发生不兼容的更改,而次要版本更新表示兼容的更改。

代码示例

代码示例来源:origin: io.hops/hadoop-yarn-server-common

@Override
public int hashCode() {
 final int prime = 31;
 int result = 1;
 result = prime * result + getMajorVersion();
 result = prime * result + getMinorVersion();
 return result;
}

代码示例来源:origin: io.hops/hadoop-yarn-server-common

public static Version newInstance(int majorVersion, int minorVersion) {
 Version version = Records.newRecord(Version.class);
 version.setMajorVersion(majorVersion);
 version.setMinorVersion(minorVersion);
 return version;
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-applicationhistoryservice

/**
 * 1) Versioning timeline store: major.minor. For e.g. 1.0, 1.1, 1.2...1.25, 2.0 etc.
 * 2) Any incompatible change of TS-store is a major upgrade, and any
 *    compatible change of TS-store is a minor upgrade.
 * 3) Within a minor upgrade, say 1.1 to 1.2:
 *    overwrite the version info and proceed as normal.
 * 4) Within a major upgrade, say 1.2 to 2.0:
 *    throw exception and indicate user to use a separate upgrade tool to
 *    upgrade timeline store or remove incompatible old state.
 */
private void checkVersion() throws IOException {
 Version loadedVersion = loadVersion();
 LOG.info("Loaded timeline store version info " + loadedVersion);
 if (loadedVersion.equals(getCurrentVersion())) {
  return;
 }
 if (loadedVersion.isCompatibleTo(getCurrentVersion())) {
  LOG.info("Storing timeline store version info " + getCurrentVersion());
  dbStoreVersion(CURRENT_VERSION_INFO);
 } else {
  String incompatibleMessage = 
    "Incompatible version for timeline store: expecting version " 
      + getCurrentVersion() + ", but loading version " + loadedVersion;
  LOG.fatal(incompatibleMessage);
  throw new IOException(incompatibleMessage);
 }
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-applicationhistoryservice

@Test
public void testCheckVersion() throws IOException {
 RollingLevelDBTimelineStore dbStore = (RollingLevelDBTimelineStore) store;
 // default version
 Version defaultVersion = dbStore.getCurrentVersion();
 Assert.assertEquals(defaultVersion, dbStore.loadVersion());
 // compatible version
 Version compatibleVersion =
   Version.newInstance(defaultVersion.getMajorVersion(),
    defaultVersion.getMinorVersion() + 2);
 dbStore.storeVersion(compatibleVersion);
 Assert.assertEquals(compatibleVersion, dbStore.loadVersion());
 restartTimelineStore();
 dbStore = (RollingLevelDBTimelineStore) store;
 // overwrite the compatible version
 Assert.assertEquals(defaultVersion, dbStore.loadVersion());
 // incompatible version
 Version incompatibleVersion =
   Version.newInstance(defaultVersion.getMajorVersion() + 1,
    defaultVersion.getMinorVersion());
 dbStore.storeVersion(incompatibleVersion);
 try {
  restartTimelineStore();
  Assert.fail("Incompatible version, should expect fail here.");
 } catch (ServiceStateException e) {
  Assert.assertTrue("Exception message mismatch",
    e.getMessage().contains("Incompatible version for timeline store"));
 }
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-mapreduce-client-hs

Version loadVersion() throws IOException {
 byte[] data = db.get(bytes(DB_SCHEMA_VERSION_KEY));
 // if version is not stored previously, treat it as 1.0.
 if (data == null || data.length == 0) {
  return Version.newInstance(1, 0);
 }
 Version version =
   new VersionPBImpl(VersionProto.parseFrom(data));
 return version;
}

代码示例来源:origin: io.hops/hadoop-yarn-server-common

public boolean isCompatibleTo(Version version) {
 return getMajorVersion() == version.getMajorVersion();
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-applicationhistoryservice

/**
 * 1) Versioning timeline state store:
 * major.minor. For e.g. 1.0, 1.1, 1.2...1.25, 2.0 etc.
 * 2) Any incompatible change of TS-store is a major upgrade, and any
 * compatible change of TS-store is a minor upgrade.
 * 3) Within a minor upgrade, say 1.1 to 1.2:
 * overwrite the version info and proceed as normal.
 * 4) Within a major upgrade, say 1.2 to 2.0:
 * throw exception and indicate user to use a separate upgrade tool to
 * upgrade timeline store or remove incompatible old state.
 */
private void checkVersion() throws IOException {
 Version loadedVersion = loadVersion();
 LOG.info("Loaded timeline state store version info " + loadedVersion);
 if (loadedVersion.equals(getCurrentVersion())) {
  return;
 }
 if (loadedVersion.isCompatibleTo(getCurrentVersion())) {
  LOG.info("Storing timeline state store version info " + getCurrentVersion());
  storeVersion(CURRENT_VERSION_INFO);
 } else {
  String incompatibleMessage =
    "Incompatible version for timeline state store: expecting version "
      + getCurrentVersion() + ", but loading version " + loadedVersion;
  LOG.fatal(incompatibleMessage);
  throw new IOException(incompatibleMessage);
 }
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-applicationhistoryservice

@Test
public void testCheckVersion() throws IOException {
 LeveldbTimelineStore dbStore = (LeveldbTimelineStore) store;
 // default version
 Version defaultVersion = dbStore.getCurrentVersion();
 Assert.assertEquals(defaultVersion, dbStore.loadVersion());
 // compatible version
 Version compatibleVersion =
   Version.newInstance(defaultVersion.getMajorVersion(),
    defaultVersion.getMinorVersion() + 2);
 dbStore.storeVersion(compatibleVersion);
 Assert.assertEquals(compatibleVersion, dbStore.loadVersion());
 restartTimelineStore();
 dbStore = (LeveldbTimelineStore) store;
 // overwrite the compatible version
 Assert.assertEquals(defaultVersion, dbStore.loadVersion());
 // incompatible version
 Version incompatibleVersion = Version.newInstance(
   defaultVersion.getMajorVersion() + 1, defaultVersion.getMinorVersion());
 dbStore.storeVersion(incompatibleVersion);
 try {
  restartTimelineStore();
  Assert.fail("Incompatible version, should expect fail here.");
 } catch (ServiceStateException e) {
  Assert.assertTrue("Exception message mismatch",
    e.getMessage().contains("Incompatible version for timeline store"));
 }
}

代码示例来源:origin: ch.cern.hadoop/hadoop-mapreduce-client-hs

Version loadVersion() throws IOException {
 byte[] data = db.get(bytes(DB_SCHEMA_VERSION_KEY));
 // if version is not stored previously, treat it as 1.0.
 if (data == null || data.length == 0) {
  return Version.newInstance(1, 0);
 }
 Version version =
   new VersionPBImpl(VersionProto.parseFrom(data));
 return version;
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-common

public boolean isCompatibleTo(Version version) {
 return getMajorVersion() == version.getMajorVersion();
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-applicationhistoryservice

/**
 * 1) Versioning timeline store: major.minor. For e.g. 1.0, 1.1, 1.2...1.25, 2.0 etc.
 * 2) Any incompatible change of TS-store is a major upgrade, and any
 *    compatible change of TS-store is a minor upgrade.
 * 3) Within a minor upgrade, say 1.1 to 1.2:
 *    overwrite the version info and proceed as normal.
 * 4) Within a major upgrade, say 1.2 to 2.0:
 *    throw exception and indicate user to use a separate upgrade tool to
 *    upgrade timeline store or remove incompatible old state.
 */
private void checkVersion() throws IOException {
 Version loadedVersion = loadVersion();
 LOG.info("Loaded timeline store version info " + loadedVersion);
 if (loadedVersion.equals(getCurrentVersion())) {
  return;
 }
 if (loadedVersion.isCompatibleTo(getCurrentVersion())) {
  LOG.info("Storing timeline store version info " + getCurrentVersion());
  dbStoreVersion(CURRENT_VERSION_INFO);
 } else {
  String incompatibleMessage = 
    "Incompatible version for timeline store: expecting version " 
      + getCurrentVersion() + ", but loading version " + loadedVersion;
  LOG.fatal(incompatibleMessage);
  throw new IOException(incompatibleMessage);
 }
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

public void testCheckVersion(RMStateStoreHelper stateStoreHelper)
  throws Exception {
 RMStateStore store = stateStoreHelper.getRMStateStore();
 store.setRMDispatcher(new TestDispatcher());
 // default version
 Version defaultVersion = stateStoreHelper.getCurrentVersion();
 store.checkVersion();
 Assert.assertEquals(defaultVersion, store.loadVersion());
 // compatible version
 Version compatibleVersion =
   Version.newInstance(defaultVersion.getMajorVersion(),
    defaultVersion.getMinorVersion() + 2);
 stateStoreHelper.writeVersion(compatibleVersion);
 Assert.assertEquals(compatibleVersion, store.loadVersion());
 store.checkVersion();
 // overwrite the compatible version
 Assert.assertEquals(defaultVersion, store.loadVersion());
 // incompatible version
 Version incompatibleVersion =
   Version.newInstance(defaultVersion.getMajorVersion() + 2,
    defaultVersion.getMinorVersion());
 stateStoreHelper.writeVersion(incompatibleVersion);
 try {
  store.checkVersion();
  Assert.fail("Invalid version, should fail.");
 } catch (Throwable t) {
  Assert.assertTrue(t instanceof RMStateVersionIncompatibleException);
 }
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-common

@Override
public int hashCode() {
 final int prime = 31;
 int result = 1;
 result = prime * result + getMajorVersion();
 result = prime * result + getMinorVersion();
 return result;
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-applicationhistoryservice

Version loadVersion() throws IOException {
 byte[] data = starttimedb.get(bytes(TIMELINE_STORE_VERSION_KEY));
 // if version is not stored previously, treat it as 1.0.
 if (data == null || data.length == 0) {
  return Version.newInstance(1, 0);
 }
 Version version = new VersionPBImpl(VersionProto.parseFrom(data));
 return version;
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-common

public static Version newInstance(int majorVersion, int minorVersion) {
 Version version = Records.newRecord(Version.class);
 version.setMajorVersion(majorVersion);
 version.setMinorVersion(minorVersion);
 return version;
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-common

public boolean isCompatibleTo(Version version) {
 return getMajorVersion() == version.getMajorVersion();
}

代码示例来源:origin: org.apache.hadoop/hadoop-mapreduce-client-shuffle

/**
 * 1) Versioning scheme: major.minor. For e.g. 1.0, 1.1, 1.2...1.25, 2.0 etc.
 * 2) Any incompatible change of DB schema is a major upgrade, and any
 *    compatible change of DB schema is a minor upgrade.
 * 3) Within a minor upgrade, say 1.1 to 1.2:
 *    overwrite the version info and proceed as normal.
 * 4) Within a major upgrade, say 1.2 to 2.0:
 *    throw exception and indicate user to use a separate upgrade tool to
 *    upgrade shuffle info or remove incompatible old state.
 */
private void checkVersion() throws IOException {
 Version loadedVersion = loadVersion();
 LOG.info("Loaded state DB schema version info " + loadedVersion);
 if (loadedVersion.equals(getCurrentVersion())) {
  return;
 }
 if (loadedVersion.isCompatibleTo(getCurrentVersion())) {
  LOG.info("Storing state DB schema version info " + getCurrentVersion());
  storeVersion();
 } else {
  throw new IOException(
   "Incompatible version for state DB schema: expecting DB schema version " 
     + getCurrentVersion() + ", but loading version " + loadedVersion);
 }
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

public void testCheckVersion(RMStateStoreHelper stateStoreHelper)
  throws Exception {
 RMStateStore store = stateStoreHelper.getRMStateStore();
 store.setRMDispatcher(new TestDispatcher());
 // default version
 Version defaultVersion = stateStoreHelper.getCurrentVersion();
 store.checkVersion();
 Assert.assertEquals(defaultVersion, store.loadVersion());
 // compatible version
 Version compatibleVersion =
   Version.newInstance(defaultVersion.getMajorVersion(),
    defaultVersion.getMinorVersion() + 2);
 stateStoreHelper.writeVersion(compatibleVersion);
 Assert.assertEquals(compatibleVersion, store.loadVersion());
 store.checkVersion();
 // overwrite the compatible version
 Assert.assertEquals(defaultVersion, store.loadVersion());
 // incompatible version
 Version incompatibleVersion =
   Version.newInstance(defaultVersion.getMajorVersion() + 2,
    defaultVersion.getMinorVersion());
 stateStoreHelper.writeVersion(incompatibleVersion);
 try {
  store.checkVersion();
  Assert.fail("Invalid version, should fail.");
 } catch (Throwable t) {
  Assert.assertTrue(t instanceof RMStateVersionIncompatibleException);
 }
}

代码示例来源:origin: com.github.jiayuhan-it/hadoop-yarn-server-common

@Override
public int hashCode() {
 final int prime = 31;
 int result = 1;
 result = prime * result + getMajorVersion();
 result = prime * result + getMinorVersion();
 return result;
}

代码示例来源:origin: io.hops/hadoop-mapreduce-client-hs

Version loadVersion() throws IOException {
 byte[] data = db.get(bytes(DB_SCHEMA_VERSION_KEY));
 // if version is not stored previously, treat it as 1.0.
 if (data == null || data.length == 0) {
  return Version.newInstance(1, 0);
 }
 Version version =
   new VersionPBImpl(VersionProto.parseFrom(data));
 return version;
}

相关文章