Размер кучи Java постоянно растет, когда я использую Hazelcast Jet - PullRequest
0 голосов
/ 02 октября 2018

Мой поток не очень большой.Я передаю около 400 КБ данных каждые 2 секунды через конвейер Jet.enter image description here

Я использую карты буферов для запуска потока по журналу событий с такой конфигурацией:

    config.getMapEventJournalConfig(Constants.IMAP_TAGS_INFO_BUFFER)
        .setEnabled(true)
        .setCapacity(100)
        .setTimeToLiveSeconds(10);
    config.getMapEventJournalConfig(Constants.IMAP_TAGS_POSITIONS_BUFFER)
        .setEnabled(true)
        .setCapacity(100)
        .setTimeToLiveSeconds(10);

Конвейер начинается в:

StreamStage<Map.Entry<String, List<TagPosition>>> sourceSteam = p.drawFrom(Sources.mapJournal(
            Constants.IMAP_TAGS_POSITIONS_BUFFER,
            Util.mapPutEvents(),
            Util.mapEventToEntry(),
            JournalInitialPosition.START_FROM_OLDEST))

Установка новых значений в картах буфера выполняется методом set () с заменой старого значения.

И после нескольких часов работы мое приложение достигает значения xmx, и Hazelcast закрывается.

enter image description here

Не могли бы вы проверить, если у меня неправильная конфигурация, или я должен профилировать мою заявку более подробно?Мое текущее предположение состоит в том, что журнал события не очищается, несмотря на установку емкости и времени жизни.

Заранее спасибо!

UPD: добавлен дамп кучи и диаграмма

enter image description here

enter image description here

...