Skip to content

bump chipingress#2148

Open
pkcll wants to merge 1 commit into
mainfrom
chipingress-batch-req-size-hist-buckets-beholder
Open

bump chipingress#2148
pkcll wants to merge 1 commit into
mainfrom
chipingress-batch-req-size-hist-buckets-beholder

Conversation

@pkcll

@pkcll pkcll commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

What's Changed

This bump spans 2 commits on pkg/chipingress:

Commit PR Summary
6a4c28faa #2085 Batch partial delivery support
050026b00 #2136 Explicit histogram buckets for request_size_bytes

Range: 58c7145c53f8a034c8d80da3 · 8 files, +1085 / −158

Files changed
pkg/chipingress/batch/client.go            | +213
pkg/chipingress/batch/client_test.go       | +415
pkg/chipingress/client.go                  |  +37
pkg/chipingress/client_test.go             | +107
pkg/chipingress/pb/chip_ingress.pb.go      | +352
pkg/chipingress/pb/chip_ingress.proto      |  +78
pkg/chipingress/pb/chip_ingress_grpc.pb.go |  +38
pkg/chipingress/types.go                   |   +3

1. Proto / API (#2085)

PublishBatch is no longer strictly atomic. New behavior:

  • Default (partial delivery): transaction_enabled unset or false → valid events are produced; invalid ones return per-event errors in PublishResponse.results
  • All-or-nothing: transaction_enabled = true → any per-event failure fails the whole batch

New proto types:

  • PublishOptions with optional bool transaction_enabled
  • PublishErrorCode enum (validation, schema missing, encode error, domain misconfig, …)
  • PublishError on PublishResult (field renamed eventIdevent_id)
  • CloudEventBatch.options field

2. Client layer (client.go, types.go)

  • EventsToBatchWithOpts(events, opts...) — new; EventsToBatch delegates to it
  • WithTransactionEnabled(bool) BatchOpt — always emits PublishOptions on the wire
  • Default: PublishOptions{TransactionEnabled: false} (explicit partial delivery)
  • Type aliases added: PublishOptions, PublishError, PublishErrorCode

3. Batch client (batch/client.go)

  • WithTransactionEnabled(bool) opt (default false)
  • PublishError type + error code constants (including client-side ErrCodeResultsMismatch)
  • On partial delivery: dispatches per-event callbacks from resp.Results via completeBatchCallbacksFromResults
  • On RPC error or transaction_enabled=true: all callbacks get the same error
  • newBatchRequest always includes PublishOptions
  • New metric: chip_ingress.batch.results_mismatch_total
  • Config gauge now includes transaction_enabled

4. Metrics (#2136)

chip_ingress.batch.request_size_bytes histogram gets explicit buckets:

1KiB · 4KiB · 16KiB · 64KiB · 256KiB · 512KiB · 1MiB · 2MiB · 4MiB · 8MiB · 10MiB


5. Tests

Large additions in batch/client_test.go and client_test.go covering partial delivery callbacks, transaction modes, proto roundtrips, and result-count mismatches.

Copilot AI review requested due to automatic review settings June 12, 2026 01:28
@pkcll pkcll requested a review from a team as a code owner June 12, 2026 01:28
@github-actions

Copy link
Copy Markdown

👋 pkcll, thanks for creating this pull request!

To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team.

Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks!

@github-actions

Copy link
Copy Markdown

📊 API Diff Results

No changes detected for module github.com/smartcontractkit/chainlink-common

View full report

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the root module’s dependency on github.com/smartcontractkit/chainlink-common/pkg/chipingress to a newer pseudo-version, ensuring consumers of the root chainlink-common module pull in the latest chip ingress changes.

Changes:

  • Bump github.com/smartcontractkit/chainlink-common/pkg/chipingress from v0.0.11-0.20260528204832-58c7145c53f8 to v0.0.11-0.20260611211700-a034c8d80da3 in go.mod.
  • Update corresponding go.sum entries for the new chipingress pseudo-version.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
go.mod Bumps the required chipingress module pseudo-version.
go.sum Updates checksums to match the bumped chipingress version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

2 participants