Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Kafka sidecar: add a test for the record → CloudEvent → ack delivery path

Open
#4,098 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
go, kafka
Domain
backend, testing

Research direction

Start with pkg/keda and TestInt_KafkaScaling to see how the existing integration test sets up Kafka and verifies partition assignment. Then inspect the injected Kafka runtime sidecar’s delivery path and determine whether the test belongs in the slim Kafka job or knative-extensions/func-adapter-kafka. Done means testing CloudEvent delivery and offset commits after a 2xx, plus retry without commit after a non-2xx.

Written by the indexing model from the issue text.

Description

kind/cleanup

What

There is no test asserting the actual record → CloudEvent → ack delivery path
through the injected Kafka runtime sidecar.

Gap

The KEDA integration test (pkg/keda, TestInt_KafkaScaling) only verifies
readiness = partition assignment; it produces no records. So the real path —
consume a record → build a CloudEvent → POST to the function's HTTP server →
2xx → commit offset — is unverified from the func side. The negative case
(a non-2xx response must not commit the offset) is also untested.

Proposal

Add a test that produces a record and asserts:

  1. the function receives the expected CloudEvent,
  2. the offset is committed after a 2xx, and
  3. the offset is not committed on a non-2xx (the record is retried).

This could live as an integration test on the slim Kafka job, or as a focused
test in knative-extensions/func-adapter-kafka.

/kind cleanup

Follow-up to #4060.

Dominant language
Go
Stars
365
Forks
224
Avg merge
2d 17h
Merged PRs (30d)
21

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 knative/func

All issues in knative/func

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.