Удаление файлов журнала hornetq в JMS

Я знаю, что есть похожий вопрос Ответил уже, но мне нужны разъяснения по делу.

Извините, если я поднимаю эту довольно старую тему, но этот вопрос — единственная зацепка, которую я нахожу во всей сети.

Давайте представим, что каталог журнала моей JMS полон старого хлама, от которого мне нужно избавиться (файлы hornetq-data-$id.hq n месяцев, все еще задерживаются там после катастрофы), и я знаю (случилось, в другой системе) что, когда jms перезапустится, весь этот контент будет выгружен с тревожными последствиями.

Давайте также представим, что я не могу остановить jms, и перезапуск будет выполнен в автоматическом режиме, в который мне не разрешено вмешиваться.

Мой вопрос в том, что если я удалю эти старые файлы (не весь каталог, а только те, что были несколько месяцев назад) с помощью простого «rm», это вызовет какие-либо проблемы (например, индексация пойдет неправильно) или я просто потеряю эти сообщения (которые меня больше не волнуют, так что все в порядке)?


person Paolo Bottaro    schedule 06.02.2019    source источник


Ответы (1)


Я ожидаю, что это вызовет проблемы, даже потенциально остановив брокера. Журнал является неотъемлемой частью брокера, и любой сбой операции ввода-вывода с журналом будет считаться «критическим» и приведет к закрытию брокера.

Кроме того, файлы журнала используются циклически, поэтому маловероятно, что все сообщения, которые вы хотите удалить, находятся в определенных файлах журнала без каких-либо сообщений, которые вы хотели бы сохранить. Повторяю, вы не должны удалять какие-либо файлы журналов. Просто используйте API управления. Это позволит вам удалять сообщения из отдельных очередей. Вы можете удалить все сообщения из определенной очереди или указать фильтр для выборочного удаления определенных сообщений. Вы можете использовать это через JMX или сообщения управления (т. е. специально созданные сообщения JMS, отправляемые на адрес управления).

person Justin Bertram    schedule 06.02.2019
comment
Большое спасибо @jbertram! Тем не менее, мне потребуются небольшие дополнительные разъяснения. Вы говорите, что сбой при записи создаст проблемы, но я думал, что удаление этих файлов вызовет максимум сбой при чтении, я ошибаюсь? Более того, извините, я не слишком хорошо знаком с API. Сообщения, которые я хочу удалить, находятся в хорошо идентифицированных файлах. Могу ли я удалить файлы целиком, или у меня есть доступ только к сообщениям как к объекту взаимодействия? - person Paolo Bottaro; 07.02.2019