divert на больших файлах на hornetq оставляет копию файла позади

У нас есть эта очередь, в которую мы получаем несколько больших файлов и много маленьких, поэтому мы используем divert, чтобы поместить большие файлы в их собственную очередь. Диверсия эксклюзивная. Однако обратите внимание, что в папке больших сообщений есть две копии сообщения (это байтовое сообщение — файл со свойствами) для каждого перенаправленного большого сообщения. Как только мы используем перенаправленное сообщение, одно из них исчезает, а другое остается до тех пор, пока шершень не будет перезапущен. При перезапуске мы видим сообщения, подобные следующим:

[org.hornetq.core.server] HQ221018: большое сообщение: 19 327 352 827 не имеет связанной ссылки, файл будет удален

Мы используем потоковую передачу через JMS, чтобы вводить и извлекать их.

Ниже приведена конфигурация переадресации. Кстати, большим размером в нашем HornetQ считается все, что больше 100k.

Мы что-то упустили или просто обнаружили ошибку?

Версия HornetQ 2.3.0

<diverts>
    <divert name="large-message-divert">      
        <routing-name>large-message-divert</routing-name>
        <address>jms.queue.FileDelivery</address>
        <forwarding-address>jms.queue.FileDelivery.large</forwarding-address>
        <filter string="_HQ_LARGE_SIZE IS NOT NULL AND _HQ_LARGE_SIZE > 52428800"/>
        <exclusive>true</exclusive>
    </divert>
</diverts>

person Greg Hill    schedule 09.05.2014    source источник
comment
версия? Мне нужно знать, какую версию HQ вы используете. это может быть исправлена ​​ошибка.   -  person Clebert Suconic    schedule 09.05.2014
comment
2.3.0 финал. Исходный пост тоже отредактировал.   -  person Greg Hill    schedule 09.05.2014


Ответы (1)


Вероятно, это ошибка, исправленная в более позднем выпуске hornetq, поскольку с версии 2.3.0 до текущей даты, когда я написал этот ответ, было как минимум 2 исправления:

HORNETQ-1292 - Delete large message from disk when message is dropped
HORNETQ-431 - Large Messages Files NOT DELETED on unbounded address
person Clebert Suconic    schedule 10.05.2014
comment
2.4.0 работает как положено. Но мы пока не можем обновиться до него, так как эта проблема связана с одним из клиентов, и нам нужно будет хотя бы протестировать все остальные клиенты с 2.4.0, если ничего другого, перед обновлением. Таким образом, мы пытаемся решить проблему с использованием селекторов в исходной очереди (без перенаправления - что работает нормально, но когда очередь существенно заполнена - скажем, 150 тыс. сообщений или более - селекторы в очереди вызывают потребление сообщений идти очень медленно почти до полной остановки. - person Greg Hill; 12.05.2014
comment
Почему вы не обновляете 2.3.x? Кстати: я ответил на ваш вопрос здесь .. вы должны принять его и дать мне баллы :) Я могу помочь вам позже обновить ваш клиент, для чего вам, вероятно, следует перейти на jboss.org / форум пользователя / hornetq - person Clebert Suconic; 12.05.2014