Skip to content

Preserve Kafka setting during ClickPipe updates - #418

Open
sdairs wants to merge 1 commit into
issue-296-typed-openapi-enumsfrom
fix-clickpipe-kafka-read-committed
Open

Preserve Kafka setting during ClickPipe updates#418
sdairs wants to merge 1 commit into
issue-296-typed-openapi-enumsfrom
fix-clickpipe-kafka-read-committed

Conversation

@sdairs

@sdairs sdairs commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • preserve the current kafka_read_committed value when updating unrelated ClickPipe settings
  • fail instead of fabricating a value when the tolerant settings response omits the required field
  • add subprocess and wiremock coverage for the settings GET to PUT request flow

Verification

  • cargo test -p clickhousectl
  • cargo clippy -p clickhousectl --all-targets -- -D warnings
  • cargo fmt --all --check

@sdairs sdairs changed the title fix clickpipe kafka read committed Preserve Kafka setting during ClickPipe updates Aug 14, 2026
.get_clickpipe_settings(&org_id, service_id, clickpipe_id)
.await?
.kafka_read_committed
.ok_or("the API response is missing kafka_read_committed")?;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟠 High cloud/clickpipes.rs:1648

Valid non-Kafka ClickPipes settings updates now fail before the PUT when the GET response omits kafka_read_committed, so changes such as object_storage_concurrency or object_storage_polling_interval_ms are never applied. Since this Kafka-specific field is optional, preserve it when present and use the existing false default when it is absent instead of returning an error.

Suggested change
.ok_or("the API response is missing kafka_read_committed")?;
.unwrap_or(false);
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @crates/clickhousectl/src/cloud/clickpipes.rs around line 1648:

Valid non-Kafka ClickPipes settings updates now fail before the `PUT` when the GET response omits `kafka_read_committed`, so changes such as `object_storage_concurrency` or `object_storage_polling_interval_ms` are never applied. Since this Kafka-specific field is optional, preserve it when present and use the existing `false` default when it is absent instead of returning an error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant