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

[Backport stable/8.0] Only check that the topology reports all replicas #10084

Merged
merged 9 commits into from
Aug 17, 2022

Commits on Aug 16, 2022

  1. feat(test-util): backport TopologyAssert and tests

    Backports the expanded TopologyAssert from the main branch to
    stable/8.0, as well as its tests.
    npepinpe committed Aug 16, 2022
    Configuration menu
    Copy the full SHA
    c369558 View commit details
    Browse the repository at this point in the history
  2. test(qa): only check that the topology reports all replicas

    Instead of using the helper `isComplete`, manually check that the
    topology contains all replicas, omitting the check for the partition
    health. While this would be safer, there is a race condition where the
    partitions may be unhealthy for a short time on start up. For this test,
    we only really want to check that the nodes find each other, not that
    processing works, as it should be largely unaffected.
    npepinpe committed Aug 16, 2022
    Configuration menu
    Copy the full SHA
    05539f7 View commit details
    Browse the repository at this point in the history
  3. test(qa): fix IPv6 flakiness

    The IPv6 test is sometimes flaky because it may take a while for a full
    cluster to start: 3 brokers and one gateway. To test IPv6, however, we
    don't really need so many nodes, and having 1 broker and 1 gateway is
    enough: all ports are tested properly (except the management port, which
    is tested already by Spring).
    
    Additionally, this fixes that if the test fails once, the network may
    not be removed properly afterwards, which causes further iterations to
    fail. We ensure the network is closed here, and also we print out a
    proper error if we fail to start the network on the next run.
    
    Finally I took the time to clean up the test using new APIs provided by
    zeebe-test-container.
    npepinpe committed Aug 16, 2022
    Configuration menu
    Copy the full SHA
    a95f31d View commit details
    Browse the repository at this point in the history
  4. test: let embedded broker rule wait for healthy leader

    Previously, the rule only waited for a leader of partition 1 before
    returning from `startBroker`. With this change, the leader must also
    report as healthy.
    
    This is intended to fix some flaky tests where after the startup,
    commands send to the leader of partition 1 failed because no command-api
    handler was registered. Since registration of handlers is required for
    a healthy status, this should hopefully prevent these kinds of flaky
    tests.
    lenaschoenburg authored and npepinpe committed Aug 16, 2022
    Configuration menu
    Copy the full SHA
    80f5eea View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    72065d2 View commit details
    Browse the repository at this point in the history
  6. refactor(qa): fix flakiness on startup of ClusterRule

    The `ClusterRule` uses the topology to figure out if the cluster is
    ready before a test starts. There was a flaky condition where it might
    start when all partitions are present, but before they are healthy. This
    change was pulled from #9502 - however in that PR, it was only done in
    the broker module's `EmbeddedBrokerRule`.
    
    At the same time, the rule is updated such that everywhere it was
    waiting for the topology, now also uses `TopologyAssert`.
    npepinpe committed Aug 16, 2022
    Configuration menu
    Copy the full SHA
    af34d1f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0f01b41 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3fe3bb1 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0da5eff View commit details
    Browse the repository at this point in the history