Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Triggers 实现Cassandra触发器时出错_Triggers_Cassandra - Fatal编程技术网

Triggers 实现Cassandra触发器时出错

Triggers 实现Cassandra触发器时出错,triggers,cassandra,Triggers,Cassandra,试图在Cassandra中实现触发器 正在尝试使用可用的Cassandra帮助: 然而,当我试图设置触发器的值并检查日志时,我收到的错误如下 DEBUG [Thrift:2] 2013-03-19 15:07:27,753 CassandraServerTriggerAspect.java (line 69) Mutation for [triggers] with consistencyLevel [ONE] DEBUG [Thrift:2] 2013-03-19 15:08:08,873 C

试图在Cassandra中实现触发器

正在尝试使用可用的Cassandra帮助:

然而,当我试图设置触发器的值并检查日志时,我收到的错误如下

DEBUG [Thrift:2] 2013-03-19 15:07:27,753 CassandraServerTriggerAspect.java (line 69) Mutation for [triggers] with consistencyLevel [ONE]
DEBUG [Thrift:2] 2013-03-19 15:08:08,873 ConfigurationStore.java (line 66) Refreshing trigger configuration.
DEBUG [Thrift:2] 2013-03-19 15:08:08,876 ConfigurationStore.java (line 92) Triggers.isCommitLogEnabled? [true]
DEBUG [Thrift:2] 2013-03-19 15:08:08,876 CassandraServerTriggerAspect.java (line 69) Mutation for [world] with consistencyLevel [ONE]
DEBUG [Thrift:2] 2013-03-19 15:08:08,882 LogEntryStore.java (line 84) Host ID: CTSINGMRGTO
DEBUG [Thrift:2] 2013-03-19 15:08:08,882 CassandraStore.java (line 59) Did not create [triggers:CommitLog_CTSINGMRGTO] (probably already there)
 INFO [Thrift:2] 2013-03-19 15:08:08,884 CassandraStore.java (line 93) Did not create [triggers:CommitLog_CTSINGMRGTO] (probably already there)
 WARN [Thrift:2] 2013-03-19 15:08:08,884 CommitLog.java (line 38) Instantiated commit log [CommitLog_CTSINGMRGTO]
DEBUG [Thrift:2] 2013-03-19 15:08:08,886 TriggerTask.java (line 32) Spawning [20] threads for commit log processing.
DEBUG [Thrift:2] 2013-03-19 15:08:08,890 CommitLog.java (line 41) Started Trigger Task thread.
ERROR [Thrift:2] 2013-03-19 15:08:08,892 CassandraServerTriggerAspect.java (line 61) Could not write to cassandra! Method: org.apache.cassandra.thrift.CassandraServer.doInsert()
java.lang.ClassCastException: java.util.UUID cannot be cast to java.lang.Integer
        at com.hmsonline.cassandra.triggers.dao.CommitLog.writePending(CommitLog.java:63)
        at com.hmsonline.cassandra.triggers.CassandraServerTriggerAspect.writePending(CassandraServerTriggerAspect.java:72)
        at com.hmsonline.cassandra.triggers.CassandraServerTriggerAspect.ajc$inlineAccessMethod$com_hmsonline_cassandra_triggers_CassandraServerTriggerAspect$com_hmsonline_cassandra_triggers_CassandraServerTriggerAspect$writePending(CassandraServerTriggerAspect.java:1)
        at com.hmsonline.cassandra.triggers.CassandraServerTriggerAspect.writeToCommitLog(CassandraServerTriggerAspect.java:34)
        at org.apache.cassandra.thrift.CassandraServer.doInsert(CassandraServer.java:854)
        at org.apache.cassandra.thrift.CassandraServer.internal_insert(CassandraServer.java:624)
        at org.apache.cassandra.thrift.CassandraServer.insert(CassandraServer.java:645)
        at org.apache.cassandra.thrift.Cassandra$Processor$insert.getResult(Cassandra.java:3526)
        at org.apache.cassandra.thrift.Cassandra$Processor$insert.getResult(Cassandra.java:3514)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
        at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
 WARN [Thread-23] 2013-03-19 15:08:08,895 TriggerTask.java (line 62) Could not execute triggers [null]
ERROR [Thrift:2] 2013-03-19 15:08:08,896 CustomTThreadPoolServer.java (line 217) Error occurred during processing of message.
为了进一步诊断,cassandra cli中显示的错误为:


在您提供的日志信息中,明确提到了这一点

java.lang.ClassCastException: java.util.UUID cannot be cast to java.lang.Integer

为了获得更好的响应,您必须共享脚本和插入代码

谢谢您的友好回复…我对Java也不是很熟悉。。但是,正如我已经提到的,我在尝试运行Cassandra帮助页面中给出的触发器示例命令时发现了这个错误:我执行的命令与该页面中给出的命令相同。。只有在我尝试运行最后一个命令时才会弹出错误:
set hello['test']['triggers']='123'实际上它不是一个脚本,我只是尝试从Cassandra客户端提示符实现它。这些命令是:
createkeyspace-world;利用世界;创建列族hello,列类型为'Standard',比较器为'UTF8Type',默认值为'UTF8Type',键为'UTF8Type';设置hello['test']['triggers']='123';使用触发器;设置配置['CommitLog']['enabled']='true';创建列类型为'Standard',比较器为'UTF8Type',默认验证类为'UTF8Type',键验证类为'UTF8Type'的列族触发器
设置触发器['world:hello']['com.hmsonline.cassandra.Triggers.TestTrigger']='enabled';利用世界;设置hello['test']['triggers']='123'@Tanny set hello['test']['triggers']='123';在cassandra cli中完美执行。最好再次检查代码,并找出在哪里传递了UUID?为哪个家庭?领域基本上,异常是由于为在元数据中分配整数的字段插入UUID列值或键值。感谢您的时间,实际上这就是捕获,您可以设置它一次,尝试再次设置值,然后它抛出我发布的错误,简言之,无法以某种方式启动触发器。。。
java.lang.ClassCastException: java.util.UUID cannot be cast to java.lang.Integer