2013-08-12 6 views
2

Я использую Cassandra 1.2.6 с Astyanax. Я создал ключевое пространство с именем DummyKeyspace с использованием Java. Я могу достичь этого ключевого пространства от cassandra-cli, но не от cqlsh. Зачем?Ключевое пространство, созданное с помощью Astyanax, не видно cqlsh

Вот мой Java-код:

public void createKeyspace(Cluster cluster,String KEYSPACE_NAME,String STRATEGY, String REPLICA_FACTOR) throws ConnectionException 
    { 
     if(cluster.describeKeyspace(KEYSPACE_NAME) == null) 
     { 
      KeyspaceDefinition ksDef = cluster.makeKeyspaceDefinition(); 

      Map<String,String> stratOptions = new HashMap<String,String>(); 
      stratOptions.put("replication_factor", REPLICA_FACTOR); 

      ksDef.setName(KEYSPACE_NAME) 
       .setStrategyOptions(stratOptions) 
       .setStrategyClass(STRATEGY); 

      cluster.addKeyspace(ksDef); 
      System.out.println("Keyspace " + KEYSPACE_NAME + " created and added to cluster."); 
     } 
     else 
     { 
      System.out.println("Keyspace " + KEYSPACE_NAME + " already existed."); 
     } 
    } 

Здесь ошибка, когда я попытался добраться до него:

cqlsh> USE DummyKeyspace; 
Bad Request: Keyspace 'dummykeyspace' does not exist 
+2

Это copypasta? Как вы получили плохую просьбу «twitter2», когда вы использовали «DummyKeyspace»? – Richard

+0

О, извините, я забыл изменить эту часть. Обычно я не использую фактические имена сегментов кода, когда я публиковал его. Вот почему он есть. изм. – shyos

+0

и да его мой код не copypasta. – shyos

ответ

2

Я создал билет об этом (CASSANDRA-5879). Возможно, это намерение использовать кавычки, но это неинтуитивно. Вы также можете использовать аргумент командной строки -k для cqlsh.

3

Попробуйте охватывающее пространство ключей в кавычках ""