[ 
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 <[email protected]>
Date:   2015-12-05T15:29:36Z

    default noop implementation for delete-node-blobstore for 
pacemaker_state_factory

commit 2246b72224b418343958f95762ebfdc75c9ab044
Author: Ilya Ostrovskiy <[email protected]>
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)

Reply via email to