feat(java): implement Async Connection Pooling using FixedChannelPool#2606
Conversation
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. If you need a review, please ensure CI is green and the PR is rebased on the latest master. Don't hesitate to ping the maintainers - either @core on Discord or by mentioning them directly here on the PR. Thank you for your contribution! |
2cdb131 to
50e8a36
Compare
|
Hi @mmodzelewski Can you please review . |
Hey @rythm-sachdeva, I will, but I need some time. I might not get round to it until the beginning of next week. |
50e8a36 to
ca4583f
Compare
|
@rythm-sachdeva Please see why CI is failing and fix the errors. |
@rythm-sachdeva I've added a verification if all ByteBufs are properly released (not leaked) and it appears that the new code does not release all resources. See the logs, or run the tests locally, you'll see reports of the leaks in there. |
4eaf354 to
181682b
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #2606 +/- ##
============================================
- Coverage 70.27% 68.11% -2.16%
- Complexity 739 763 +24
============================================
Files 1038 1052 +14
Lines 85756 84021 -1735
Branches 62144 60635 -1509
============================================
- Hits 60263 57230 -3033
- Misses 22992 24420 +1428
+ Partials 2501 2371 -130
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
mmodzelewski
left a comment
There was a problem hiding this comment.
Hey @rythm-sachdeva, I left a few comments, please let me know if you have any questions.
181682b to
a31643a
Compare
|
Hi @rythm-sachdeva, please run tests/lints before pushing out the changes. |
Sorry, will surely do it next time. |
|
@rythm-sachdeva please ping me when the PR is ready for review. |
a31643a to
1c86e1a
Compare
|
Hi @mmodzelewski can you check once I have updated the pr |
|
@rythm-sachdeva please fix the lints. I see that there's IllegalStateException in the code instead of Iggy's equivalent. Also, any commented out code should be removed. |
|
Sure @mmodzelewski will do that. |
499dca0 to
6e2ba9f
Compare
|
Hi @mmodzelewski can you review once. |
fix(java-sdk):Added Missing PoolMetrics and linting issues fix(java):fixed connection error fix(java):Fixed Linting Issues fix(java):fixed builder issues fix(java):fixed ci issues fix(java): fixed memory leaks fix(java):fixed memory leak at channelread0 fix(java):fixed broadcastasync memory leak feat(java): Added attribute based channel login fix(java): fixed error handling in inbound handler fix(java):Fixed login issues fix(java): Fixed connection pool login logout bugs fix(java): fixed authentication bugs fix(java): fixed checkStyle Errors
6e2ba9f to
4670a84
Compare
|
Hi @mmodzelewski Can you please re run the workflow I have fixed check style errors |
Description
Implements connection pooling for
AsyncTcpConnectionusing Netty'sFixedChannelPoolto handle concurrent async operations efficiently.Changes
FixedChannelPoolfor concurrent request handlingPoolMetricsclass to track:TCPConnectionPoolConfigwith builder pattern for customizing:ConcurrentLinkedQueuebroadcastAsync()method to execute commands across all pooled connections (useful for authentication)AsyncIggyTcpClient.Builder.connectionPoolSize()Implementation Details
FixedChannelPoolwithChannelHealthChecker.ACTIVEIggyResponseHandlerwith a response queueTesting
testConnectionPoolMetrics()to verify metrics tracking