clickpipe create kafka/kinesis/pubsub: require --column, as object-storage does

Open
#1,243 0 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@sdairs is already working on this.

Since Nov 4, 2026.

  • #1262 by @sdairs — open

Assessment

This issue has not been assessed yet.

Description

bug cloud

What happens

chctl cloud clickpipe create kafka $SVC --name x --database default --table t --topics t1 --format JSONEachRow --brokers b:9092 --username u --password p sends the request without destination.columns. The server rejects it with BAD_REQUEST: Destination columns are required if source is not a database pipe ... (exit 1). Help for kafka, kinesis and pubsub shows --column as optional.

Evidence

  • cloud/clickpipes.rs: ObjectStorageCreateArgs.columns has required = true (#840). KafkaCreateArgs, KinesisCreateArgs and PubSubCreateArgs do not.
  • build_streaming_destination omits empty columns.
  • The #845 API-source findings (2026-11-02) say columns are required on create for Kafka, Kinesis, Pub/Sub, object storage and OneLake.

Expected vs actual

  • Expected: a clap usage error (exit 2) before any lookup or HTTP request, with --column marked required and repeatable in help, as on object-storage.
  • Actual: a server 400 with exit 1.

Likely cause

The columns arg in the Kafka/Kinesis/PubSub create args structs in cloud/clickpipes.rs lacks required = true.

Related: #840 (object-storage fix), #845, #928.

Scores: L=8 I=4
Basis: validated by source review plus local help output; the server error is from the tester.


From the 2026-11-04 user-testing sweep (medium severity): report finding 40. Checked against stack head 6859d2ac (PR 1220).

Dominant language
Rust
Stars
80
Forks
9
Avg merge
2d 13h
Merged PRs (30d)
47

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ClickHouse/clickhousectl

All issues in ClickHouse/clickhousectl

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.