[
https://issues.apache.org/jira/browse/STORM-1189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14996590#comment-14996590
]
Robert Joseph Evans commented on STORM-1189:
--------------------------------------------
There is either a bug in thrift or you have a client server mismatch. Nimbus
will validate the object before serializing it out using essentially the same
code that is being used to validate the object after deserializing. The reason
I use essentially is because if we have a mismatch in the versions of storm on
the client and server the validation logic will be different.
Hortonworks 2.3 has storm 0.10.0 but it also has HA merged into it, so it is
closer to 0.11.x for this.
I really don't like the idea of fully removing a required field. It make doing
a rolling upgrade impossible. I would very much prefer to deprecate it, and
either always set it to 0, or set it to the lowest uptime of all nimbuses.
I'll see if I can through together a patch for that quickly.
> client.getClusterInfo() fails with Required field 'nimbus_uptime_secs' is
> unset!
> --------------------------------------------------------------------------------
>
> Key: STORM-1189
> URL: https://issues.apache.org/jira/browse/STORM-1189
> Project: Apache Storm
> Issue Type: Bug
> Components: storm-core
> Affects Versions: 0.10.0
> Environment: CentOS 7, Hortonworks 2.3, Java API
> Reporter: Michael Sonst
>
> Hi,
> we are about to upgrade our cluster from 0.9.1-incubating to 0.10.0. I'm
> currently testing whether the functionality is still working with 0.10.0 in
> VMs.
> On 0.10.0 the following throws the exception mentioned below:
> ...
> NimbusClient nimbusClient = NimbusClient.getConfiguredClient(readConfig);
> Client client = nimbusClient.getClient();
> ClusterSummary clusterInfo = client.getClusterInfo();
> Exception:
> org.apache.thrift7.protocol.TProtocolException: Required field
> 'nimbus_uptime_secs' is unset!
> Struct:ClusterSummary(supervisors:[SupervisorSummary(host:n3.t3k.siemens.com,
> uptime_secs:24297, num_workers:4, num_used_workers:0,
> supervisor_id:4a87f03b-ea91-4b12-8cb9-9f7e26703b26,
> version:0.10.0.2.3.0.0-2557)], nimbus_uptime_secs:0, topologies:[])
> at
> backtype.storm.generated.ClusterSummary.validate(ClusterSummary.java:515)
> at
> backtype.storm.generated.ClusterSummary$ClusterSummaryStandardScheme.read(ClusterSummary.java:613)
> at
> backtype.storm.generated.ClusterSummary$ClusterSummaryStandardScheme.read(ClusterSummary.java:549)
> at backtype.storm.generated.ClusterSummary.read(ClusterSummary.java:473)
> at
> backtype.storm.generated.Nimbus$getClusterInfo_result$getClusterInfo_resultStandardScheme.read(Nimbus.java:16546)
> at
> backtype.storm.generated.Nimbus$getClusterInfo_result$getClusterInfo_resultStandardScheme.read(Nimbus.java:16531)
> at
> backtype.storm.generated.Nimbus$getClusterInfo_result.read(Nimbus.java:16470)
> at org.apache.thrift7.TServiceClient.receiveBase(TServiceClient.java:78)
> at
> backtype.storm.generated.Nimbus$Client.recv_getClusterInfo(Nimbus.java:569)
> at
> backtype.storm.generated.Nimbus$Client.getClusterInfo(Nimbus.java:557)
> Switching back to 0.9.1-incubating showed, that the code still works fine
> there.
> BR Michael
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)