david-streamlio / pulsar-nifi-bundle

NiFi Processor for Apache Pulsar
Apache License 2.0
16 stars 19 forks source link

Memory leak in consumer in asynchronous mode #53

Open Nkeramov opened 1 year ago

Nkeramov commented 1 year ago

Hello, recently I encountered a memory leak issue in the consumer's processor in asynchronous mode.

I use Java 11, Apache NiFi 1.20.0, Apache Pulsar 2.10.3.

I builded pulsar bundle for Nifi with following depency versions

 <commons-collections4.version>4.4</commons-collections4.version>

 <commons-compress.version>1.21</commons-compress.version>

 <conscrypt-openjdk.version>2.5.2</conscrypt-openjdk.version>

 <groovy-eclipse-batch.version>2.5.6-01</groovy-eclipse-batch.version>

 <grpc.version>1.41.0</grpc.version>

 <jackson-core.version>2.13.4</jackson-core.version>

 <junit.version>4.13.2</junit.version>

 <mockito-core.version>3.12.4</mockito-core.version>

 <protobuf3.version>3.20.3</protobuf3.version>

 <protoc.version>3.20.0</protoc.version>

 <slf4j-simple.version>2.0.0</slf4j-simple.version>

 <nifi.version>1.20.0</nifi.version>

 <pulsar.version>2.10.3</pulsar.version>

 <java.version>11</java.version>

 <maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>

 <maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>

 <maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version>

 <maven-source-plugin.version>2.2.1</maven-source-plugin.version>

 <nifi-nar-maven-plugin.version>1.3.5</nifi-nar-maven-plugin.version>

 <nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version>

 <maven-versions-plugin.version>2.5</maven-versions-plugin.version>

I send small data packet with data from OpenWeatherMap site. I use ConsumePulsar and ProducePulsar in asynchronous mode. Data is written and read successfully, without loss. However, after a while, the heap size increases dramatically.

Screenshot from 2023-02-27 13-54-58

I also builded this bundle for Apache NiFi 1.18.0 and tested my pipeline in it. The memory problem persisted

Here my pipeline in NiFi

Screenshot from 2023-03-02 17-52-17

PuplishPulsar processor settings

Screenshot from 2023-03-02 17-52-37

ConsumePulsar processor settings

Screenshot from 2023-03-02 17-52-45

PulsarClientService settings

Screenshot from 2023-03-02 17-53-05