You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2017/05/22 21:50:00 UTC
[2/4] storm git commit: STORM-2448: Add in Storm and JDK versions
when submitting a topology
STORM-2448: Add in Storm and JDK versions when submitting a topology
Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/22d1fe38
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/22d1fe38
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/22d1fe38
Branch: refs/heads/master
Commit: 22d1fe3881f0d62feddcf1cc7b8fcd3e9fed0360
Parents: d7fb0fb
Author: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Authored: Tue Apr 4 12:34:49 2017 -0500
Committer: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Committed: Mon May 22 16:00:03 2017 -0500
----------------------------------------------------------------------
.../src/jvm/org/apache/storm/Config.java | 45 ++++
.../jvm/org/apache/storm/StormSubmitter.java | 2 +-
.../org/apache/storm/daemon/StormCommon.java | 75 +++----
.../apache/storm/generated/StormTopology.java | 220 ++++++++++++++++++-
.../apache/storm/generated/TopologyInfo.java | 146 ++++++++++--
.../storm/generated/TopologyPageInfo.java | 134 +++++++++--
.../apache/storm/generated/TopologySummary.java | 146 ++++++++++--
.../apache/storm/topology/TopologyBuilder.java | 2 +-
.../jvm/org/apache/storm/utils/LocalState.java | 8 +-
.../org/apache/storm/utils/SimpleVersion.java | 88 ++++++++
.../src/jvm/org/apache/storm/utils/Utils.java | 210 +++++++++++++++---
.../jvm/org/apache/storm/utils/VersionInfo.java | 6 +-
storm-client/src/py/storm/ttypes.py | 76 ++++++-
storm-client/src/storm.thrift | 5 +
storm-core/src/clj/org/apache/storm/ui/core.clj | 6 +-
.../public/templates/index-page-template.html | 6 +
.../templates/topology-page-template.html | 6 +
.../test/clj/org/apache/storm/nimbus_test.clj | 19 +-
.../java/org/apache/storm/LocalCluster.java | 14 +-
.../org/apache/storm/daemon/nimbus/Nimbus.java | 67 +++++-
.../storm/daemon/supervisor/BasicContainer.java | 127 ++++++++---
.../daemon/supervisor/BasicContainerTest.java | 3 +-
22 files changed, 1203 insertions(+), 208 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/storm/blob/22d1fe38/storm-client/src/jvm/org/apache/storm/Config.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/Config.java b/storm-client/src/jvm/org/apache/storm/Config.java
index e85841c..b1f0381 100644
--- a/storm-client/src/jvm/org/apache/storm/Config.java
+++ b/storm-client/src/jvm/org/apache/storm/Config.java
@@ -1321,6 +1321,51 @@ public class Config extends HashMap<String, Object> {
public static final String SUPERVISOR_WORKER_LAUNCHER = "supervisor.worker.launcher";
/**
+ * Map a version of storm to a worker classpath that can be used to run it.
+ * This allows the supervisor to select an available version of storm that is compatible with what a
+ * topology was launched with.
+ *
+ * Only the major and minor version numbers are used, although this may change in the
+ * future. The code will first try to find a version that is the same or higher than the requested version,
+ * but with the same major version number. If it cannot it will fall back to using one with a lower
+ * minor version, but in some cases this might fail as some features may be missing.
+ *
+ * Because of how this selection process works please don't include two releases
+ * with the same major and minor versions as it is undefined which will be selected. Also it is good
+ * practice to just include one release for each major version you want to support unless the
+ * minor versions are truly not compatible with each other. This is to avoid
+ * maintenance and testing overhead.
+ *
+ * This config needs to be set on all supervisors and on nimbus. In general this can be the output of
+ * calling storm classpath on the version you want and adding in an entry for the config directory for
+ * that release. You should modify the storm.yaml of each of these versions to match the features
+ * and settings you want on the main version.
+ */
+ @isMapEntryType(keyType = String.class, valueType = String.class)
+ public static final String SUPERVISOR_WORKER_VERSION_CLASSPATH_MAP = "supervisor.worker.version.classpath.map";
+
+ /**
+ * Map a version of storm to a worker's main class. In most cases storm should have correct defaults and
+ * just setting SUPERVISOR_WORKER_VERSION_CLASSPATH_MAP is enough.
+ */
+ @isMapEntryType(keyType = String.class, valueType = String.class)
+ public static final String SUPERVISOR_WORKER_VERSION_MAIN_MAP = "supervisor.worker.version.main.map";
+
+ /**
+ * Map a version of storm to a worker's logwriter class. In most cases storm should have correct defaults and
+ * just setting SUPERVISOR_WORKER_VERSION_CLASSPATH_MAP is enough.
+ */
+ @isMapEntryType(keyType = String.class, valueType = String.class)
+ public static final String SUPERVISOR_WORKER_VERSION_LOGWRITER_MAP = "supervisor.worker.version.logwriter.map";
+
+ /**
+ * The version of storm to assume a topology should run as if not version is given by the client when
+ * submitting the topology.
+ */
+ @isString
+ public static final String SUPERVISOR_WORKER_DEFAULT_VERSION = "supervisor.worker.default.version";
+
+ /**
* A directory on the local filesystem used by Storm for any local
* filesystem usage it needs. The directory must exist and the Storm daemons must
* have permission to read/write from this location.
http://git-wip-us.apache.org/repos/asf/storm/blob/22d1fe38/storm-client/src/jvm/org/apache/storm/StormSubmitter.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/StormSubmitter.java b/storm-client/src/jvm/org/apache/storm/StormSubmitter.java
index 423c679..788b1a4 100644
--- a/storm-client/src/jvm/org/apache/storm/StormSubmitter.java
+++ b/storm-client/src/jvm/org/apache/storm/StormSubmitter.java
@@ -322,7 +322,7 @@ public class StormSubmitter {
try {
String jar = submitJarAs(conf, System.getProperty("storm.jar"), progressListener, client);
LOG.info("Submitting topology {} in distributed mode with conf {}", name, serConf);
-
+ Utils.addVersions(topology);
if (opts != null) {
client.getClient().submitTopologyWithOpts(name, jar, serConf, topology, opts);
} else {
http://git-wip-us.apache.org/repos/asf/storm/blob/22d1fe38/storm-client/src/jvm/org/apache/storm/daemon/StormCommon.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/daemon/StormCommon.java b/storm-client/src/jvm/org/apache/storm/daemon/StormCommon.java
index 3b7167d..3f85a13 100644
--- a/storm-client/src/jvm/org/apache/storm/daemon/StormCommon.java
+++ b/storm-client/src/jvm/org/apache/storm/daemon/StormCommon.java
@@ -17,6 +17,16 @@
*/
package org.apache.storm.daemon;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+
import org.apache.commons.lang.StringUtils;
import org.apache.storm.Config;
import org.apache.storm.Constants;
@@ -42,6 +52,7 @@ import org.apache.storm.task.IBolt;
import org.apache.storm.task.WorkerTopologyContext;
import org.apache.storm.tuple.Fields;
import org.apache.storm.utils.ConfigUtils;
+import org.apache.storm.utils.ThriftTopologyUtils;
import org.apache.storm.utils.Utils;
import org.apache.storm.utils.ObjectReader;
import org.apache.storm.utils.ThriftTopologyUtils;
@@ -49,16 +60,6 @@ import org.json.simple.JSONValue;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
public class StormCommon {
// A singleton instance allows us to mock delegated static methods in our
// tests by subclassing.
@@ -105,32 +106,30 @@ public class StormCommon {
}
}
- @SuppressWarnings("unchecked")
- private static void validateIds(StormTopology topology) throws InvalidTopologyException {
- List<String> componentIds = new ArrayList<>();
-
- for (StormTopology._Fields field : Thrift.getTopologyFields()) {
- if (!ThriftTopologyUtils.isWorkerHook(field) && !ThriftTopologyUtils.isDependencies(field)) {
- Object value = topology.getFieldValue(field);
- Map<String, Object> componentMap = (Map<String, Object>) value;
- componentIds.addAll(componentMap.keySet());
-
- for (String id : componentMap.keySet()) {
- if (Utils.isSystemId(id)) {
- throw new InvalidTopologyException(id + " is not a valid component id.");
- }
- }
- for (Object componentObj : componentMap.values()) {
- ComponentCommon common = getComponentCommon(componentObj);
- Set<String> streamIds = common.get_streams().keySet();
- for (String id : streamIds) {
- if (Utils.isSystemId(id)) {
- throw new InvalidTopologyException(id + " is not a valid stream id.");
- }
- }
+ private static Set<String> validateIds(Map<String, ? extends Object> componentMap) throws InvalidTopologyException {
+ Set<String> keys = componentMap.keySet();
+ for (String id : keys) {
+ if (Utils.isSystemId(id)) {
+ throw new InvalidTopologyException(id + " is not a valid component id.");
+ }
+ }
+ for (Object componentObj : componentMap.values()) {
+ ComponentCommon common = getComponentCommon(componentObj);
+ Set<String> streamIds = common.get_streams().keySet();
+ for (String id : streamIds) {
+ if (Utils.isSystemId(id)) {
+ throw new InvalidTopologyException(id + " is not a valid stream id.");
}
}
}
+ return keys;
+ }
+
+ private static void validateIds(StormTopology topology) throws InvalidTopologyException {
+ List<String> componentIds = new ArrayList<>();
+ componentIds.addAll(validateIds(topology.get_bolts()));
+ componentIds.addAll(validateIds(topology.get_spouts()));
+ componentIds.addAll(validateIds(topology.get_state_spouts()));
List<String> offending = Utils.getRepeat(componentIds);
if (!offending.isEmpty()) {
@@ -146,15 +145,11 @@ public class StormCommon {
}
}
- @SuppressWarnings("unchecked")
public static Map<String, Object> allComponents(StormTopology topology) {
Map<String, Object> components = new HashMap<>();
- List<StormTopology._Fields> topologyFields = Arrays.asList(Thrift.getTopologyFields());
- for (StormTopology._Fields field : topologyFields) {
- if (!ThriftTopologyUtils.isWorkerHook(field) && !ThriftTopologyUtils.isDependencies(field)) {
- components.putAll(((Map) topology.getFieldValue(field)));
- }
- }
+ components.putAll(topology.get_bolts());
+ components.putAll(topology.get_spouts());
+ components.putAll(topology.get_state_spouts());
return components;
}
http://git-wip-us.apache.org/repos/asf/storm/blob/22d1fe38/storm-client/src/jvm/org/apache/storm/generated/StormTopology.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/StormTopology.java b/storm-client/src/jvm/org/apache/storm/generated/StormTopology.java
index caec6c6..6241d7b 100644
--- a/storm-client/src/jvm/org/apache/storm/generated/StormTopology.java
+++ b/storm-client/src/jvm/org/apache/storm/generated/StormTopology.java
@@ -61,6 +61,8 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
private static final org.apache.thrift.protocol.TField WORKER_HOOKS_FIELD_DESC = new org.apache.thrift.protocol.TField("worker_hooks", org.apache.thrift.protocol.TType.LIST, (short)4);
private static final org.apache.thrift.protocol.TField DEPENDENCY_JARS_FIELD_DESC = new org.apache.thrift.protocol.TField("dependency_jars", org.apache.thrift.protocol.TType.LIST, (short)5);
private static final org.apache.thrift.protocol.TField DEPENDENCY_ARTIFACTS_FIELD_DESC = new org.apache.thrift.protocol.TField("dependency_artifacts", org.apache.thrift.protocol.TType.LIST, (short)6);
+ private static final org.apache.thrift.protocol.TField STORM_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("storm_version", org.apache.thrift.protocol.TType.STRING, (short)7);
+ private static final org.apache.thrift.protocol.TField JDK_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("jdk_version", org.apache.thrift.protocol.TType.STRING, (short)8);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -74,6 +76,8 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
private List<ByteBuffer> worker_hooks; // optional
private List<String> dependency_jars; // optional
private List<String> dependency_artifacts; // optional
+ private String storm_version; // optional
+ private String jdk_version; // optional
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -82,7 +86,9 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
STATE_SPOUTS((short)3, "state_spouts"),
WORKER_HOOKS((short)4, "worker_hooks"),
DEPENDENCY_JARS((short)5, "dependency_jars"),
- DEPENDENCY_ARTIFACTS((short)6, "dependency_artifacts");
+ DEPENDENCY_ARTIFACTS((short)6, "dependency_artifacts"),
+ STORM_VERSION((short)7, "storm_version"),
+ JDK_VERSION((short)8, "jdk_version");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -109,6 +115,10 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
return DEPENDENCY_JARS;
case 6: // DEPENDENCY_ARTIFACTS
return DEPENDENCY_ARTIFACTS;
+ case 7: // STORM_VERSION
+ return STORM_VERSION;
+ case 8: // JDK_VERSION
+ return JDK_VERSION;
default:
return null;
}
@@ -149,7 +159,7 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
}
// isset id assignments
- private static final _Fields optionals[] = {_Fields.WORKER_HOOKS,_Fields.DEPENDENCY_JARS,_Fields.DEPENDENCY_ARTIFACTS};
+ private static final _Fields optionals[] = {_Fields.WORKER_HOOKS,_Fields.DEPENDENCY_JARS,_Fields.DEPENDENCY_ARTIFACTS,_Fields.STORM_VERSION,_Fields.JDK_VERSION};
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -174,6 +184,10 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
tmpMap.put(_Fields.DEPENDENCY_ARTIFACTS, new org.apache.thrift.meta_data.FieldMetaData("dependency_artifacts", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+ tmpMap.put(_Fields.STORM_VERSION, new org.apache.thrift.meta_data.FieldMetaData("storm_version", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.JDK_VERSION, new org.apache.thrift.meta_data.FieldMetaData("jdk_version", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(StormTopology.class, metaDataMap);
}
@@ -253,6 +267,12 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
List<String> __this__dependency_artifacts = new ArrayList<String>(other.dependency_artifacts);
this.dependency_artifacts = __this__dependency_artifacts;
}
+ if (other.is_set_storm_version()) {
+ this.storm_version = other.storm_version;
+ }
+ if (other.is_set_jdk_version()) {
+ this.jdk_version = other.jdk_version;
+ }
}
public StormTopology deepCopy() {
@@ -267,6 +287,8 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
this.worker_hooks = null;
this.dependency_jars = null;
this.dependency_artifacts = null;
+ this.storm_version = null;
+ this.jdk_version = null;
}
public int get_spouts_size() {
@@ -485,6 +507,52 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
}
}
+ public String get_storm_version() {
+ return this.storm_version;
+ }
+
+ public void set_storm_version(String storm_version) {
+ this.storm_version = storm_version;
+ }
+
+ public void unset_storm_version() {
+ this.storm_version = null;
+ }
+
+ /** Returns true if field storm_version is set (has been assigned a value) and false otherwise */
+ public boolean is_set_storm_version() {
+ return this.storm_version != null;
+ }
+
+ public void set_storm_version_isSet(boolean value) {
+ if (!value) {
+ this.storm_version = null;
+ }
+ }
+
+ public String get_jdk_version() {
+ return this.jdk_version;
+ }
+
+ public void set_jdk_version(String jdk_version) {
+ this.jdk_version = jdk_version;
+ }
+
+ public void unset_jdk_version() {
+ this.jdk_version = null;
+ }
+
+ /** Returns true if field jdk_version is set (has been assigned a value) and false otherwise */
+ public boolean is_set_jdk_version() {
+ return this.jdk_version != null;
+ }
+
+ public void set_jdk_version_isSet(boolean value) {
+ if (!value) {
+ this.jdk_version = null;
+ }
+ }
+
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case SPOUTS:
@@ -535,6 +603,22 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
}
break;
+ case STORM_VERSION:
+ if (value == null) {
+ unset_storm_version();
+ } else {
+ set_storm_version((String)value);
+ }
+ break;
+
+ case JDK_VERSION:
+ if (value == null) {
+ unset_jdk_version();
+ } else {
+ set_jdk_version((String)value);
+ }
+ break;
+
}
}
@@ -558,6 +642,12 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
case DEPENDENCY_ARTIFACTS:
return get_dependency_artifacts();
+ case STORM_VERSION:
+ return get_storm_version();
+
+ case JDK_VERSION:
+ return get_jdk_version();
+
}
throw new IllegalStateException();
}
@@ -581,6 +671,10 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
return is_set_dependency_jars();
case DEPENDENCY_ARTIFACTS:
return is_set_dependency_artifacts();
+ case STORM_VERSION:
+ return is_set_storm_version();
+ case JDK_VERSION:
+ return is_set_jdk_version();
}
throw new IllegalStateException();
}
@@ -652,6 +746,24 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
return false;
}
+ boolean this_present_storm_version = true && this.is_set_storm_version();
+ boolean that_present_storm_version = true && that.is_set_storm_version();
+ if (this_present_storm_version || that_present_storm_version) {
+ if (!(this_present_storm_version && that_present_storm_version))
+ return false;
+ if (!this.storm_version.equals(that.storm_version))
+ return false;
+ }
+
+ boolean this_present_jdk_version = true && this.is_set_jdk_version();
+ boolean that_present_jdk_version = true && that.is_set_jdk_version();
+ if (this_present_jdk_version || that_present_jdk_version) {
+ if (!(this_present_jdk_version && that_present_jdk_version))
+ return false;
+ if (!this.jdk_version.equals(that.jdk_version))
+ return false;
+ }
+
return true;
}
@@ -689,6 +801,16 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
if (present_dependency_artifacts)
list.add(dependency_artifacts);
+ boolean present_storm_version = true && (is_set_storm_version());
+ list.add(present_storm_version);
+ if (present_storm_version)
+ list.add(storm_version);
+
+ boolean present_jdk_version = true && (is_set_jdk_version());
+ list.add(present_jdk_version);
+ if (present_jdk_version)
+ list.add(jdk_version);
+
return list.hashCode();
}
@@ -760,6 +882,26 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(is_set_storm_version()).compareTo(other.is_set_storm_version());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (is_set_storm_version()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storm_version, other.storm_version);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(is_set_jdk_version()).compareTo(other.is_set_jdk_version());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (is_set_jdk_version()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jdk_version, other.jdk_version);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
return 0;
}
@@ -833,6 +975,26 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
}
first = false;
}
+ if (is_set_storm_version()) {
+ if (!first) sb.append(", ");
+ sb.append("storm_version:");
+ if (this.storm_version == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.storm_version);
+ }
+ first = false;
+ }
+ if (is_set_jdk_version()) {
+ if (!first) sb.append(", ");
+ sb.append("jdk_version:");
+ if (this.jdk_version == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.jdk_version);
+ }
+ first = false;
+ }
sb.append(")");
return sb.toString();
}
@@ -1005,6 +1167,22 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 7: // STORM_VERSION
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.storm_version = iprot.readString();
+ struct.set_storm_version_isSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 8: // JDK_VERSION
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.jdk_version = iprot.readString();
+ struct.set_jdk_version_isSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
@@ -1099,6 +1277,20 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
oprot.writeFieldEnd();
}
}
+ if (struct.storm_version != null) {
+ if (struct.is_set_storm_version()) {
+ oprot.writeFieldBegin(STORM_VERSION_FIELD_DESC);
+ oprot.writeString(struct.storm_version);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (struct.jdk_version != null) {
+ if (struct.is_set_jdk_version()) {
+ oprot.writeFieldBegin(JDK_VERSION_FIELD_DESC);
+ oprot.writeString(struct.jdk_version);
+ oprot.writeFieldEnd();
+ }
+ }
oprot.writeFieldStop();
oprot.writeStructEnd();
}
@@ -1150,7 +1342,13 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
if (struct.is_set_dependency_artifacts()) {
optionals.set(2);
}
- oprot.writeBitSet(optionals, 3);
+ if (struct.is_set_storm_version()) {
+ optionals.set(3);
+ }
+ if (struct.is_set_jdk_version()) {
+ optionals.set(4);
+ }
+ oprot.writeBitSet(optionals, 5);
if (struct.is_set_worker_hooks()) {
{
oprot.writeI32(struct.worker_hooks.size());
@@ -1178,6 +1376,12 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
}
}
}
+ if (struct.is_set_storm_version()) {
+ oprot.writeString(struct.storm_version);
+ }
+ if (struct.is_set_jdk_version()) {
+ oprot.writeString(struct.jdk_version);
+ }
}
@Override
@@ -1225,7 +1429,7 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
}
}
struct.set_state_spouts_isSet(true);
- BitSet incoming = iprot.readBitSet(3);
+ BitSet incoming = iprot.readBitSet(5);
if (incoming.get(0)) {
{
org.apache.thrift.protocol.TList _list89 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
@@ -1265,6 +1469,14 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
}
struct.set_dependency_artifacts_isSet(true);
}
+ if (incoming.get(3)) {
+ struct.storm_version = iprot.readString();
+ struct.set_storm_version_isSet(true);
+ }
+ if (incoming.get(4)) {
+ struct.jdk_version = iprot.readString();
+ struct.set_jdk_version_isSet(true);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/storm/blob/22d1fe38/storm-client/src/jvm/org/apache/storm/generated/TopologyInfo.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/TopologyInfo.java b/storm-client/src/jvm/org/apache/storm/generated/TopologyInfo.java
index fa95be7..622bd81 100644
--- a/storm-client/src/jvm/org/apache/storm/generated/TopologyInfo.java
+++ b/storm-client/src/jvm/org/apache/storm/generated/TopologyInfo.java
@@ -62,6 +62,7 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRING, (short)5);
private static final org.apache.thrift.protocol.TField ERRORS_FIELD_DESC = new org.apache.thrift.protocol.TField("errors", org.apache.thrift.protocol.TType.MAP, (short)6);
private static final org.apache.thrift.protocol.TField COMPONENT_DEBUG_FIELD_DESC = new org.apache.thrift.protocol.TField("component_debug", org.apache.thrift.protocol.TType.MAP, (short)7);
+ private static final org.apache.thrift.protocol.TField STORM_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("storm_version", org.apache.thrift.protocol.TType.STRING, (short)8);
private static final org.apache.thrift.protocol.TField SCHED_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("sched_status", org.apache.thrift.protocol.TType.STRING, (short)513);
private static final org.apache.thrift.protocol.TField OWNER_FIELD_DESC = new org.apache.thrift.protocol.TField("owner", org.apache.thrift.protocol.TType.STRING, (short)514);
private static final org.apache.thrift.protocol.TField REPLICATION_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("replication_count", org.apache.thrift.protocol.TType.I32, (short)515);
@@ -85,6 +86,7 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
private String status; // required
private Map<String,List<ErrorInfo>> errors; // required
private Map<String,DebugOptions> component_debug; // optional
+ private String storm_version; // optional
private String sched_status; // optional
private String owner; // optional
private int replication_count; // optional
@@ -104,6 +106,7 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
STATUS((short)5, "status"),
ERRORS((short)6, "errors"),
COMPONENT_DEBUG((short)7, "component_debug"),
+ STORM_VERSION((short)8, "storm_version"),
SCHED_STATUS((short)513, "sched_status"),
OWNER((short)514, "owner"),
REPLICATION_COUNT((short)515, "replication_count"),
@@ -141,6 +144,8 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
return ERRORS;
case 7: // COMPONENT_DEBUG
return COMPONENT_DEBUG;
+ case 8: // STORM_VERSION
+ return STORM_VERSION;
case 513: // SCHED_STATUS
return SCHED_STATUS;
case 514: // OWNER
@@ -208,7 +213,7 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
private static final int __ASSIGNED_MEMOFFHEAP_ISSET_ID = 6;
private static final int __ASSIGNED_CPU_ISSET_ID = 7;
private byte __isset_bitfield = 0;
- private static final _Fields optionals[] = {_Fields.COMPONENT_DEBUG,_Fields.SCHED_STATUS,_Fields.OWNER,_Fields.REPLICATION_COUNT,_Fields.REQUESTED_MEMONHEAP,_Fields.REQUESTED_MEMOFFHEAP,_Fields.REQUESTED_CPU,_Fields.ASSIGNED_MEMONHEAP,_Fields.ASSIGNED_MEMOFFHEAP,_Fields.ASSIGNED_CPU};
+ private static final _Fields optionals[] = {_Fields.COMPONENT_DEBUG,_Fields.STORM_VERSION,_Fields.SCHED_STATUS,_Fields.OWNER,_Fields.REPLICATION_COUNT,_Fields.REQUESTED_MEMONHEAP,_Fields.REQUESTED_MEMOFFHEAP,_Fields.REQUESTED_CPU,_Fields.ASSIGNED_MEMONHEAP,_Fields.ASSIGNED_MEMOFFHEAP,_Fields.ASSIGNED_CPU};
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -232,6 +237,8 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING),
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, DebugOptions.class))));
+ tmpMap.put(_Fields.STORM_VERSION, new org.apache.thrift.meta_data.FieldMetaData("storm_version", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.SCHED_STATUS, new org.apache.thrift.meta_data.FieldMetaData("sched_status", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.OWNER, new org.apache.thrift.meta_data.FieldMetaData("owner", org.apache.thrift.TFieldRequirementType.OPTIONAL,
@@ -330,6 +337,9 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
}
this.component_debug = __this__component_debug;
}
+ if (other.is_set_storm_version()) {
+ this.storm_version = other.storm_version;
+ }
if (other.is_set_sched_status()) {
this.sched_status = other.sched_status;
}
@@ -359,6 +369,7 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
this.status = null;
this.errors = null;
this.component_debug = null;
+ this.storm_version = null;
this.sched_status = null;
this.owner = null;
set_replication_count_isSet(false);
@@ -574,6 +585,29 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
}
}
+ public String get_storm_version() {
+ return this.storm_version;
+ }
+
+ public void set_storm_version(String storm_version) {
+ this.storm_version = storm_version;
+ }
+
+ public void unset_storm_version() {
+ this.storm_version = null;
+ }
+
+ /** Returns true if field storm_version is set (has been assigned a value) and false otherwise */
+ public boolean is_set_storm_version() {
+ return this.storm_version != null;
+ }
+
+ public void set_storm_version_isSet(boolean value) {
+ if (!value) {
+ this.storm_version = null;
+ }
+ }
+
public String get_sched_status() {
return this.sched_status;
}
@@ -832,6 +866,14 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
}
break;
+ case STORM_VERSION:
+ if (value == null) {
+ unset_storm_version();
+ } else {
+ set_storm_version((String)value);
+ }
+ break;
+
case SCHED_STATUS:
if (value == null) {
unset_sched_status();
@@ -930,6 +972,9 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
case COMPONENT_DEBUG:
return get_component_debug();
+ case STORM_VERSION:
+ return get_storm_version();
+
case SCHED_STATUS:
return get_sched_status();
@@ -982,6 +1027,8 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
return is_set_errors();
case COMPONENT_DEBUG:
return is_set_component_debug();
+ case STORM_VERSION:
+ return is_set_storm_version();
case SCHED_STATUS:
return is_set_sched_status();
case OWNER:
@@ -1080,6 +1127,15 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
return false;
}
+ boolean this_present_storm_version = true && this.is_set_storm_version();
+ boolean that_present_storm_version = true && that.is_set_storm_version();
+ if (this_present_storm_version || that_present_storm_version) {
+ if (!(this_present_storm_version && that_present_storm_version))
+ return false;
+ if (!this.storm_version.equals(that.storm_version))
+ return false;
+ }
+
boolean this_present_sched_status = true && this.is_set_sched_status();
boolean that_present_sched_status = true && that.is_set_sched_status();
if (this_present_sched_status || that_present_sched_status) {
@@ -1203,6 +1259,11 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
if (present_component_debug)
list.add(component_debug);
+ boolean present_storm_version = true && (is_set_storm_version());
+ list.add(present_storm_version);
+ if (present_storm_version)
+ list.add(storm_version);
+
boolean present_sched_status = true && (is_set_sched_status());
list.add(present_sched_status);
if (present_sched_status)
@@ -1329,6 +1390,16 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(is_set_storm_version()).compareTo(other.is_set_storm_version());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (is_set_storm_version()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storm_version, other.storm_version);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
lastComparison = Boolean.valueOf(is_set_sched_status()).compareTo(other.is_set_sched_status());
if (lastComparison != 0) {
return lastComparison;
@@ -1492,6 +1563,16 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
}
first = false;
}
+ if (is_set_storm_version()) {
+ if (!first) sb.append(", ");
+ sb.append("storm_version:");
+ if (this.storm_version == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.storm_version);
+ }
+ first = false;
+ }
if (is_set_sched_status()) {
if (!first) sb.append(", ");
sb.append("sched_status:");
@@ -1726,6 +1807,14 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 8: // STORM_VERSION
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.storm_version = iprot.readString();
+ struct.set_storm_version_isSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
case 513: // SCHED_STATUS
if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
struct.sched_status = iprot.readString();
@@ -1876,6 +1965,13 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
oprot.writeFieldEnd();
}
}
+ if (struct.storm_version != null) {
+ if (struct.is_set_storm_version()) {
+ oprot.writeFieldBegin(STORM_VERSION_FIELD_DESC);
+ oprot.writeString(struct.storm_version);
+ oprot.writeFieldEnd();
+ }
+ }
if (struct.sched_status != null) {
if (struct.is_set_sched_status()) {
oprot.writeFieldBegin(SCHED_STATUS_FIELD_DESC);
@@ -1971,34 +2067,37 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
if (struct.is_set_component_debug()) {
optionals.set(0);
}
- if (struct.is_set_sched_status()) {
+ if (struct.is_set_storm_version()) {
optionals.set(1);
}
- if (struct.is_set_owner()) {
+ if (struct.is_set_sched_status()) {
optionals.set(2);
}
- if (struct.is_set_replication_count()) {
+ if (struct.is_set_owner()) {
optionals.set(3);
}
- if (struct.is_set_requested_memonheap()) {
+ if (struct.is_set_replication_count()) {
optionals.set(4);
}
- if (struct.is_set_requested_memoffheap()) {
+ if (struct.is_set_requested_memonheap()) {
optionals.set(5);
}
- if (struct.is_set_requested_cpu()) {
+ if (struct.is_set_requested_memoffheap()) {
optionals.set(6);
}
- if (struct.is_set_assigned_memonheap()) {
+ if (struct.is_set_requested_cpu()) {
optionals.set(7);
}
- if (struct.is_set_assigned_memoffheap()) {
+ if (struct.is_set_assigned_memonheap()) {
optionals.set(8);
}
- if (struct.is_set_assigned_cpu()) {
+ if (struct.is_set_assigned_memoffheap()) {
optionals.set(9);
}
- oprot.writeBitSet(optionals, 10);
+ if (struct.is_set_assigned_cpu()) {
+ optionals.set(10);
+ }
+ oprot.writeBitSet(optionals, 11);
if (struct.is_set_component_debug()) {
{
oprot.writeI32(struct.component_debug.size());
@@ -2009,6 +2108,9 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
}
}
}
+ if (struct.is_set_storm_version()) {
+ oprot.writeString(struct.storm_version);
+ }
if (struct.is_set_sched_status()) {
oprot.writeString(struct.sched_status);
}
@@ -2084,7 +2186,7 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
}
}
struct.set_errors_isSet(true);
- BitSet incoming = iprot.readBitSet(10);
+ BitSet incoming = iprot.readBitSet(11);
if (incoming.get(0)) {
{
org.apache.thrift.protocol.TMap _map364 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -2102,38 +2204,42 @@ public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, Topol
struct.set_component_debug_isSet(true);
}
if (incoming.get(1)) {
+ struct.storm_version = iprot.readString();
+ struct.set_storm_version_isSet(true);
+ }
+ if (incoming.get(2)) {
struct.sched_status = iprot.readString();
struct.set_sched_status_isSet(true);
}
- if (incoming.get(2)) {
+ if (incoming.get(3)) {
struct.owner = iprot.readString();
struct.set_owner_isSet(true);
}
- if (incoming.get(3)) {
+ if (incoming.get(4)) {
struct.replication_count = iprot.readI32();
struct.set_replication_count_isSet(true);
}
- if (incoming.get(4)) {
+ if (incoming.get(5)) {
struct.requested_memonheap = iprot.readDouble();
struct.set_requested_memonheap_isSet(true);
}
- if (incoming.get(5)) {
+ if (incoming.get(6)) {
struct.requested_memoffheap = iprot.readDouble();
struct.set_requested_memoffheap_isSet(true);
}
- if (incoming.get(6)) {
+ if (incoming.get(7)) {
struct.requested_cpu = iprot.readDouble();
struct.set_requested_cpu_isSet(true);
}
- if (incoming.get(7)) {
+ if (incoming.get(8)) {
struct.assigned_memonheap = iprot.readDouble();
struct.set_assigned_memonheap_isSet(true);
}
- if (incoming.get(8)) {
+ if (incoming.get(9)) {
struct.assigned_memoffheap = iprot.readDouble();
struct.set_assigned_memoffheap_isSet(true);
}
- if (incoming.get(9)) {
+ if (incoming.get(10)) {
struct.assigned_cpu = iprot.readDouble();
struct.set_assigned_cpu_isSet(true);
}
http://git-wip-us.apache.org/repos/asf/storm/blob/22d1fe38/storm-client/src/jvm/org/apache/storm/generated/TopologyPageInfo.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/TopologyPageInfo.java b/storm-client/src/jvm/org/apache/storm/generated/TopologyPageInfo.java
index 25bda95..04c2232 100644
--- a/storm-client/src/jvm/org/apache/storm/generated/TopologyPageInfo.java
+++ b/storm-client/src/jvm/org/apache/storm/generated/TopologyPageInfo.java
@@ -71,6 +71,7 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
private static final org.apache.thrift.protocol.TField DEBUG_OPTIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("debug_options", org.apache.thrift.protocol.TType.STRUCT, (short)14);
private static final org.apache.thrift.protocol.TField REPLICATION_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("replication_count", org.apache.thrift.protocol.TType.I32, (short)15);
private static final org.apache.thrift.protocol.TField WORKERS_FIELD_DESC = new org.apache.thrift.protocol.TField("workers", org.apache.thrift.protocol.TType.LIST, (short)16);
+ private static final org.apache.thrift.protocol.TField STORM_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("storm_version", org.apache.thrift.protocol.TType.STRING, (short)17);
private static final org.apache.thrift.protocol.TField REQUESTED_MEMONHEAP_FIELD_DESC = new org.apache.thrift.protocol.TField("requested_memonheap", org.apache.thrift.protocol.TType.DOUBLE, (short)521);
private static final org.apache.thrift.protocol.TField REQUESTED_MEMOFFHEAP_FIELD_DESC = new org.apache.thrift.protocol.TField("requested_memoffheap", org.apache.thrift.protocol.TType.DOUBLE, (short)522);
private static final org.apache.thrift.protocol.TField REQUESTED_CPU_FIELD_DESC = new org.apache.thrift.protocol.TField("requested_cpu", org.apache.thrift.protocol.TType.DOUBLE, (short)523);
@@ -100,6 +101,7 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
private DebugOptions debug_options; // optional
private int replication_count; // optional
private List<WorkerSummary> workers; // optional
+ private String storm_version; // optional
private double requested_memonheap; // optional
private double requested_memoffheap; // optional
private double requested_cpu; // optional
@@ -125,6 +127,7 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
DEBUG_OPTIONS((short)14, "debug_options"),
REPLICATION_COUNT((short)15, "replication_count"),
WORKERS((short)16, "workers"),
+ STORM_VERSION((short)17, "storm_version"),
REQUESTED_MEMONHEAP((short)521, "requested_memonheap"),
REQUESTED_MEMOFFHEAP((short)522, "requested_memoffheap"),
REQUESTED_CPU((short)523, "requested_cpu"),
@@ -177,6 +180,8 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
return REPLICATION_COUNT;
case 16: // WORKERS
return WORKERS;
+ case 17: // STORM_VERSION
+ return STORM_VERSION;
case 521: // REQUESTED_MEMONHEAP
return REQUESTED_MEMONHEAP;
case 522: // REQUESTED_MEMOFFHEAP
@@ -241,7 +246,7 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
private static final int __ASSIGNED_MEMOFFHEAP_ISSET_ID = 9;
private static final int __ASSIGNED_CPU_ISSET_ID = 10;
private short __isset_bitfield = 0;
- private static final _Fields optionals[] = {_Fields.NAME,_Fields.UPTIME_SECS,_Fields.STATUS,_Fields.NUM_TASKS,_Fields.NUM_WORKERS,_Fields.NUM_EXECUTORS,_Fields.TOPOLOGY_CONF,_Fields.ID_TO_SPOUT_AGG_STATS,_Fields.ID_TO_BOLT_AGG_STATS,_Fields.SCHED_STATUS,_Fields.TOPOLOGY_STATS,_Fields.OWNER,_Fields.DEBUG_OPTIONS,_Fields.REPLICATION_COUNT,_Fields.WORKERS,_Fields.REQUESTED_MEMONHEAP,_Fields.REQUESTED_MEMOFFHEAP,_Fields.REQUESTED_CPU,_Fields.ASSIGNED_MEMONHEAP,_Fields.ASSIGNED_MEMOFFHEAP,_Fields.ASSIGNED_CPU};
+ private static final _Fields optionals[] = {_Fields.NAME,_Fields.UPTIME_SECS,_Fields.STATUS,_Fields.NUM_TASKS,_Fields.NUM_WORKERS,_Fields.NUM_EXECUTORS,_Fields.TOPOLOGY_CONF,_Fields.ID_TO_SPOUT_AGG_STATS,_Fields.ID_TO_BOLT_AGG_STATS,_Fields.SCHED_STATUS,_Fields.TOPOLOGY_STATS,_Fields.OWNER,_Fields.DEBUG_OPTIONS,_Fields.REPLICATION_COUNT,_Fields.WORKERS,_Fields.STORM_VERSION,_Fields.REQUESTED_MEMONHEAP,_Fields.REQUESTED_MEMOFFHEAP,_Fields.REQUESTED_CPU,_Fields.ASSIGNED_MEMONHEAP,_Fields.ASSIGNED_MEMOFFHEAP,_Fields.ASSIGNED_CPU};
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -282,6 +287,8 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
tmpMap.put(_Fields.WORKERS, new org.apache.thrift.meta_data.FieldMetaData("workers", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, WorkerSummary.class))));
+ tmpMap.put(_Fields.STORM_VERSION, new org.apache.thrift.meta_data.FieldMetaData("storm_version", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.REQUESTED_MEMONHEAP, new org.apache.thrift.meta_data.FieldMetaData("requested_memonheap", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
tmpMap.put(_Fields.REQUESTED_MEMOFFHEAP, new org.apache.thrift.meta_data.FieldMetaData("requested_memoffheap", org.apache.thrift.TFieldRequirementType.OPTIONAL,
@@ -379,6 +386,9 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
}
this.workers = __this__workers;
}
+ if (other.is_set_storm_version()) {
+ this.storm_version = other.storm_version;
+ }
this.requested_memonheap = other.requested_memonheap;
this.requested_memoffheap = other.requested_memoffheap;
this.requested_cpu = other.requested_cpu;
@@ -414,6 +424,7 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
set_replication_count_isSet(false);
this.replication_count = 0;
this.workers = null;
+ this.storm_version = null;
set_requested_memonheap_isSet(false);
this.requested_memonheap = 0.0;
set_requested_memoffheap_isSet(false);
@@ -828,6 +839,29 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
}
}
+ public String get_storm_version() {
+ return this.storm_version;
+ }
+
+ public void set_storm_version(String storm_version) {
+ this.storm_version = storm_version;
+ }
+
+ public void unset_storm_version() {
+ this.storm_version = null;
+ }
+
+ /** Returns true if field storm_version is set (has been assigned a value) and false otherwise */
+ public boolean is_set_storm_version() {
+ return this.storm_version != null;
+ }
+
+ public void set_storm_version_isSet(boolean value) {
+ if (!value) {
+ this.storm_version = null;
+ }
+ }
+
public double get_requested_memonheap() {
return this.requested_memonheap;
}
@@ -1090,6 +1124,14 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
}
break;
+ case STORM_VERSION:
+ if (value == null) {
+ unset_storm_version();
+ } else {
+ set_storm_version((String)value);
+ }
+ break;
+
case REQUESTED_MEMONHEAP:
if (value == null) {
unset_requested_memonheap();
@@ -1191,6 +1233,9 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
case WORKERS:
return get_workers();
+ case STORM_VERSION:
+ return get_storm_version();
+
case REQUESTED_MEMONHEAP:
return get_requested_memonheap();
@@ -1252,6 +1297,8 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
return is_set_replication_count();
case WORKERS:
return is_set_workers();
+ case STORM_VERSION:
+ return is_set_storm_version();
case REQUESTED_MEMONHEAP:
return is_set_requested_memonheap();
case REQUESTED_MEMOFFHEAP:
@@ -1425,6 +1472,15 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
return false;
}
+ boolean this_present_storm_version = true && this.is_set_storm_version();
+ boolean that_present_storm_version = true && that.is_set_storm_version();
+ if (this_present_storm_version || that_present_storm_version) {
+ if (!(this_present_storm_version && that_present_storm_version))
+ return false;
+ if (!this.storm_version.equals(that.storm_version))
+ return false;
+ }
+
boolean this_present_requested_memonheap = true && this.is_set_requested_memonheap();
boolean that_present_requested_memonheap = true && that.is_set_requested_memonheap();
if (this_present_requested_memonheap || that_present_requested_memonheap) {
@@ -1566,6 +1622,11 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
if (present_workers)
list.add(workers);
+ boolean present_storm_version = true && (is_set_storm_version());
+ list.add(present_storm_version);
+ if (present_storm_version)
+ list.add(storm_version);
+
boolean present_requested_memonheap = true && (is_set_requested_memonheap());
list.add(present_requested_memonheap);
if (present_requested_memonheap)
@@ -1767,6 +1828,16 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(is_set_storm_version()).compareTo(other.is_set_storm_version());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (is_set_storm_version()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storm_version, other.storm_version);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
lastComparison = Boolean.valueOf(is_set_requested_memonheap()).compareTo(other.is_set_requested_memonheap());
if (lastComparison != 0) {
return lastComparison;
@@ -1984,6 +2055,16 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
}
first = false;
}
+ if (is_set_storm_version()) {
+ if (!first) sb.append(", ");
+ sb.append("storm_version:");
+ if (this.storm_version == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.storm_version);
+ }
+ first = false;
+ }
if (is_set_requested_memonheap()) {
if (!first) sb.append(", ");
sb.append("requested_memonheap:");
@@ -2242,6 +2323,14 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 17: // STORM_VERSION
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.storm_version = iprot.readString();
+ struct.set_storm_version_isSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
case 521: // REQUESTED_MEMONHEAP
if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
struct.requested_memonheap = iprot.readDouble();
@@ -2426,6 +2515,13 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
oprot.writeFieldEnd();
}
}
+ if (struct.storm_version != null) {
+ if (struct.is_set_storm_version()) {
+ oprot.writeFieldBegin(STORM_VERSION_FIELD_DESC);
+ oprot.writeString(struct.storm_version);
+ oprot.writeFieldEnd();
+ }
+ }
if (struct.is_set_requested_memonheap()) {
oprot.writeFieldBegin(REQUESTED_MEMONHEAP_FIELD_DESC);
oprot.writeDouble(struct.requested_memonheap);
@@ -2520,25 +2616,28 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
if (struct.is_set_workers()) {
optionals.set(14);
}
- if (struct.is_set_requested_memonheap()) {
+ if (struct.is_set_storm_version()) {
optionals.set(15);
}
- if (struct.is_set_requested_memoffheap()) {
+ if (struct.is_set_requested_memonheap()) {
optionals.set(16);
}
- if (struct.is_set_requested_cpu()) {
+ if (struct.is_set_requested_memoffheap()) {
optionals.set(17);
}
- if (struct.is_set_assigned_memonheap()) {
+ if (struct.is_set_requested_cpu()) {
optionals.set(18);
}
- if (struct.is_set_assigned_memoffheap()) {
+ if (struct.is_set_assigned_memonheap()) {
optionals.set(19);
}
- if (struct.is_set_assigned_cpu()) {
+ if (struct.is_set_assigned_memoffheap()) {
optionals.set(20);
}
- oprot.writeBitSet(optionals, 21);
+ if (struct.is_set_assigned_cpu()) {
+ optionals.set(21);
+ }
+ oprot.writeBitSet(optionals, 22);
if (struct.is_set_name()) {
oprot.writeString(struct.name);
}
@@ -2604,6 +2703,9 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
}
}
}
+ if (struct.is_set_storm_version()) {
+ oprot.writeString(struct.storm_version);
+ }
if (struct.is_set_requested_memonheap()) {
oprot.writeDouble(struct.requested_memonheap);
}
@@ -2629,7 +2731,7 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
TTupleProtocol iprot = (TTupleProtocol) prot;
struct.id = iprot.readString();
struct.set_id_isSet(true);
- BitSet incoming = iprot.readBitSet(21);
+ BitSet incoming = iprot.readBitSet(22);
if (incoming.get(0)) {
struct.name = iprot.readString();
struct.set_name_isSet(true);
@@ -2727,26 +2829,30 @@ public class TopologyPageInfo implements org.apache.thrift.TBase<TopologyPageInf
struct.set_workers_isSet(true);
}
if (incoming.get(15)) {
+ struct.storm_version = iprot.readString();
+ struct.set_storm_version_isSet(true);
+ }
+ if (incoming.get(16)) {
struct.requested_memonheap = iprot.readDouble();
struct.set_requested_memonheap_isSet(true);
}
- if (incoming.get(16)) {
+ if (incoming.get(17)) {
struct.requested_memoffheap = iprot.readDouble();
struct.set_requested_memoffheap_isSet(true);
}
- if (incoming.get(17)) {
+ if (incoming.get(18)) {
struct.requested_cpu = iprot.readDouble();
struct.set_requested_cpu_isSet(true);
}
- if (incoming.get(18)) {
+ if (incoming.get(19)) {
struct.assigned_memonheap = iprot.readDouble();
struct.set_assigned_memonheap_isSet(true);
}
- if (incoming.get(19)) {
+ if (incoming.get(20)) {
struct.assigned_memoffheap = iprot.readDouble();
struct.set_assigned_memoffheap_isSet(true);
}
- if (incoming.get(20)) {
+ if (incoming.get(21)) {
struct.assigned_cpu = iprot.readDouble();
struct.set_assigned_cpu_isSet(true);
}
http://git-wip-us.apache.org/repos/asf/storm/blob/22d1fe38/storm-client/src/jvm/org/apache/storm/generated/TopologySummary.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/TopologySummary.java b/storm-client/src/jvm/org/apache/storm/generated/TopologySummary.java
index 8b7cd75..39547e4 100644
--- a/storm-client/src/jvm/org/apache/storm/generated/TopologySummary.java
+++ b/storm-client/src/jvm/org/apache/storm/generated/TopologySummary.java
@@ -62,6 +62,7 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
private static final org.apache.thrift.protocol.TField NUM_WORKERS_FIELD_DESC = new org.apache.thrift.protocol.TField("num_workers", org.apache.thrift.protocol.TType.I32, (short)5);
private static final org.apache.thrift.protocol.TField UPTIME_SECS_FIELD_DESC = new org.apache.thrift.protocol.TField("uptime_secs", org.apache.thrift.protocol.TType.I32, (short)6);
private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRING, (short)7);
+ private static final org.apache.thrift.protocol.TField STORM_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("storm_version", org.apache.thrift.protocol.TType.STRING, (short)8);
private static final org.apache.thrift.protocol.TField SCHED_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("sched_status", org.apache.thrift.protocol.TType.STRING, (short)513);
private static final org.apache.thrift.protocol.TField OWNER_FIELD_DESC = new org.apache.thrift.protocol.TField("owner", org.apache.thrift.protocol.TType.STRING, (short)514);
private static final org.apache.thrift.protocol.TField REPLICATION_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("replication_count", org.apache.thrift.protocol.TType.I32, (short)515);
@@ -85,6 +86,7 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
private int num_workers; // required
private int uptime_secs; // required
private String status; // required
+ private String storm_version; // optional
private String sched_status; // optional
private String owner; // optional
private int replication_count; // optional
@@ -104,6 +106,7 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
NUM_WORKERS((short)5, "num_workers"),
UPTIME_SECS((short)6, "uptime_secs"),
STATUS((short)7, "status"),
+ STORM_VERSION((short)8, "storm_version"),
SCHED_STATUS((short)513, "sched_status"),
OWNER((short)514, "owner"),
REPLICATION_COUNT((short)515, "replication_count"),
@@ -141,6 +144,8 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
return UPTIME_SECS;
case 7: // STATUS
return STATUS;
+ case 8: // STORM_VERSION
+ return STORM_VERSION;
case 513: // SCHED_STATUS
return SCHED_STATUS;
case 514: // OWNER
@@ -211,7 +216,7 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
private static final int __ASSIGNED_MEMOFFHEAP_ISSET_ID = 9;
private static final int __ASSIGNED_CPU_ISSET_ID = 10;
private short __isset_bitfield = 0;
- private static final _Fields optionals[] = {_Fields.SCHED_STATUS,_Fields.OWNER,_Fields.REPLICATION_COUNT,_Fields.REQUESTED_MEMONHEAP,_Fields.REQUESTED_MEMOFFHEAP,_Fields.REQUESTED_CPU,_Fields.ASSIGNED_MEMONHEAP,_Fields.ASSIGNED_MEMOFFHEAP,_Fields.ASSIGNED_CPU};
+ private static final _Fields optionals[] = {_Fields.STORM_VERSION,_Fields.SCHED_STATUS,_Fields.OWNER,_Fields.REPLICATION_COUNT,_Fields.REQUESTED_MEMONHEAP,_Fields.REQUESTED_MEMOFFHEAP,_Fields.REQUESTED_CPU,_Fields.ASSIGNED_MEMONHEAP,_Fields.ASSIGNED_MEMOFFHEAP,_Fields.ASSIGNED_CPU};
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -229,6 +234,8 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.REQUIRED,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.STORM_VERSION, new org.apache.thrift.meta_data.FieldMetaData("storm_version", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.SCHED_STATUS, new org.apache.thrift.meta_data.FieldMetaData("sched_status", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.OWNER, new org.apache.thrift.meta_data.FieldMetaData("owner", org.apache.thrift.TFieldRequirementType.OPTIONAL,
@@ -295,6 +302,9 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
if (other.is_set_status()) {
this.status = other.status;
}
+ if (other.is_set_storm_version()) {
+ this.storm_version = other.storm_version;
+ }
if (other.is_set_sched_status()) {
this.sched_status = other.sched_status;
}
@@ -327,6 +337,7 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
set_uptime_secs_isSet(false);
this.uptime_secs = 0;
this.status = null;
+ this.storm_version = null;
this.sched_status = null;
this.owner = null;
set_replication_count_isSet(false);
@@ -502,6 +513,29 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
}
}
+ public String get_storm_version() {
+ return this.storm_version;
+ }
+
+ public void set_storm_version(String storm_version) {
+ this.storm_version = storm_version;
+ }
+
+ public void unset_storm_version() {
+ this.storm_version = null;
+ }
+
+ /** Returns true if field storm_version is set (has been assigned a value) and false otherwise */
+ public boolean is_set_storm_version() {
+ return this.storm_version != null;
+ }
+
+ public void set_storm_version_isSet(boolean value) {
+ if (!value) {
+ this.storm_version = null;
+ }
+ }
+
public String get_sched_status() {
return this.sched_status;
}
@@ -760,6 +794,14 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
}
break;
+ case STORM_VERSION:
+ if (value == null) {
+ unset_storm_version();
+ } else {
+ set_storm_version((String)value);
+ }
+ break;
+
case SCHED_STATUS:
if (value == null) {
unset_sched_status();
@@ -858,6 +900,9 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
case STATUS:
return get_status();
+ case STORM_VERSION:
+ return get_storm_version();
+
case SCHED_STATUS:
return get_sched_status();
@@ -910,6 +955,8 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
return is_set_uptime_secs();
case STATUS:
return is_set_status();
+ case STORM_VERSION:
+ return is_set_storm_version();
case SCHED_STATUS:
return is_set_sched_status();
case OWNER:
@@ -1008,6 +1055,15 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
return false;
}
+ boolean this_present_storm_version = true && this.is_set_storm_version();
+ boolean that_present_storm_version = true && that.is_set_storm_version();
+ if (this_present_storm_version || that_present_storm_version) {
+ if (!(this_present_storm_version && that_present_storm_version))
+ return false;
+ if (!this.storm_version.equals(that.storm_version))
+ return false;
+ }
+
boolean this_present_sched_status = true && this.is_set_sched_status();
boolean that_present_sched_status = true && that.is_set_sched_status();
if (this_present_sched_status || that_present_sched_status) {
@@ -1131,6 +1187,11 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
if (present_status)
list.add(status);
+ boolean present_storm_version = true && (is_set_storm_version());
+ list.add(present_storm_version);
+ if (present_storm_version)
+ list.add(storm_version);
+
boolean present_sched_status = true && (is_set_sched_status());
list.add(present_sched_status);
if (present_sched_status)
@@ -1257,6 +1318,16 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(is_set_storm_version()).compareTo(other.is_set_storm_version());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (is_set_storm_version()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storm_version, other.storm_version);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
lastComparison = Boolean.valueOf(is_set_sched_status()).compareTo(other.is_set_sched_status());
if (lastComparison != 0) {
return lastComparison;
@@ -1406,6 +1477,16 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
sb.append(this.status);
}
first = false;
+ if (is_set_storm_version()) {
+ if (!first) sb.append(", ");
+ sb.append("storm_version:");
+ if (this.storm_version == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.storm_version);
+ }
+ first = false;
+ }
if (is_set_sched_status()) {
if (!first) sb.append(", ");
sb.append("sched_status:");
@@ -1597,6 +1678,14 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 8: // STORM_VERSION
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.storm_version = iprot.readString();
+ struct.set_storm_version_isSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
case 513: // SCHED_STATUS
if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
struct.sched_status = iprot.readString();
@@ -1709,6 +1798,13 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
oprot.writeString(struct.status);
oprot.writeFieldEnd();
}
+ if (struct.storm_version != null) {
+ if (struct.is_set_storm_version()) {
+ oprot.writeFieldBegin(STORM_VERSION_FIELD_DESC);
+ oprot.writeString(struct.storm_version);
+ oprot.writeFieldEnd();
+ }
+ }
if (struct.sched_status != null) {
if (struct.is_set_sched_status()) {
oprot.writeFieldBegin(SCHED_STATUS_FIELD_DESC);
@@ -1783,34 +1879,40 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
oprot.writeI32(struct.uptime_secs);
oprot.writeString(struct.status);
BitSet optionals = new BitSet();
- if (struct.is_set_sched_status()) {
+ if (struct.is_set_storm_version()) {
optionals.set(0);
}
- if (struct.is_set_owner()) {
+ if (struct.is_set_sched_status()) {
optionals.set(1);
}
- if (struct.is_set_replication_count()) {
+ if (struct.is_set_owner()) {
optionals.set(2);
}
- if (struct.is_set_requested_memonheap()) {
+ if (struct.is_set_replication_count()) {
optionals.set(3);
}
- if (struct.is_set_requested_memoffheap()) {
+ if (struct.is_set_requested_memonheap()) {
optionals.set(4);
}
- if (struct.is_set_requested_cpu()) {
+ if (struct.is_set_requested_memoffheap()) {
optionals.set(5);
}
- if (struct.is_set_assigned_memonheap()) {
+ if (struct.is_set_requested_cpu()) {
optionals.set(6);
}
- if (struct.is_set_assigned_memoffheap()) {
+ if (struct.is_set_assigned_memonheap()) {
optionals.set(7);
}
- if (struct.is_set_assigned_cpu()) {
+ if (struct.is_set_assigned_memoffheap()) {
optionals.set(8);
}
- oprot.writeBitSet(optionals, 9);
+ if (struct.is_set_assigned_cpu()) {
+ optionals.set(9);
+ }
+ oprot.writeBitSet(optionals, 10);
+ if (struct.is_set_storm_version()) {
+ oprot.writeString(struct.storm_version);
+ }
if (struct.is_set_sched_status()) {
oprot.writeString(struct.sched_status);
}
@@ -1857,40 +1959,44 @@ public class TopologySummary implements org.apache.thrift.TBase<TopologySummary,
struct.set_uptime_secs_isSet(true);
struct.status = iprot.readString();
struct.set_status_isSet(true);
- BitSet incoming = iprot.readBitSet(9);
+ BitSet incoming = iprot.readBitSet(10);
if (incoming.get(0)) {
+ struct.storm_version = iprot.readString();
+ struct.set_storm_version_isSet(true);
+ }
+ if (incoming.get(1)) {
struct.sched_status = iprot.readString();
struct.set_sched_status_isSet(true);
}
- if (incoming.get(1)) {
+ if (incoming.get(2)) {
struct.owner = iprot.readString();
struct.set_owner_isSet(true);
}
- if (incoming.get(2)) {
+ if (incoming.get(3)) {
struct.replication_count = iprot.readI32();
struct.set_replication_count_isSet(true);
}
- if (incoming.get(3)) {
+ if (incoming.get(4)) {
struct.requested_memonheap = iprot.readDouble();
struct.set_requested_memonheap_isSet(true);
}
- if (incoming.get(4)) {
+ if (incoming.get(5)) {
struct.requested_memoffheap = iprot.readDouble();
struct.set_requested_memoffheap_isSet(true);
}
- if (incoming.get(5)) {
+ if (incoming.get(6)) {
struct.requested_cpu = iprot.readDouble();
struct.set_requested_cpu_isSet(true);
}
- if (incoming.get(6)) {
+ if (incoming.get(7)) {
struct.assigned_memonheap = iprot.readDouble();
struct.set_assigned_memonheap_isSet(true);
}
- if (incoming.get(7)) {
+ if (incoming.get(8)) {
struct.assigned_memoffheap = iprot.readDouble();
struct.set_assigned_memoffheap_isSet(true);
}
- if (incoming.get(8)) {
+ if (incoming.get(9)) {
struct.assigned_cpu = iprot.readDouble();
struct.set_assigned_cpu_isSet(true);
}
http://git-wip-us.apache.org/repos/asf/storm/blob/22d1fe38/storm-client/src/jvm/org/apache/storm/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/topology/TopologyBuilder.java b/storm-client/src/jvm/org/apache/storm/topology/TopologyBuilder.java
index 6542c7e..47cbd2d 100644
--- a/storm-client/src/jvm/org/apache/storm/topology/TopologyBuilder.java
+++ b/storm-client/src/jvm/org/apache/storm/topology/TopologyBuilder.java
@@ -158,7 +158,7 @@ public class TopologyBuilder {
stormTopology.set_worker_hooks(_workerHooks);
- return stormTopology;
+ return Utils.addVersions(stormTopology);
}
/**
http://git-wip-us.apache.org/repos/asf/storm/blob/22d1fe38/storm-client/src/jvm/org/apache/storm/utils/LocalState.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/utils/LocalState.java b/storm-client/src/jvm/org/apache/storm/utils/LocalState.java
index 2f0bb60..29310f5 100644
--- a/storm-client/src/jvm/org/apache/storm/utils/LocalState.java
+++ b/storm-client/src/jvm/org/apache/storm/utils/LocalState.java
@@ -84,7 +84,13 @@ public class LocalState {
private TBase deserialize(ThriftSerializedObject obj, TDeserializer td) {
try {
- Class<?> clazz = Class.forName(obj.get_name());
+ Class<?> clazz;
+ try {
+ clazz = Class.forName(obj.get_name());
+ } catch (ClassNotFoundException ex) {
+ //Try to maintain rolling upgrade compatible with 0.10 releases
+ clazz = Class.forName(obj.get_name().replaceAll("^backtype\\.storm\\.", "org.apache.storm."));
+ }
TBase instance = (TBase) clazz.newInstance();
td.deserialize(instance, obj.get_bits());
return instance;
http://git-wip-us.apache.org/repos/asf/storm/blob/22d1fe38/storm-client/src/jvm/org/apache/storm/utils/SimpleVersion.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/utils/SimpleVersion.java b/storm-client/src/jvm/org/apache/storm/utils/SimpleVersion.java
new file mode 100644
index 0000000..471b049
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/utils/SimpleVersion.java
@@ -0,0 +1,88 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.storm.utils;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Take a version string and parse out a Major.Minor version
+ */
+public class SimpleVersion implements Comparable <SimpleVersion> {
+ private final int _major;
+ private final int _minor;
+
+ private static final Pattern VERSION_PATTERN = Pattern.compile("(\\d+)[.-_]+(\\d+).*");
+
+ public SimpleVersion(String version) {
+ Matcher m = VERSION_PATTERN.matcher(version);
+ int maj = -1;
+ int min = -1;
+ if (!m.matches()) {
+ //Unknown should only happen during compilation or some unit tests.
+ if (!"Unknown".equals(version)) {
+ throw new IllegalArgumentException("Cannot parse " + version);
+ }
+ } else {
+ maj = Integer.valueOf(m.group(1));
+ min = Integer.valueOf(m.group(2));
+ }
+ _major = maj;
+ _minor = min;
+ }
+
+ public int getMajor() {
+ return _major;
+ }
+
+ public int getMinor() {
+ return _minor;
+ }
+
+ @Override
+ public int hashCode() {
+ return (Integer.hashCode(_major) * 17) & Integer.hashCode(_minor);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ }
+
+ if (!(o instanceof SimpleVersion)) {
+ return false;
+ }
+
+ return compareTo((SimpleVersion)o) == 0;
+ }
+
+ @Override
+ public int compareTo(SimpleVersion o) {
+ int ret = Integer.compare(_major, o._major);
+ if (ret == 0) {
+ ret = Integer.compare(_minor, o._minor);
+ }
+ return ret;
+ }
+
+ @Override
+ public String toString() {
+ return _major + "." + _minor;
+ }
+}