You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by J Ramesh Kumar <ra...@gmail.com> on 2013/11/26 12:25:30 UTC

Unable to load dependent classes of a trigger

Hi,

I wrote a trigger and it will call internally some other classes. I added
all the dependent classes into a jar and put it into the "*conf/tiggers*".
But cassandra does not load the dependent classes which available in the
jar. How can Solve this issue ?

Thanks,
Ramesh

Traces which found in the cassandra log
----------------------------------------------------
DEBUG [Thrift:1] 2013-11-26 16:44:05,509 CustomClassLoader.java (line 115)
Class not found using parent class loader,
java.lang.ClassNotFoundException:
com.zoho.predict.trigger.AATriggersThreadLocal
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at
org.apache.cassandra.triggers.CustomClassLoader.loadClassInternal(CustomClassLoader.java:111)
    at
org.apache.cassandra.triggers.CustomClassLoader.loadClass(CustomClassLoader.java:103)
    at
com.zoho.predict.trigger.ArchiveTrigger.getString(ArchiveTrigger.java:68)
    at
com.zoho.predict.trigger.ArchiveTrigger.augment(ArchiveTrigger.java:49)
    at
org.apache.cassandra.triggers.TriggerExecutor.execute(TriggerExecutor.java:123)
    at
org.apache.cassandra.triggers.TriggerExecutor.execute(TriggerExecutor.java:73)
    at
org.apache.cassandra.service.StorageProxy.mutateWithTriggers(StorageProxy.java:547)
    at
org.apache.cassandra.cql3.statements.ModificationStatement.executeWithoutCondition(ModificationStatement.java:379)
    at
org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:363)
    at
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:101)
    at
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:117)
    at
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:108)
    at
org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1933)
    at
org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4394)
    at
org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4378)
    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
    at
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:194)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)

Re: Unable to load dependent classes of a trigger

Posted by J Ramesh Kumar <ra...@gmail.com>.
Hi,

The trace printed because I enabled "debug". But actually my custom classes
are loaded successfully with that jar. The exception make me confusion.
This is FYI.

Thanks,
Ramesh


On Tue, Nov 26, 2013 at 4:55 PM, J Ramesh Kumar <ra...@gmail.com>wrote:

> Hi,
>
> I wrote a trigger and it will call internally some other classes. I added
> all the dependent classes into a jar and put it into the "*conf/tiggers*".
> But cassandra does not load the dependent classes which available in the
> jar. How can Solve this issue ?
>
> Thanks,
> Ramesh
>
> Traces which found in the cassandra log
> ----------------------------------------------------
> DEBUG [Thrift:1] 2013-11-26 16:44:05,509 CustomClassLoader.java (line 115)
> Class not found using parent class loader,
> java.lang.ClassNotFoundException:
> com.zoho.predict.trigger.AATriggersThreadLocal
>     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>     at
> org.apache.cassandra.triggers.CustomClassLoader.loadClassInternal(CustomClassLoader.java:111)
>     at
> org.apache.cassandra.triggers.CustomClassLoader.loadClass(CustomClassLoader.java:103)
>     at
> com.zoho.predict.trigger.ArchiveTrigger.getString(ArchiveTrigger.java:68)
>     at
> com.zoho.predict.trigger.ArchiveTrigger.augment(ArchiveTrigger.java:49)
>     at
> org.apache.cassandra.triggers.TriggerExecutor.execute(TriggerExecutor.java:123)
>     at
> org.apache.cassandra.triggers.TriggerExecutor.execute(TriggerExecutor.java:73)
>     at
> org.apache.cassandra.service.StorageProxy.mutateWithTriggers(StorageProxy.java:547)
>     at
> org.apache.cassandra.cql3.statements.ModificationStatement.executeWithoutCondition(ModificationStatement.java:379)
>     at
> org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:363)
>     at
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:101)
>     at
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:117)
>     at
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:108)
>     at
> org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1933)
>     at
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4394)
>     at
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4378)
>     at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
>     at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
>     at
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:194)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>     at java.lang.Thread.run(Thread.java:744)
>
>