-1

There was a thread leak in MLTransactionMetadataStore which also impacts 
production code.
It is fixed by https://github.com/apache/pulsar/pull/14524 which is now merged 
to master branch. The thread leak resulted in a memory leak in tests and that's 
how I noticed it.

The thread leak was also visible in test output. In Pulsar tests we have a 
detector for thread leaks, it is 
https://github.com/apache/pulsar/blob/master/buildtools/src/main/java/org/apache/pulsar/tests/ThreadLeakDetectorListener.java
 . It will log threads that are active when the test ends. For example, when 
running 

mvn -DredirectTestOutputToFile=false -DtestRetryCount=0 test -Pcore-modules -pl 
pulsar-broker -DexcludedGroups= 
-Dtest=ReplicatorTest#testDoNotReplicateSystemTopic

The leak detector logs warnings to the console:

[INFO] [stdout] 2022-03-02T13:37:21,120+0200 [main] WARN  
org.apache.pulsar.tests.ThreadLeakDetectorListener - Tests in class 
ReplicatorTest created thread id 1407 with name 
'Thread[transaction_coordinator_TransactionCoordinatorID(id=0)thread_factory-468-1,5,main]'
[INFO] [stdout] 2022-03-02T13:37:21,120+0200 [main] WARN  
org.apache.pulsar.tests.ThreadLeakDetectorListener - Tests in class 
ReplicatorTest created thread id 1406 with name 
'Thread[transaction_coordinator_TransactionCoordinatorID(id=1)thread_factory-467-1,5,main]'

I hope this helps catch similar issues in the future earlier.

-Lari

On 2022/03/01 12:35:04 PengHui Li wrote:
> This is the second release candidate for Apache Pulsar 2.10.0
> 
> It fixes the following issues:
> https://github.com/apache/pulsar/pulls?q=is%3Apr+milestone%3A2.10.0
> +is%3Amerged+-label%3Arelease%2F2.9.1+-label%3Arelease%2F2.9.2
> 
> *** Please download, test and vote on this release. This vote will stay open
> for at least 72 hours ***
> 
> Note that we are voting upon the source (tag), binaries are provided for
> convenience.
> 
> Source and binary files:
> https://dist.apache.org/repos/dist/dev/pulsar/pulsar-2.10.0-candidate-2/
> 
> SHA-512 checksums:
> 
> 6fde1a547bb0f6b640afaaf5480f45b47b89000f9b6cd85cd00984f8078909d185e52ee753de49cf631ab0097d8785f5c52bcd953b3c0762e3df074aa8b0280f
>  apache-pulsar-
> 2.10.0-bin.tar.gz
> 
> a879be88f9605350f2851b815bff5013124c948e9b614f5e0e91c909ba7cba0c67920d705f97e3ae8b278e5354971e2ddda6a7d77dd788b0a448f8ade35510e8
>  apache-pulsar-
> 2.10.0-src.tar.gz
> 
> Maven staging repo:
> https://repository.apache.org/content/repositories/orgapachepulsar-1144/
> 
> The tag to be voted upon:
> v2.10.0-candidate-2 (43a9b6fe9f5bca055acfefe144cd78dd29c614ba)
> https://github.com/apache/pulsar/releases/tag/v2.10.0-candidate-2
> 
> Pulsar's KEYS file containing PGP keys we use to sign the release:
> https://dist.apache.org/repos/dist/dev/pulsar/KEYS
> 
> Docker images:
> 
> https://hub.docker.com/layers/194902199/lph890127/pulsar/2.10.0-rc2/images/sha256-75af729b88c2a63193a4414ca10fc97f7092bf83abe30a37c3d57bef9287e9b2?context=repo
> 
> https://hub.docker.com/layers/194901702/lph890127/pulsar-all/2.10.0-rc2/images/sha256-22155d193897029d74faa7a95098fa15198984809b9aa3decd5b961be66437ff?context=repo
> 
> Please download the source package, and follow the Release Candidate
> Validation[1]
> to validate the release
> 
> [1] https://github.com/apache/pulsar/wiki/Release-Candidate-Validation
> 
> Thanks,
> Penghui
> 

Reply via email to