Skip to content
This repository was archived by the owner on Mar 3, 2023. It is now read-only.
This repository was archived by the owner on Mar 3, 2023. It is now read-only.

Integration test topologies assert exactly once, but run with at most once. #1561

@billonahill

Description

@billonahill

We're seeing occasional failures like this in CI. This issue is that IntegrationTestSpout now decrements the tuplesToAck counter only when tuples are acked (commit link). Previously it decremented that counter even when a fail call was received. What this implies is that our test topologies are dropping tuples and the spout is re-transmitting them. Why the test topologies are dropping tuples is concerning.

A few options we could pursue:

  1. Why are tuples failing, causing them to be re-emitted? That shouldn't be happening in our tests
  2. We could change IntegrationTestSpout back to decrement upon failure.
  3. We could change test assertion to assert atLeastOnce instead of exactlyOnce.
ERROR: Actual result did not match expected result
INFO: Actual result ---------- 
['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B']
INFO: Expected result ---------- 
['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B']
ERROR: Checking result failed for 20161113214723_IntegrationTest_MultiSpoutsMultiTasks_861f6ed7-ca34-47c9-9bde-3ba3a2d802e4 topology :: ('Actual result did not match expected result', None)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions