Мне не нужны данные ни в одной из таблиц в пространстве ключей. Поэтому я решил отказаться от ключа, если он существует, и создать его немедленно. Я использую приведенный ниже код для достижения того же.Как сделать синхронизацию и создать пространство ключей в кассандре?
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.
Я также попытался использовать драйвер питон Кассандры. Но результаты одинаковы. Я верю, что есть какое-то состояние гонки, а drop keyspace происходит асинхронно (исправьте меня, если я ошибаюсь).
Как я могу синхронно сбросить и создать пространство ключей?
Великого ответ Энди – phact
также отметить, что усечение создаст снимок автоматически. поэтому следите за дисковым пространством и запускайте «nodetool clearsnapshot» вручную, чтобы удалить их. – LHWizard