Ошибка KahaDB "На диске не осталось места". Как это решить?

Я использую activemq. KahaDB является хранилищем сообщений по умолчанию в activemq. Но он продолжает увеличиваться в размерах и в конечном итоге заканчивается дискового пространства. Даже если все сообщения подтверждены, они все еще увеличиваются в размере и постоянно создают новые файлы журналов в своем хранилище данных.

Я не установил никаких свойств, связанных с KahaDB, он использует свойства по умолчанию.

        broker = new BrokerService();
        TransportConnector connector = new TransportConnector();
        connector.setUri(new URI("tcp://localhost:61616"));
        broker.addConnector(connector);
        broker.start();

Это единственные свойства, которые я установил для брокера. Может кто-нибудь сказать мне свойства, которые я могу использовать на KahaDB, чтобы не было этой ошибки?

1 ответ

Журналы и индексные файлы KahaDB остаются рядом по ряду причин, некоторые из которых не всегда очевидны, поэтому вам нужно выполнить некоторую отладку и посмотреть, что хранит файлы журналов, это может быть так же просто, как одно неподтвержденное сообщение, содержащее весь файл журнала, а в некоторых случаях будущие файлы журнала, которые отслеживают подтверждения для других сообщений в этом журнале.

На сайте ActiveMQ есть хорошая статья о том, как разобраться в этом, чтобы вы могли видеть, что в вашем случае поддерживает все в журналах. Также рекомендуется использовать последнюю версию, потому что все исправлено, чтобы журналы не торчали, когда это не нужно.

Другие вопросы по тегам