У меня есть таблица, созданная с помощью коннектора Spark Cassandra, создается впечатление, что созданная таблица находится в плохом состоянии, так как ее нельзя запросить или удалить, но я могу запустить desc
на ней, и она отображается для desc tables
.Однако его столбцы не отображаются в system_schema.columns
.Вызывает следующую ошибку:
cqlsh:ams_staging> desc bcookie_sad_1540577971;
CREATE TABLE ams_staging.bcookie_sad_1540577971 (
bcookie text PRIMARY KEY,
sadinfo text
) WITH bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
AND comment = ''
AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';
cqlsh:ams_staging> drop table ams_staging.bcookie_sad_1540577971;
ServerError: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.AssertionError: Table ams_staging.bcookie_sad_1545270474 did not have any partition key columns in the schema tables
Полная трассировка стека
ERROR [MigrationStage:1] 2018-12-21 01:58:59,386 CassandraDaemon.java:226 - Exception in thread Thread[MigrationStage:1,5,main]
java.lang.AssertionError: Table ams_staging.bcookie_sad_1545270474 did not have any partition key columns in the schema tables
at org.apache.cassandra.schema.SchemaKeyspace.fetchTable(SchemaKeyspace.java:950) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.schema.SchemaKeyspace.fetchTables(SchemaKeyspace.java:925) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspace(SchemaKeyspace.java:888) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspacesOnly(SchemaKeyspace.java:880) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1277) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.service.MigrationManager$1.runMayThrow(MigrationManager.java:534) ~[apache-cassandra-3.9.jar:3.9]
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-3.9.jar:3.9]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_72]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_72]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_72]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_72]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72]
Та же ошибка приводит к невозможности запуска некоторых узлов.Также любая другая попытка записи в это пространство ключей через соединитель Spark Cassandra не будет выполнена с той же ошибкой.Попытка усечь таблицу также не работает.Я также попытался добавить столбец partition_key в system_schema.columns
, который также не работал.
Я нашел https://jira.apache.org/jira/browse/CASSANDRA-13180, который, похоже, предлагает единственный способ восстановления - это «восстановление из резервной копии».Есть ли способ просто отбросить эти таблицы или заставить Кассандру забыть об этих таблицах?
Кассандра Версия 3.9