GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [qa] Replicate Kafka test topics so that they survive a broker restart by ryzhyk · Pull Request #7894 · feldera/feldera

Conversation

@ryzhyk

@ryzhyk ryzhyk commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

A test topic had one replica, so whenever the CI cluster restarted the broker that held it, the topic had no leader and the test's producer flush timed out.

Topics now take the broker's default replication factor, 3 on the CI cluster and 1 on a single broker. The tests' producers become idempotent, because the retries that follow a leader change can otherwise write a record twice, and the tests count records.

Linked Issue

Fixes #7550

(the original CI failure was apparently cause by a strimzi bug, but it's nevertheless a good idea to harden tests against broker failures)

Describe Manual Test Plan

Checklist

  • Unit tests added/updated
  • Integration tests added/updated
  • Documentation updated
  • Changelog updated

Breaking Changes?

Mark if you think the answer is yes for any of these components:

  • OpenAPI / REST HTTP API / feldera-types / manager (What is a breaking change?)
  • Feldera SQL (Syntax, Semantics)
  • feldera-sqllib (incl. dependencies fxp, etc.) (What is a breaking change?)
  • Python SDK (What is a breaking change?)
  • fda (CLI arguments)
  • Adapters (including configuration)
  • Storage Format / Checkpoints
  • Others (specify)

Describe Incompatible Changes

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@ryzhyk
[qa] Replicate Kafka test topics so that they survive a broker restart
b392921
A test topic had one replica, so whenever the CI cluster restarted the broker
that held it, the topic had no leader and the test's producer flush timed out.

Topics now take the broker's default replication factor, 3 on the CI cluster
and 1 on a single broker. The tests' producers become idempotent, because the
retries that follow a leader change can otherwise write a record twice, and
the tests count records.

Fixes #7550

Signed-off-by: Leonid Ryzhyk <[email protected]>
@ryzhyk
ryzhyk requested a review from blp November 8, 2026 20:28
@ryzhyk ryzhyk added connectors Issues related to the adapters/connectors crate QA Testing and quality assurance labels Nov 8, 2026
@mythical-fred-oss

mythical-fred-oss Bot commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

What I ran

  • confluent-kafka 2.13.2 (librdkafka 2.13.2, from uv.lock): NewTopic(..., replication_factor=-1) and a Producer with enable.idempotence=True both build fine, and tests.kafka imports cleanly.
  • I could not run the platform/runtime tests, because there is no Kafka broker in this environment.
  • Ruff on the changed files raises no new errors (KAFKA_BOOTSTRAP is still used in every file that lost its Producer import).

missing (medium): one Kafka test still creates topics with a single replica. tests/workloads/test_kafka_avro.py:399 hard-codes "replication_factor": 1, and create_kafka_topic() (line 126) uses its own NewTopic call instead of tests.kafka.create_topic. That test can still lose its partition leader when Strimzi restarts a broker, which is the failure behind #7550. Suggest setting -1 there too, or switching it to the shared helper:

-            "replication_factor": 1,
+            "replication_factor": BROKER_DEFAULT_REPLICATION_FACTOR,

(with from tests.kafka import BROKER_DEFAULT_REPLICATION_FACTOR).

Gates: The PR only changes tests, so there is nothing for docs, breaking changes or dependencies to cover. The commit message is good. The manual test plan is empty, which is acceptable here because a broker restart can't easily be reproduced by hand. Otherwise LGTM.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ryzhyk
[qa] Replicate the topics that the Kafka Avro test creates
d8aa4e8
Variant 1 of TestKafkaAvro still created its topics with one replica, which a
broker restart leaves without a leader (#7550). CI deselects the test for now,
so this matters once it runs again.

Signed-off-by: Leonid Ryzhyk <[email protected]>
gz
gz approved these changes Nov 8, 2026
View reviewed changes
@ryzhyk
[qa] Delete only stale topics in the Kafka Avro test's setup
e144940
The setup read the variant id where it expected a topic's creation date, so
it deleted every kafka_avro topic on the cluster, including those of runs
still in progress against it, such as the other architecture's job. It now
reads the date that each topic name carries.

Signed-off-by: Leonid Ryzhyk <[email protected]>
@ryzhyk
ryzhyk enabled auto-merge November 8, 2026 22:45
@ryzhyk
ryzhyk disabled auto-merge November 8, 2026 23:01
@ryzhyk
ryzhyk added this pull request to the merge queue Nov 8, 2026
Merged via the queue into main with commit fa66004 Nov 9, 2026
1 check passed

Uh oh!

There was an error while loading. Please reload this page.

@ryzhyk
ryzhyk deleted the issue-7550 branch November 9, 2026 00:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@gz gz gz approved these changes
@blp blp Awaiting requested review from blp

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

connectors Issues related to the adapters/connectors crate QA Testing and quality assurance

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Runtime Integration Tests: test_connector_status fails with 'Failed to flush all Kafka messages' after topic partition count drops to 0

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@ryzhyk @gz
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.