2016-07-19 13 views
0

2.2.6(ドッカー画像)と3.7(ドッカーではなく最新バージョン)のcassandraバージョンを試しました。私はテーブルのトリガを作成するときに、両方とも同じ問題を報告します。cassandraのテーブルのトリガーを作成できませんでした

Exception when creating cassandra trigger

`` `

package com.ttData.triggers; 

import ... 

public class DataTrigger implements ITrigger { 
private Properties properties = loadProperties(); 

@Autowired 
private KafkaTemplate<Integer, String> kafkaTemplate; 

private static AtomicInteger index = new AtomicInteger(1); 

@Override 
public Collection<Mutation> augment(Partition update) { 
    ... 
    return Collections.singletonList(audit.build()); 
} 


private static Properties loadProperties() 
{ 
    ... 
    return properties; 
} 

} ` ``

答えて

0

あなたが

cqlsh:test> CREATE TRIGGER myTrigger on mytable using "className"; 
 
SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query] message="line 1:42 mismatched input 'className' expecting STRING_LITERAL (...TRIGGER myTrigger on mytable using ["classNam]e";)"> 
 
cqlsh:test> 
 
cqlsh:test> CREATE TRIGGER myTrigger on mytable using 'className'; 
 
ConfigurationException: <ErrorMessage code=2300 [Query invalid because of configuration issue] message="Trigger class 'className' doesn't exist">
classNameのための単一引用符の代わりの代わりに、二重引用符を使用する必要があります

+0

ありがとうございますが、一重引用符も機能しません。さらに悪化し、「Trigger class は存在しません」と報告されています。実際には存在します。私はpath_to_cassandra/conf/triggers /の下にJARファイルを置いた。 – RocWay

0

cassandraソースコードをデバッグした後、これはバグだと思う。

トリガーディレクトリとトリガークラスがどちらも正しい場合でも、トリガークラスが存在しないというエラーを報告することがあります。

トリガーを作成するための作業スレッドは、cassandraのSecurityManagerによって管理され、SecurityThreadGroupに属している安全なスレッドではないためです。したがって、セキュリティの検証に失敗したときに例外がスローされます。

関連する問題