Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HZ-940] Improve IO pipelines #21066

Merged
merged 5 commits into from Apr 6, 2022
Merged

Conversation

kwart
Copy link
Member

@kwart kwart commented Mar 25, 2022

This is the OS side of the fix for hazelcast/hazelcast-enterprise#4531

It improves protocol handshake processiong on IO pipelines. It mainly:

  • prevents busy waiting on MemberProtocolEncoder;
  • prevents changing outbound pipeline from the inbound one (SingleProtocolDecoder calling SingleProtocolEncoder.setupNextEncoder()) as it was causing troubles. The handler chain changes can only be made by the owning thread. See OutboundPipeline.replace() javadoc for instance.

@kwart kwart added this to the 5.2 milestone Mar 25, 2022
@hz-devops-test
Copy link

The job Hazelcast-pr-EE-compiler of your PR failed. (Hazelcast internal details: build log, artifacts).
Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log file
--------------------------
---------SUMMARY----------
--------------------------
[ERROR] COMPILATION ERROR : 
--------------------------
[ERROR] /home/jenkins/jenkins_slave/workspace/Hazelcast-pr-EE-compiler/hazelcast-enterprise/hazelcast-enterprise/src/main/java/com/hazelcast/internal/nio/ssl/MemberTLSChannelInitializer.java:[31,48] error: no suitable constructor found for SingleProtocolDecoder(ProtocolType,InboundHandler[],SingleProtocolEncoder,boolean)
--------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hazelcast-enterprise: Compilation failure
--------------------------
---------ERRORS-----------
--------------------------
[ERROR] /home/jenkins/jenkins_slave/workspace/Hazelcast-pr-EE-compiler/hazelcast-enterprise/hazelcast-enterprise/src/main/java/com/hazelcast/internal/nio/ssl/MemberTLSChannelInitializer.java:[31,48] error: no suitable constructor found for SingleProtocolDecoder(ProtocolType,InboundHandler[],SingleProtocolEncoder,boolean)
--------------------------
[ERROR] /home/jenkins/jenkins_slave/workspace/Hazelcast-pr-EE-compiler/hazelcast-enterprise/hazelcast-enterprise/src/main/java/com/hazelcast/internal/nio/ssl/MemberTLSChannelInitializer.java:[31,48] error: no suitable constructor found for SingleProtocolDecoder(ProtocolType,InboundHandler[],SingleProtocolEncoder,boolean)
--------------------------

@kwart kwart changed the title Improve IO pipelines HZ-940 Improve IO pipelines Mar 25, 2022
@kwart kwart changed the title HZ-940 Improve IO pipelines [HZ-940] Improve IO pipelines Mar 25, 2022
@ramizdundar
Copy link
Contributor

ramizdundar commented Mar 28, 2022

Thank you for the fixes 👍

@hz-devops-test
Copy link

The job Hazelcast-pr-EE-compiler of your PR failed. (Hazelcast internal details: build log, artifacts).
Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log file
--------------------------
---------SUMMARY----------
--------------------------
[ERROR] COMPILATION ERROR : 
--------------------------
[ERROR] /appdisk/jenkins/jenkins_slave/workspace/Hazelcast-pr-EE-compiler/hazelcast-enterprise/hazelcast-enterprise/src/main/java/com/hazelcast/internal/nio/ssl/MemberTLSChannelInitializer.java:[31,48] error: no suitable constructor found for SingleProtocolDecoder(ProtocolType,InboundHandler[],SingleProtocolEncoder,boolean)
--------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hazelcast-enterprise: Compilation failure
--------------------------
---------ERRORS-----------
--------------------------
[ERROR] /appdisk/jenkins/jenkins_slave/workspace/Hazelcast-pr-EE-compiler/hazelcast-enterprise/hazelcast-enterprise/src/main/java/com/hazelcast/internal/nio/ssl/MemberTLSChannelInitializer.java:[31,48] error: no suitable constructor found for SingleProtocolDecoder(ProtocolType,InboundHandler[],SingleProtocolEncoder,boolean)
--------------------------
[ERROR] /appdisk/jenkins/jenkins_slave/workspace/Hazelcast-pr-EE-compiler/hazelcast-enterprise/hazelcast-enterprise/src/main/java/com/hazelcast/internal/nio/ssl/MemberTLSChannelInitializer.java:[31,48] error: no suitable constructor found for SingleProtocolDecoder(ProtocolType,InboundHandler[],SingleProtocolEncoder,boolean)
--------------------------

@hz-devops-test
Copy link

The job Hazelcast-pr-EE-compiler of your PR failed. (Hazelcast internal details: build log, artifacts).
Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log file
--------------------------
---------SUMMARY----------
--------------------------
[ERROR] COMPILATION ERROR : 
--------------------------
[ERROR] /appdisk/jenkins/jenkins_slave/workspace/Hazelcast-pr-EE-compiler/hazelcast-enterprise/hazelcast-enterprise/src/main/java/com/hazelcast/internal/nio/ssl/MemberTLSChannelInitializer.java:[31,48] error: no suitable constructor found for SingleProtocolDecoder(ProtocolType,InboundHandler[],SingleProtocolEncoder,boolean)
--------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hazelcast-enterprise: Compilation failure
--------------------------
---------ERRORS-----------
--------------------------
[ERROR] /appdisk/jenkins/jenkins_slave/workspace/Hazelcast-pr-EE-compiler/hazelcast-enterprise/hazelcast-enterprise/src/main/java/com/hazelcast/internal/nio/ssl/MemberTLSChannelInitializer.java:[31,48] error: no suitable constructor found for SingleProtocolDecoder(ProtocolType,InboundHandler[],SingleProtocolEncoder,boolean)
--------------------------
[ERROR] /appdisk/jenkins/jenkins_slave/workspace/Hazelcast-pr-EE-compiler/hazelcast-enterprise/hazelcast-enterprise/src/main/java/com/hazelcast/internal/nio/ssl/MemberTLSChannelInitializer.java:[31,48] error: no suitable constructor found for SingleProtocolDecoder(ProtocolType,InboundHandler[],SingleProtocolEncoder,boolean)
--------------------------

@kwart kwart requested a review from ufukyilmaz April 6, 2022 07:23
Copy link
Contributor

@ufukyilmaz ufukyilmaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the improvements 🙂

@kwart kwart merged commit e7861b7 into hazelcast:master Apr 6, 2022
@kwart kwart deleted the fix/5.2/4531-tls13 branch April 6, 2022 11:02
kwart added a commit to kwart/hazelcast that referenced this pull request Aug 23, 2022
* [HZ-940] Improve IO pipelines (hazelcast#21066)

* Wait for the decoder's protocol confirmation before sending the member data [HZ-1163] (hazelcast#21391)

* Add null checks to SingleProtocolEncoder protocol verification signals (hazelcast#21497)

Co-authored-by: ufukyilmaz <ufuk.yilmaz@hazelcast.com>
kwart added a commit to kwart/hazelcast that referenced this pull request Jun 23, 2023
* [HZ-940] Improve IO pipelines (hazelcast#21066)

* Wait for the decoder's protocol confirmation before sending the member data [HZ-1163] (hazelcast#21391)

* Add null checks to SingleProtocolEncoder protocol verification signals (hazelcast#21497)

Co-authored-by: ufukyilmaz <ufuk.yilmaz@hazelcast.com>
kwart added a commit to kwart/hazelcast that referenced this pull request Jun 23, 2023
* [HZ-940] Improve IO pipelines (hazelcast#21066)

* Wait for the decoder's protocol confirmation before sending the member data [HZ-1163] (hazelcast#21391)

* Add null checks to SingleProtocolEncoder protocol verification signals (hazelcast#21497)

Co-authored-by: ufukyilmaz <ufuk.yilmaz@hazelcast.com>
kwart added a commit that referenced this pull request Jun 23, 2023
Backports (cherry-picks) #21066 #21391 #21497 to `5.0.5`.

EE part of the fix for hazelcast/hazelcast-enterprise#6181

---------

Co-authored-by: ufukyilmaz <ufuk.yilmaz@hazelcast.com>
Co-authored-by: Viliam Durina <viliam@hazelcast.com>
kwart added a commit that referenced this pull request Jun 23, 2023
Backports (cherry-picks) #21066 #21391 #21497 to `5.0.z`.

EE part of the fix for hazelcast/hazelcast-enterprise#6182

---------

Co-authored-by: ufukyilmaz <ufuk.yilmaz@hazelcast.com>
Co-authored-by: Viliam Durina <viliam@hazelcast.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants