/** * Load the topology config * * @param topologyPackage, tar ball containing user submitted jar/tar, defn and config * @param topologyBinaryFile, name of the user submitted topology jar/tar/pex file * @param topology, proto in memory version of topology definition * @return config, the topology config */ protected static Config topologyConfigs( String topologyPackage, String topologyBinaryFile, String topologyDefnFile, TopologyAPI.Topology topology) { PackageType packageType = PackageType.getPackageType(topologyBinaryFile); Config config = Config.newBuilder() .put(Keys.topologyId(), topology.getId()) .put(Keys.topologyName(), topology.getName()) .put(Keys.topologyDefinitionFile(), topologyDefnFile) .put(Keys.topologyPackageFile(), topologyPackage) .put(Keys.topologyBinaryFile(), topologyBinaryFile) .put(Keys.topologyPackageType(), packageType) .build(); return config; }
public ExecutionEnvironment.ExecutionState createExecutionState() { String releaseUsername = Context.buildUser(config); // TODO(mfu): Currently we leave release tag empty String releaseTag = ""; String releaseVersion = Context.buildVersion(config); TopologyAPI.Topology topology = Runtime.topology(runtime); ExecutionEnvironment.ExecutionState.Builder builder = ExecutionEnvironment.ExecutionState.newBuilder(); // set the topology name, id, submitting user and time builder .setTopologyName(topology.getName()) .setTopologyId(topology.getId()) .setSubmissionTime(System.currentTimeMillis() / 1000) .setSubmissionUser(System.getProperty("user.name")) .setCluster(Context.cluster(config)) .setRole(Context.role(config)) .setEnviron(Context.environ(config)); // build the heron release state ExecutionEnvironment.HeronReleaseState.Builder releaseBuilder = ExecutionEnvironment.HeronReleaseState.newBuilder(); releaseBuilder.setReleaseUsername(releaseUsername); releaseBuilder.setReleaseTag(releaseTag); releaseBuilder.setReleaseVersion(releaseVersion); builder.setReleaseState(releaseBuilder); if (builder.isInitialized()) { return builder.build(); } else { throw new RuntimeException("Failed to create execution state"); } }