You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/12/05 16:40:10 UTC
[jira] [Commented] (STORM-1375) Blobstore broke Pacemaker
[ https://issues.apache.org/jira/browse/STORM-1375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15043353#comment-15043353 ]
ASF GitHub Bot commented on STORM-1375:
---------------------------------------
GitHub user iostat opened a pull request:
https://github.com/apache/storm/pull/926
[STORM-1375] Blobstore broke Pacemaker
When using the new Pacemaker (which, you kind of have to, cos the alternative of not using it is abusing ZK to the point of deadlocking it...), you cannot submit topologies because submitTopology is calling ClusterState's delete_node_blobstore which never got implemented in pacemaker_state_factory.clj.
This PR introduces a noop implementation of default-node-blobstore for pacemaker.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/socialrank/storm pacemaker-blobstore
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/storm/pull/926.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #926
----
commit d14dabdafc9c7c9f5f1b97eae522a0373fe38669
Author: Ilya Ostrovskiy <il...@socialrank.com>
Date: 2015-12-05T15:29:36Z
default noop implementation for delete-node-blobstore for pacemaker_state_factory
commit 2246b72224b418343958f95762ebfdc75c9ab044
Author: Ilya Ostrovskiy <il...@socialrank.com>
Date: 2015-12-05T15:32:58Z
move delete-node-blobstore lower so its not implied it passes through to
zk-state
----
> Blobstore broke Pacemaker
> -------------------------
>
> Key: STORM-1375
> URL: https://issues.apache.org/jira/browse/STORM-1375
> Project: Apache Storm
> Issue Type: Bug
> Components: storm-core
> Affects Versions: 0.11.0
> Reporter: Michael Schonfeld
> Assignee: Ilya Ostrovskiy
> Priority: Critical
> Fix For: 0.11.0
>
>
> When using the new Pacemaker (which, you kind of have to, cos the alternative of not using it is abusing ZK to the point of deadlocking it...), you cannot submit topologies because _submitTopology_ is calling ClusterState's _delete_node_blobstore_ which never got implemented in _pacemaker_state_factory.clj_.
> Here's a nice stack trace:
> {noformat}
> 2015-12-05 07:07:21 b.s.d.nimbus [WARN] Topology submission exception. (topology name='cron-ba161de') #error {
> :cause org.apache.storm.pacemaker.pacemaker_state_factory$_mkState$reify__3956.delete_node_blobstore(Ljava/lang/String;Ljava/lang/String;)V
> :via
> [{:type java.lang.AbstractMethodError
> :message org.apache.storm.pacemaker.pacemaker_state_factory$_mkState$reify__3956.delete_node_blobstore(Ljava/lang/String;Ljava/lang/String;)V
> :at [sun.reflect.NativeMethodAccessorImpl invoke0 NativeMethodAccessorImpl.java -2]}]
> :trace
> [[sun.reflect.NativeMethodAccessorImpl invoke0 NativeMethodAccessorImpl.java -2]
> [sun.reflect.NativeMethodAccessorImpl invoke NativeMethodAccessorImpl.java 62]
> [sun.reflect.DelegatingMethodAccessorImpl invoke DelegatingMethodAccessorImpl.java 43]
> [java.lang.reflect.Method invoke Method.java 497]
> [clojure.lang.Reflector invokeMatchingMethod Reflector.java 93]
> [clojure.lang.Reflector invokeInstanceMethod Reflector.java 28]
> [backtype.storm.cluster$mk_storm_cluster_state$reify__3846 setup_blobstore_BANG_ cluster.clj 345]
> [sun.reflect.NativeMethodAccessorImpl invoke0 NativeMethodAccessorImpl.java -2]
> [sun.reflect.NativeMethodAccessorImpl invoke NativeMethodAccessorImpl.java 62]
> [sun.reflect.DelegatingMethodAccessorImpl invoke DelegatingMethodAccessorImpl.java 43]
> [java.lang.reflect.Method invoke Method.java 497]
> [clojure.lang.Reflector invokeMatchingMethod Reflector.java 93]
> [clojure.lang.Reflector invokeInstanceMethod Reflector.java 28]
> [backtype.storm.daemon.nimbus$setup_storm_code invoke nimbus.clj 467]
> [backtype.storm.daemon.nimbus$fn__7774$exec_fn__2579__auto__$reify__7803 submitTopologyWithOpts nimbus.clj 1523]
> [backtype.storm.generated.Nimbus$Processor$submitTopologyWithOpts getResult Nimbus.java 2940]
> [backtype.storm.generated.Nimbus$Processor$submitTopologyWithOpts getResult Nimbus.java 2924]
> [org.apache.thrift7.ProcessFunction process ProcessFunction.java 39]
> [org.apache.thrift7.TBaseProcessor process TBaseProcessor.java 39]
> [backtype.storm.security.auth.SimpleTransportPlugin$SimpleWrapProcessor process SimpleTransportPlugin.java 158]
> [org.apache.thrift7.server.AbstractNonblockingServer$FrameBuffer invoke AbstractNonblockingServer.java 518]
> [org.apache.thrift7.server.Invocation run Invocation.java 18]
> [java.util.concurrent.ThreadPoolExecutor runWorker ThreadPoolExecutor.java 1142]
> [java.util.concurrent.ThreadPoolExecutor$Worker run ThreadPoolExecutor.java 617]
> [java.lang.Thread run Thread.java 745]]}
> 2015-12-05 07:07:21 o.a.t.s.AbstractNonblockingServer$FrameBuffer [ERROR] Unexpected throwable while invoking!
> java.lang.AbstractMethodError: org.apache.storm.pacemaker.pacemaker_state_factory$_mkState$reify__3956.delete_node_blobstore(Ljava/lang/String;Ljava/lang/String;)V
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
> at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
> at backtype.storm.cluster$mk_storm_cluster_state$reify__3846.setup_blobstore_BANG_(cluster.clj:345)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
> at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
> at backtype.storm.daemon.nimbus$setup_storm_code.invoke(nimbus.clj:467)
> at backtype.storm.daemon.nimbus$fn__7774$exec_fn__2579__auto__$reify__7803.submitTopologyWithOpts(nimbus.clj:1523)
> at backtype.storm.generated.Nimbus$Processor$submitTopologyWithOpts.getResult(Nimbus.java:2940)
> at backtype.storm.generated.Nimbus$Processor$submitTopologyWithOpts.getResult(Nimbus.java:2924)
> at org.apache.thrift7.ProcessFunction.process(ProcessFunction.java:39)
> at org.apache.thrift7.TBaseProcessor.process(TBaseProcessor.java:39)
> at backtype.storm.security.auth.SimpleTransportPlugin$SimpleWrapProcessor.process(SimpleTransportPlugin.java:158)
> at org.apache.thrift7.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:518)
> at org.apache.thrift7.server.Invocation.run(Invocation.java:18)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)