我不希望键空间中任何表中的任何数据。所以我决定删除键空间(如果存在)并立即创建它。我正在使用下面的代码来实现相同的目的。
CassandraConnector(conf).withSessionDo { session =>
session.execute(s"DROP KEYSPACE if EXISTS $keyspace")
session.execute("""CREATE KEYSPACE if NOT EXISTS %s
WITH replication = {'class':'SimpleStrategy','replication_factor':'1'};""".format(keyspace)
) }
但它未能创建一个键空间。从日志中我只能看到一条警告,指出
Received a DROPPED notification for table test.table_tracker, but this keyspace is unknown in our metadata.
我也尝试过使用 python cassandra 驱动程序。但结果是一样的。我相信存在一些竞争条件,并且丢弃键空间发生异步(如果我错了,请纠正我)。
如何同步删除和创建键空间?