[Hawkular-dev] Manage cassandra-all in hawkular-parent

Peter Palaga ppalaga at redhat.com
Fri Aug 14 06:50:20 EDT 2015


Hi John,

thanks to Lukáš's expertise, we now know that the named stacktrace is 
Cassandra's internal problem. Their cassandra-all:2.2.0 artifact by 
mistake depends on thrift-server 0.3.5 which should correctly be 0.3.7.

Lukáš reported the problem in their Jira: 
https://issues.apache.org/jira/browse/CASSANDRA-10071 and I attached a 
patch.

Question 1: I do not know how deeply you are engaged in the c* 
community, but you may perhaps help somehow to speedup the process by 
reviewing/merging the patch and after that proposing a new 2.2.* release?

Question 2: Independently from how fast can the issue be resolved in 
upstream, there is a workaround possible in embedded-cassandra: 
https://github.com/ppalaga/hawkular-commons/commit/25450efedab347d3064d1093da3b22e5c03160b3 
I have just tested with c* 2.2.0 and at least the integration tests in 
hawkular have all passed. I'd release embedded-cassandra with this 
workaround so that we are on 2.2.* unless you raise some concerns?

Thanks,

Peter


On 2015-08-12 17:55, Peter Palaga wrote:
> Ahoj Lukáš,
>
> It looks like there some some kind of incompatibility between Cassandra
> 2.2.0 and titan-cassandra 0.5.4 - see the stacktrace below. Can
> titan-cassandra be upgraded to work with Cassandra 2.2.0?
>
> Thanks,
>
> Peter
>
>
> 15340 [ServerService Thread Pool -- 80] INFO
> org.apache.cassandra.transport.Server  - Starting listening for CQL
> clients on /127.0.0.1:9042...
> 17:33:18,236 INFO  [org.apache.cassandra.thrift.ThriftServer]
> (ServerService Thread Pool -- 80) Binding thrift service to /127.0.0.1:9160
> 15383 [ServerService Thread Pool -- 80] INFO
> org.apache.cassandra.thrift.ThriftServer  - Binding thrift service to
> /127.0.0.1:9160
> 17:33:18,247 ERROR [org.apache.cassandra.service.CassandraDaemon]
> (ServerService Thread Pool -- 80) Exception encountered during startup:
> java.lang.NoSuchMethodError:
> com.thinkaurelius.thrift.TDisruptorServer$Args.invocationExecutor(Ljava/util/concurrent/ThreadPoolExecutor;)Lcom/thinkaurelius/thrift/TDisruptorServer$Args;
> 	at
> org.apache.cassandra.thrift.THsHaDisruptorServer$Factory.buildTServer(THsHaDisruptorServer.java:103)
> 	at
> org.apache.cassandra.thrift.TServerCustomFactory.buildTServer(TServerCustomFactory.java:55)
> 	at
> org.apache.cassandra.thrift.ThriftServer$ThriftServerThread.<init>(ThriftServer.java:131)
> 	at org.apache.cassandra.thrift.ThriftServer.start(ThriftServer.java:58)
> 	at
> org.apache.cassandra.service.CassandraDaemon.start(CassandraDaemon.java:404)
> 	at
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:494)
> 	at
> org.hawkular.commons.cassandra.EmbeddedCassandraService.start(EmbeddedCassandraService.java:66)
> 	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
> org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:96)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doLifecycleInterception(Jsr299BindingsInterceptor.java:114)
> 	at
> org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:103)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
> 	at
> org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73)
> 	at
> org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:53)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:28)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.weld.injection.WeldInterceptorInjectionInterceptor.processInvocation(WeldInterceptorInjectionInterceptor.java:56)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.weld.ejb.Jsr299BindingsCreateInterceptor.processInvocation(Jsr299BindingsCreateInterceptor.java:100)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
> 	at
> org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:349)
> 	at
> org.jboss.as.ejb3.tx.LifecycleCMTTxInterceptor.processInvocation(LifecycleCMTTxInterceptor.java:66)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.weld.injection.WeldInjectionContextInterceptor.processInvocation(WeldInjectionContextInterceptor.java:43)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
> 	at
> org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> 	at
> org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
> 	at
> org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:134)
> 	at
> org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:88)
> 	at
> org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:122)
> 	at
> org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:136)
> 	at
> org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	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)
> 	at org.jboss.threads.JBossThread.run(JBossThread.java:320)
>
> 15394 [ServerService Thread Pool -- 80] ERROR
> org.apache.cassandra.service.CassandraDaemon  - Exception encountered
> during startup
> java.lang.NoSuchMethodError:
> com.thinkaurelius.thrift.TDisruptorServer$Args.invocationExecutor(Ljava/util/concurrent/ThreadPoolExecutor;)Lcom/thinkaurelius/thrift/TDisruptorServer$Args;
> 	at
> org.apache.cassandra.thrift.THsHaDisruptorServer$Factory.buildTServer(THsHaDisruptorServer.java:103)
> 	at
> org.apache.cassandra.thrift.TServerCustomFactory.buildTServer(TServerCustomFactory.java:55)
> 	at
> org.apache.cassandra.thrift.ThriftServer$ThriftServerThread.<init>(ThriftServer.java:131)
> 	at org.apache.cassandra.thrift.ThriftServer.start(ThriftServer.java:58)
> 	at
> org.apache.cassandra.service.CassandraDaemon.start(CassandraDaemon.java:404)
> 	at
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:494)
> 	at
> org.hawkular.commons.cassandra.EmbeddedCassandraService.start(EmbeddedCassandraService.java:66)
> 	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
> org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptor.java:96)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doLifecycleInterception(Jsr299BindingsInterceptor.java:114)
> 	at
> org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:103)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:437)
> 	at
> org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73)
> 	at
> org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:83)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:53)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:28)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.weld.injection.WeldInterceptorInjectionInterceptor.processInvocation(WeldInterceptorInjectionInterceptor.java:56)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.weld.ejb.Jsr299BindingsCreateInterceptor.processInvocation(Jsr299BindingsCreateInterceptor.java:100)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:275)
> 	at
> org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:349)
> 	at
> org.jboss.as.ejb3.tx.LifecycleCMTTxInterceptor.processInvocation(LifecycleCMTTxInterceptor.java:66)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.weld.injection.WeldInjectionContextInterceptor.processInvocation(WeldInjectionContextInterceptor.java:43)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
> 	at
> org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
> 	at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
> 	at
> org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> 	at
> org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
> 	at
> org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:134)
> 	at
> org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:88)
> 	at
> org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:122)
> 	at
> org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:136)
> 	at
> org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	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)
> 	at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> 17:33:18,253 INFO  [org.jboss.as.server] (Thread-2) WFLYSRV0220:
> Server shutdown has been requested.
> 15400 [Thread-2] INFO org.jboss.as.server  - WFLYSRV0220: Server
> shutdown has been requested.
>
>
> On 2015-08-07 19:27, Peter Palaga wrote:
>>    > I don’t see any reason not to move to Cassandra 2.2
>>
>> Thanks for the notice, John. That should be a good news for Jay and
>> other Windows users. So I'll take the newest 2.2.* Cassandra and the
>> newest 2.2.* driver. -- P
>>
>> On 2015-08-07 15:38, John Sanda wrote:
>>> Definitely a good idea. And to be honest, I don’t see any reason not to move to Cassandra 2.2. H-Metrics might need to stay on 2.1.x for the OpenShift integration, but was can (easily) manage that separately.
>>>
>>>> On Aug 7, 2015, at 4:21 AM, Peter Palaga <ppalaga at redhat.com> wrote:
>>>>
>>>> Hi *,
>>>>
>>>> ATM, cassandra-all is managed on three places independently, which is
>>>> hard to keep in sync:
>>>>
>>>> org.apache.cassandra:cassandra-all occurences:
>>>>      org.hawkular.metrics:cassandra-seed-provider:2.1.6
>>>>      org.hawkular.commons:hawkular-commons-embedded-cassandra-service:2.1.6
>>>>      org.hawkular.alerts:hawkular-alerts-engine:2.1.1
>>>>
>>>> I'd put cassandra-all newest 2.1.* version (2.1.8) to
>>>> dependencyManagement in hawkular-parent unless somebody protests loudly.
>>>>
>>>> Note, that we already manage
>>>> com.datastax.cassandra:cassandra-driver-core in parent. The driver's
>>>> release cycle is independendent from cassandra-all. The newest 2.1.*
>>>> version of the driver is 2.1.7.1 and I am going to upgrade to that one
>>>> in Parent.
>>>>
>>>> Thanks,
>>>>
>>>> Peter
>>>>
>>>> _______________________________________________
>>>> hawkular-dev mailing list
>>>> hawkular-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>>
>>>
>>> _______________________________________________
>>> hawkular-dev mailing list
>>> hawkular-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>>
>>
>> _______________________________________________
>> hawkular-dev mailing list
>> hawkular-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>
>
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>



More information about the hawkular-dev mailing list