You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Bill Burcham (Jira)" <ji...@apache.org> on 2021/10/28 23:35:00 UTC

[jira] [Comment Edited] (GEODE-9675) CI: ClusterDistributionManagerDUnitTest > testConnectAfterBeingShunned FAILED

    [ https://issues.apache.org/jira/browse/GEODE-9675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17435719#comment-17435719 ] 

Bill Burcham edited comment on GEODE-9675 at 10/28/21, 11:34 PM:
-----------------------------------------------------------------

Looking at the offending test method (included below) I see a few things wrong:
# The comment “Demonstrate that a new UDP port is used…” is at odds with the assertion at the end of the method (which asserts that the same port is used).
# Contrary to the comment, GMSMembership doesn’t “shun” members when they are shutting down, rather it keeps them in a shutdownMembers set so as to attenuate failure detection signals from them. Perhaps in the dim past these members were actually “shunned”?
# I have no idea why the test disconnect()s, then re-acquires system and membership and then disconnect()s again before calling getLocalMember() on the membership acquired before the second disconnect!
# The TODO at line 167 seems superfluous since we proceed to set just such a system property on the very next line
# Whether the property is set or not, on line 168, the test passes! (at least in manual runs)—implying that setting that system property is superfluous.

Which leads me to believe this test is worthless and the best fix for GEODE-9675 may be to delete this test.

 !screenshot-1.png! 


was (Author: bburcham):
Looking at the offending test method (included below) I see a few things wrong:
# The comment “Demonstrate that a new UDP port is used…” is at odds with the assertion at the end of the method (which asserts that the same port is used).
# Contrary to the comment, GMSMembership doesn’t “shun” members when they are shutting down, rather it keeps them in a shutdownMembers set so as to attenuate failure detection signals from them. Perhaps in the dim past these members were actually “shunned”?
# I have no idea why the test disconnect()s, then re-acquires system and membership and then disconnect()s again before calling getLocalMember() on the membership acquired before the second disconnect!
# The TODO at line 167 seems superfluous since we proceed to set just such a system property on the very next line
# Whether the property is set or not, on line 168, the test passes! (at least in manual runs)—implying that setting that system property is superfluous.
Which leads me to believe this test is worthless and the best fix for GEODE-9675 may be to delete this test.

 !screenshot-1.png! 

> CI: ClusterDistributionManagerDUnitTest > testConnectAfterBeingShunned FAILED
> -----------------------------------------------------------------------------
>
>                 Key: GEODE-9675
>                 URL: https://issues.apache.org/jira/browse/GEODE-9675
>             Project: Geode
>          Issue Type: Bug
>          Components: membership
>    Affects Versions: 1.15.0
>            Reporter: Xiaojian Zhou
>            Assignee: Bill Burcham
>            Priority: Major
>              Labels: needsTriage
>         Attachments: screenshot-1.png
>
>
> https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-mass-test-run/jobs/distributed-test-openjdk8/builds/1983
> {code:java}
> ClusterDistributionManagerDUnitTest > testConnectAfterBeingShunned FAILED
>     org.apache.geode.SystemConnectException: Problem starting up membership services
>         at org.apache.geode.distributed.internal.DistributionImpl.start(DistributionImpl.java:186)
>         at org.apache.geode.distributed.internal.DistributionImpl.createDistribution(DistributionImpl.java:222)
>         at org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:466)
>         at org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:499)
>         at org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:328)
>         at org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:757)
>         at org.apache.geode.distributed.internal.InternalDistributedSystem.access$200(InternalDistributedSystem.java:133)
>         at org.apache.geode.distributed.internal.InternalDistributedSystem$Builder.build(InternalDistributedSystem.java:3013)
>         at org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:283)
>         at org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:209)
>         at org.apache.geode.distributed.DistributedSystem.connect(DistributedSystem.java:159)
>         at org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase.getSystem(JUnit4DistributedTestCase.java:180)
>         at org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase.getSystem(JUnit4DistributedTestCase.java:256)
>         at org.apache.geode.distributed.internal.ClusterDistributionManagerDUnitTest.testConnectAfterBeingShunned(ClusterDistributionManagerDUnitTest.java:170)
>         Caused by:
>         org.apache.geode.distributed.internal.membership.api.MemberStartupException: unable to create jgroups channel
>             at org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.start(JGroupsMessenger.java:401)
>             at org.apache.geode.distributed.internal.membership.gms.Services.start(Services.java:203)
>             at org.apache.geode.distributed.internal.membership.gms.GMSMembership.start(GMSMembership.java:1642)
>             at org.apache.geode.distributed.internal.DistributionImpl.start(DistributionImpl.java:171)
>             ... 13 more
>             Caused by:
>             java.lang.Exception: failed to open a port in range 41003-41003
>                 at org.jgroups.protocols.UDP.createMulticastSocketWithBindPort(UDP.java:503)
>                 at org.jgroups.protocols.UDP.createSockets(UDP.java:348)
>                 at org.jgroups.protocols.UDP.start(UDP.java:266)
>                 at org.jgroups.stack.ProtocolStack.startStack(ProtocolStack.java:966)
>                 at org.jgroups.JChannel.startStack(JChannel.java:889)
>                 at org.jgroups.JChannel._preConnect(JChannel.java:553)
>                 at org.jgroups.JChannel.connect(JChannel.java:288)
>                 at org.jgroups.JChannel.connect(JChannel.java:279)
>                 at org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.start(JGroupsMessenger.java:397)
>                 ... 16 more
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)