Cris Manrique
Cris Manrique

Reputation: 49

Why is CQLDataLoader returning keyspace already exists when it doesn't?

I checked to see if the keyspace exists before creation, but both checks returns null. However, when I execute the keyspace creation cql file, it always returns that the keyspace already exists. I'm using org.cassandra:cassandra:cassandra-unit-spring:3.1.3.2 package. Not sure how to fix this issue. I have another method, '''EmbeddedCassandraServerHelper.cleanEmbeddedCassandra()''', that seemingly drops the keyspace since it also returns null when checking for library keyspace. So at this point, I'm assuming its a logic error on my part but I can't figure it out.

public static void setupEmbeddedCassandra(String cqlFile, String keyspaceName)
          throws IOException, TTransportException, InterruptedException {
    synchronized (lock) {
      if (finalKeyspace == null) {
        System.out.println(CLASS_NAME + " Setting up local embedded cassandra environment");
        EmbeddedCassandraServerHelper.startEmbeddedCassandra();

        int embeddedCassandraPort = EmbeddedCassandraServerHelper.getNativeTransportPort();
        System.setProperty("embeddedCassandraPort", String.valueOf(embeddedCassandraPort));
        cluster =
            (new Cluster.Builder())
                .addContactPoints(new String[] {"localhost"})
                .withPort(embeddedCassandraPort)
                .build();
        session = cluster.connect();
        cluster.getConfiguration();
        System.out.println(cluster.getMetadata().getKeyspace("library"));
        CQLDataLoader dataLoader = new CQLDataLoader(session);
        System.out.println(cluster.getMetadata().getKeyspace("library"));
        dataLoader.load(new ClassPathCQLDataSet(cqlFile, true, keyspaceName));
        System.out.println(
            CLASS_NAME
                + " Embedded Server started on port "
                + EmbeddedCassandraServerHelper.getNativeTransportPort());
      }
      finalKeyspace = keyspaceName;
    }
  }

Upvotes: 0

Views: 97

Answers (0)

Related Questions