DataStax java.lang.AssertionError: Неверное смещение - PullRequest
0 голосов
/ 19 ноября 2018

Мы запускаем кластер из 3 узлов для тестирования. Так что это не производственная архитектура, которую мы имеем в качестве плана.

Я заметил, что это в debug.log. Кроме того, после этого DataStax не может выполнить сжатие таблицы, в которой проблема, если я не перезапустить узел

java.lang.AssertionError: Invalid offset: 3814, buf: java.nio.DirectByteBuffer[pos=0 lim=3514 cap=4096], bh: ChunkCache$Buffer(/var/lib/cassandra/data/databasename/tablename-4d572062e99311e8ae3c232aeb4f8023/aa-70906-bti-Partitions.db@135168)

Я пытался найти эту ошибку, но нигде не смог найти ответ

Самое удивительное, что такого файла как

нет
aa-70906-bti

в папке / var / lib / cassandra / dataname / tablename

Я вижу файлы с большим номером, например, 72096 или около того

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Спасибо за отчет, это была ошибка во взаимодействии двух разных типов раннего открытия для уровневого уплотнения.Ошибка была исправлена ​​для DSE 6.0.5.

Между тем, если вам нужно обойти проблему, установите sstable_preemptive_open_interval_in_mb в cassandra.yaml на что-то большое, например, 100000. Это отключит раннее открытие при неполномфайлов, но включите его для готовых sstables и обойдите эту проблему, но при этом получите почти все преимущества производительности при раннем открытии.

0 голосов
/ 19 ноября 2018

Хорошо, похоже, вы столкнулись с известной ошибкой, которая была исправлена ​​в DSE 6.0.4 с вычислением смещения:

Исправление неправильного смещения в расчете размера в тристроитель.(DB-2477)

Обновите систему до 6.0.4, чтобы устранить эту проблему.

...