Skip to content

Add Kafka assignment diagnostics and prerelease package workflow#1

Draft
vaital3000 wants to merge 2 commits into
masterfrom
kafka-assignment-diagnostics-v2.13.2
Draft

Add Kafka assignment diagnostics and prerelease package workflow#1
vaital3000 wants to merge 2 commits into
masterfrom
kafka-assignment-diagnostics-v2.13.2

Conversation

@vaital3000

@vaital3000 vaital3000 commented Apr 28, 2026

Copy link
Copy Markdown

Summary

Adds targeted diagnostics around cooperative rebalance assignment handoff in Confluent.Kafka. The logs are emitted through the existing consumer log handler with the ASSIGNDIAG facility.

Also adds a GitHub Actions workflow that publishes a prerelease Confluent.Kafka package from branch kafka-assignment-diagnostics-v2.13.2 to GitHub Packages.

Diagnostic stages covered:

  • rebalance callback input
  • partitions assigned handler return value
  • assignment list before IncrementalAssign
  • Consumer.IncrementalAssign materialized list
  • SafeKafkaHandle.AssignImpl managed input, native list count, and native call result

Package Publishing

Workflow: .github/workflows/publish-prerelease-package.yml

Triggers:

  • push to kafka-assignment-diagnostics-v2.13.2
  • manual workflow_dispatch with optional version_suffix

The workflow publishes a net8.0 prerelease package to https://nuget.pkg.github.com/dodopizza/index.json using GITHUB_TOKEN with packages: write.

Latest published package from this branch:
Confluent.Kafka version 2.13.2-dodo.kafka-assignment-diagnostics-v2-13-2.1.73238cf4

Why

We need to distinguish whether a non-empty cooperative assignment is lost in the managed callback path, the managed-to-native list construction, or after entering librdkafka.

Validation

  • dotnet build src/Confluent.Kafka/Confluent.Kafka.csproj -f net8.0
  • dotnet build src/Confluent.Kafka/Confluent.Kafka.csproj -f net6.0
  • dotnet build src/Confluent.Kafka/Confluent.Kafka.csproj -f netstandard2.0
  • dotnet test test/Confluent.Kafka.UnitTests/Confluent.Kafka.UnitTests.csproj -f net8.0
  • dotnet pack src/Confluent.Kafka/Confluent.Kafka.csproj -c Release /p:TargetFrameworks=net8.0 /p:VersionSuffix=dodo.kafka-assignment-diagnostics-v2-13-2.0.localtest --output /tmp/confluent-kafka-package-test
  • GitHub Actions run Publish prerelease package: passed and pushed the package

Note: full solution build was not run successfully on this macOS environment because it requires missing .NET Framework 4.6.2 targeting packs and restore assets for every example/test project.

@vaital3000 vaital3000 changed the title Add Kafka assignment diagnostics Add Kafka assignment diagnostics and prerelease package workflow Apr 28, 2026
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