Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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
Cassandra Astyanax改变键空间CQL_Cassandra_Astyanax_Cql3 - Fatal编程技术网

Cassandra Astyanax改变键空间CQL

Cassandra Astyanax改变键空间CQL,cassandra,astyanax,cql3,Cassandra,Astyanax,Cql3,我无法执行cql语句来更新SimpleStrategy键空间的复制因子。这很烦人,因为这适用于CQLSH的所有三个版本 我使用的键空间上下文设置为使用cqlv3 .setCqlVersion(“3.0.0”) cql: "ALTER KEYSPACE \"" + ksContext.getKeyspaceName() + "\" WITH REPLICATION = { " + "'class' : 'SimpleStrategy', 'replication_fact

我无法执行cql语句来更新SimpleStrategy键空间的复制因子。这很烦人,因为这适用于CQLSH的所有三个版本

我使用的键空间上下文设置为使用cqlv3
.setCqlVersion(“3.0.0”)

cql:

"ALTER KEYSPACE \"" + ksContext.getKeyspaceName() + "\" WITH REPLICATION = { " + 
            "'class' : 'SimpleStrategy', 'replication_factor' : 3 };";
堆栈跟踪:

InvalidRequestException(why:line 1:108 no viable alternative at character '}')

at com.netflix.astyanax.thrift.ThriftConverter.ToConnectionPoolException(ThriftConverter.java:159)
at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:60)
at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:27)
at com.netflix.astyanax.thrift.ThriftSyncConnectionFactoryImpl$1.execute(ThriftSyncConnectionFactoryImpl.java:140)
at com.netflix.astyanax.connectionpool.impl.AbstractExecuteWithFailoverImpl.tryOperation(AbstractExecuteWithFailoverImpl.java:69)
at com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool.executeWithFailover(AbstractHostPartitionConnectionPool.java:255)
at com.netflix.astyanax.thrift.ThriftColumnFamilyQueryImpl$6.execute(ThriftColumnFamilyQueryImpl.java:694)
at smail.cli.astyanax.Astyanax.execCQL(Astyanax.java:75)
at smail.cli.astyanax.Astyanax.alterReplicationFactor(Astyanax.java:307)
at smail.cli.test.SchemaTest.alterReplicationFactor(SchemaTest.java:25)
at smail.cli.test.TestSuite.runTests(TestSuite.java:39)
at smail.cli.Main.main(Main.java:22)

Astyanax在cql3方面确实存在一些问题,但它正在取得很大进展。创建一个新的键空间并使用CQLv2(通过在上下文中设置它),然后在不使用
引号的情况下进行尝试:

String query = "ALTER KEYSPACE " + keyspaceName + " WITH REPLICATION = { 
               'class' : 'SimpleStrategy', 'replication_factor' : 2 };";
注意*在此查询中,您正在将代表系数更新为2