песочница cdap не запускается — невозможно прочитать версию состояния транзакции

#cdap

#cdap

Вопрос:

Я установил двоичные файлы для песочницы CDAP, используя рецепт, найденный здесь . Я создавал плагин, и, возможно, отладчик блокировал работу. Я перезагрузил свой КОМПЬЮТЕР с Linux, на котором была запущена песочница, и теперь, когда я пытаюсь запустить песочницу CDAP, мы получаем сообщение об ошибке:

 2020-10-04 09:05:57,507 - ERROR [main:o.a.t.s.SnapshotCodecProvider@122] - Unable to read transaction state version:
java.io.EOFException: null
        at org.apache.tephra.snapshot.BinaryDecoder.readByte(BinaryDecoder.java:106) ~[org.apache.tephra.tephra-core-0.15.0-incubating.jar:0.15.0-incubating]
        at org.apache.tephra.snapshot.BinaryDecoder.readInt(BinaryDecoder.java:48) ~[org.apache.tephra.tephra-core-0.15.0-incubating.jar:0.15.0-incubating]

  

Моя интуиция говорит о том, что при последнем запуске CDAP у него не было возможности записать состояние транзакции для запуска в полете, и теперь я повредил какое-то состояние. Поскольку сейчас я тестирую только песочницу, я рад холодному запуску CDAP. К сожалению, я еще не нашел никакого рецепта для этого. Кто-нибудь видел что-нибудь подобное или у вас есть рецепт холодного запуска песочницы CDAP?

Комментарии:

1. Одним из решений, которое в настоящее время работает для меня, является удаление каталога с именем data, который содержится в каталоге продуктов cdap. Это сбрасывает все, а не просто очищает журналы.

Ответ №1:

Как вы упомянули в комментарии, удаление каталога данных и журналов решит проблему, но приведет к сбросу песочницы. Песочница CDAP работает на одном Java-процессе, поэтому у нее нет высокой доступности (HA). Когда процесс внезапно прерывается, он может оказаться в поврежденном состоянии.

Ответ №2:

У меня тот же isue. Чтобы решить проблему, вам необходимо удалить или переименовать каталог tx.snapshot в каталоге с именем data. Для меня это нормально без какого-либо сброса.