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

QuorumListener is triggered during member startup but before it has joined a cluster #17038

Closed
sertugkaya opened this issue Jun 2, 2020 · 0 comments · Fixed by #17089
Closed
Labels
Milestone

Comments

@sertugkaya
Copy link
Contributor

Describe the bug
Tested on 3.12.2 which is customer's version.
In a cluster with Quorum defined, without touching any maps, just calling Hazelcast.newHazelcastInstance(); causes QuorumListener to be triggered, before the member joins anyone and forms the cluster initially.

Expected behavior
We shouldn’t fire any quorum listener events after a member starts until quorum is met initially.

To Reproduce

Steps to reproduce the behavior:

  1. Define a quorum of 3 with a listener attached
    <quorum enabled="true" name="myquorum">
        <quorum-size>3</quorum-size>
        <quorum-listeners>
            <quorum-listener>MyQuoLis</quorum-listener>
        </quorum-listeners>
    </quorum>
  1. Start one member
  2. Observe how member logs a quorum event before join:
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] Hazelcast 3.12.2 (20190802 - e34b163) starting at [127.0.0.1]:5701
Jun 01, 2020 4:22:40 PM com.hazelcast.system
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] Copyright (c) 2008-2019, Hazelcast, Inc. All Rights Reserved.
Jun 01, 2020 4:22:40 PM com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] Backpressure is disabled
Jun 01, 2020 4:22:40 PM com.hazelcast.instance.Node
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] Creating TcpIpJoiner
Jun 01, 2020 4:22:40 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] Starting 8 partition threads and 5 generic threads (1 dedicated for priority tasks)
Jun 01, 2020 4:22:40 PM com.hazelcast.internal.diagnostics.Diagnostics
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] Diagnostics disabled. To enable add -Dhazelcast.diagnostics.enabled=true to the JVM arguments.
Jun 01, 2020 4:22:40 PM com.hazelcast.core.LifecycleService
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] [127.0.0.1]:5701 is STARTING
Listener triggered: QuorumEvent{threshold=3, currentMembers=com.hazelcast.internal.cluster.impl.MemberSelectingCollection@1d30e322, presence=false}
Jun 01, 2020 4:22:40 PM com.hazelcast.nio.tcp.TcpIpConnector
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] Connecting to /127.0.0.1:5703, timeout: 10000, bind-any: true
Jun 01, 2020 4:22:40 PM com.hazelcast.nio.tcp.TcpIpConnector
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] Connecting to /127.0.0.1:5702, timeout: 10000, bind-any: true
Jun 01, 2020 4:22:40 PM com.hazelcast.nio.tcp.TcpIpConnector
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] Could not connect to: /127.0.0.1:5702. Reason: SocketException[Connection refused to address /127.0.0.1:5702]
Jun 01, 2020 4:22:40 PM com.hazelcast.nio.tcp.TcpIpConnector
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] Could not connect to: /127.0.0.1:5703. Reason: SocketException[Connection refused to address /127.0.0.1:5703]
Jun 01, 2020 4:22:40 PM com.hazelcast.cluster.impl.TcpIpJoiner
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] [127.0.0.1]:5703 is added to the blacklist.
Jun 01, 2020 4:22:40 PM com.hazelcast.cluster.impl.TcpIpJoiner
INFO: [127.0.0.1]:5701 [sertug] [3.12.2] [127.0.0.1]:5702 is added to the blacklist.
Jun 01, 2020 4:22:41 PM com.hazelcast.internal.cluster.ClusterService
INFO: [127.0.0.1]:5701 [sertug] [3.12.2]

Members {size:1, ver:1} [
Member [127.0.0.1]:5701 - 3a89efeb-9da0-4a08-8b54-f6f7632387d5 this
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants