-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Fix #18668: set interfaces must not be added when loopback mode nor loopback interface are used #18669
Conversation
…ode nor loopback interface are used
The job Click to expand the log file-------------------------- ---------SUMMARY---------- -------------------------- [ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.1:checkstyle (default) on project hazelcast: An error has occurred in Checkstyle report generation. Failed during checkstyle execution: There is 1 error reported by Checkstyle 8.38 with /home/jenkins/jenkins_slave/workspace/Hazelcast-pr-builder/checkstyle/checkstyle.xml ruleset. -> [Help 1] -------------------------- ---------ERRORS----------- -------------------------- [ERROR] /home/jenkins/jenkins_slave/workspace/Hazelcast-pr-builder/hazelcast/src/main/java/com/hazelcast/internal/cluster/impl/MulticastService.java:127:68: '{' is not preceded with whitespace. [WhitespaceAround] -------------------------- |
Sorry, forgot to run checkstyle again after some rearrangement of code. Should be fixed now |
The job Click to expand the log file-------------------------- -------TEST FAILURE------- -------------------------- [INFO] Results: [INFO] [ERROR] Failures: [ERROR] MulticastDeserializationTest.testWithoutFilter:103->lambda$testWithoutFilter$0:103 Object was not deserialized [INFO] [ERROR] Tests run: 3990, Failures: 1, Errors: 0, Skipped: 20 [INFO] |
@vbekiaris TBH I have no idea why this test fails, works on my machine. Do you have any ideas? Edit: test seems to be flaky, fails also on my computer after few tries |
The job Click to expand the log file-------------------------- -------TEST FAILURE------- -------------------------- [INFO] Results: [INFO] [ERROR] Failures: [ERROR] MulticastDeserializationTest.testWithoutFilter:103->lambda$testWithoutFilter$0:103 Object was not deserialized [INFO] [ERROR] Tests run: 3997, Failures: 1, Errors: 0, Skipped: 20 [INFO] |
I haven't properly reviewed this PR yet, however it feels like effects of multicast socket address binding are platform-dependent. I don't like exposing yet another config to users, but this seems like one of the cases where it's probably safer to make it user configurable as proposed in #18403. /cc @kwart wdyt? |
Sounds ok at first look, but up to know it.. just worked :) On 4.1.1 multicast works on our test environment (CentOS 7) and our local Windows machines. Also, test is about deserialization, while connectivity seems to have nothing to do with serialization. |
…andling in the MulticastService.
I agree with Vassilis, we hit repeatedly issues in this area. So we should allow users to explicitly force (or disable) the
|
@kwart thanks for looking into this. The approach in TomaszGaweda#8 looks good. |
Vassilis, I don't think this Java issue workaround deserves an extra field in the |
…nterface Add ClusterProperty.MULTICAST_SOCKET_SET_INTERFACE
Hi @kwart, your PR works great, thank you :) |
@TomaszGaweda thanks for testing and fix confirmation! |
thanks @TomaszGaweda & @kwart for resolving the issue. Can we backport the fix to |
…ode nor loopback interface are used (hazelcast#18669) * Fix hazelcast#18668: set interfaces must not be added when loopback mode nor loopback interface are used * Add ClusterProperty.MULTICAST_SOCKET_SET_INTERFACE and align socket handling in the MulticastService. Co-authored-by: Josef Cacek <josef.cacek@gmail.com> (cherry picked from commit 6f9de91)
Fix #18668: set interfaces must not be added when loopback mode nor loopback interface are used
Restores old code of adding setInterfaces, without modification of other branches.
Checklist:
Team:
,Type:
,Source:
,Module:
) and Milestone setAdd to Release Notes
label if changes should be mentioned in release notes orNot Release Notes content
if changes are not relevant for release notes@Nonnull/@Nullable
annotations@since
tags in Javadoc