diff --git a/.changeset/chip-ingress-send-timeout.md b/.changeset/chip-ingress-send-timeout.md new file mode 100644 index 00000000000..986d67d33ac --- /dev/null +++ b/.changeset/chip-ingress-send-timeout.md @@ -0,0 +1,8 @@ +--- +"chainlink": patch +--- + +#changed Chip-ingress batch emitter defaults tuned from staging/prod capacity analysis: +`ChipIngressBufferSize` 1000 → 10000, `ChipIngressMaxBatchSize` 500 → 1000, +`ChipIngressSendInterval` 100ms → 500ms, `ChipIngressSendTimeout` 3s → 10s, +`ChipIngressDrainTimeout` 10s → 30s. diff --git a/core/cmd/shell.go b/core/cmd/shell.go index 344f6946cf1..81af909205f 100644 --- a/core/cmd/shell.go +++ b/core/cmd/shell.go @@ -155,6 +155,13 @@ func newBeholderClient( ChipIngressEmitterGRPCEndpoint: cfgTelemetry.ChipIngressEndpoint(), ChipIngressInsecureConnection: cfgTelemetry.ChipIngressInsecureConnection(), ChipIngressBatchEmitterEnabled: cfgTelemetry.ChipIngressBatchEmitterEnabled(), + ChipIngressBufferSize: cfgTelemetry.ChipIngressBufferSize(), + ChipIngressMaxBatchSize: cfgTelemetry.ChipIngressMaxBatchSize(), + ChipIngressMaxConcurrentSends: cfgTelemetry.ChipIngressMaxConcurrentSends(), + ChipIngressSendInterval: cfgTelemetry.ChipIngressSendInterval(), + ChipIngressSendTimeout: cfgTelemetry.ChipIngressSendTimeout(), + ChipIngressDrainTimeout: cfgTelemetry.ChipIngressDrainTimeout(), + ChipIngressMaxGRPCRequestSize: cfgTelemetry.ChipIngressMaxGRPCRequestSize(), ChipIngressLogger: lggr, LogStreamingEnabled: cfgTelemetry.LogStreamingEnabled(), LogLevel: cfgTelemetry.LogLevel(), diff --git a/core/config/docs/core.toml b/core/config/docs/core.toml index d41b91e2d73..45b477b4a35 100644 --- a/core/config/docs/core.toml +++ b/core/config/docs/core.toml @@ -889,6 +889,20 @@ ChipIngressInsecureConnection = false # Default # ChipIngressBatchEmitterEnabled enables batching for chip-ingress events. # When false, events are sent individually (legacy behavior). ChipIngressBatchEmitterEnabled = true # Default +# ChipIngressBufferSize is the in-memory queue size for chip-ingress events. +ChipIngressBufferSize = 10000 # Default +# ChipIngressMaxBatchSize is the max events per PublishBatch RPC. +ChipIngressMaxBatchSize = 1000 # Default +# ChipIngressMaxConcurrentSends limits parallel PublishBatch calls. +ChipIngressMaxConcurrentSends = 10 # Default +# ChipIngressSendInterval is the max wait before flushing an incomplete batch. +ChipIngressSendInterval = '500ms' # Default +# ChipIngressSendTimeout is the per-RPC timeout for PublishBatch. +ChipIngressSendTimeout = '10s' # Default +# ChipIngressDrainTimeout is the max shutdown wait to flush queued events. +ChipIngressDrainTimeout = '30s' # Default +# ChipIngressMaxGRPCRequestSize is the max serialized PublishBatch request size in bytes. Batches exceeding this are split before send (min 1 MiB enforced by batch client). +ChipIngressMaxGRPCRequestSize = 10485760 # Default # DurableEmitterEnabled enables persisting outbound CHIP events to Postgres for at-least-once delivery. DurableEmitterEnabled = true # Default # DurableEmitterRetransmitBatchSize is the number of pending events the durable emitter replays per retransmit tick. diff --git a/core/config/telemetry_config.go b/core/config/telemetry_config.go index b6e3a0adb31..dffe23bab60 100644 --- a/core/config/telemetry_config.go +++ b/core/config/telemetry_config.go @@ -19,6 +19,13 @@ type Telemetry interface { ChipIngressEndpoint() string ChipIngressInsecureConnection() bool ChipIngressBatchEmitterEnabled() bool + ChipIngressBufferSize() uint + ChipIngressMaxBatchSize() uint + ChipIngressMaxConcurrentSends() int + ChipIngressSendInterval() time.Duration + ChipIngressSendTimeout() time.Duration + ChipIngressDrainTimeout() time.Duration + ChipIngressMaxGRPCRequestSize() int DurableEmitterEnabled() bool DurableEmitterRetransmitBatchSize() int DurableEmitterEventTTL() time.Duration diff --git a/core/config/toml/types.go b/core/config/toml/types.go index 2365ce92c75..136dcb112a8 100644 --- a/core/config/toml/types.go +++ b/core/config/toml/types.go @@ -2983,6 +2983,13 @@ type Telemetry struct { ChipIngressEndpoint *string ChipIngressInsecureConnection *bool ChipIngressBatchEmitterEnabled *bool + ChipIngressBufferSize *uint + ChipIngressMaxBatchSize *uint + ChipIngressMaxConcurrentSends *int + ChipIngressSendInterval *commonconfig.Duration + ChipIngressSendTimeout *commonconfig.Duration + ChipIngressDrainTimeout *commonconfig.Duration + ChipIngressMaxGRPCRequestSize *int DurableEmitterEnabled *bool DurableEmitterRetransmitBatchSize *int DurableEmitterEventTTL *commonconfig.Duration @@ -3038,6 +3045,27 @@ func (b *Telemetry) setFrom(f *Telemetry) { if v := f.ChipIngressBatchEmitterEnabled; v != nil { b.ChipIngressBatchEmitterEnabled = v } + if v := f.ChipIngressBufferSize; v != nil { + b.ChipIngressBufferSize = v + } + if v := f.ChipIngressMaxBatchSize; v != nil { + b.ChipIngressMaxBatchSize = v + } + if v := f.ChipIngressMaxConcurrentSends; v != nil { + b.ChipIngressMaxConcurrentSends = v + } + if v := f.ChipIngressSendInterval; v != nil { + b.ChipIngressSendInterval = v + } + if v := f.ChipIngressSendTimeout; v != nil { + b.ChipIngressSendTimeout = v + } + if v := f.ChipIngressDrainTimeout; v != nil { + b.ChipIngressDrainTimeout = v + } + if v := f.ChipIngressMaxGRPCRequestSize; v != nil { + b.ChipIngressMaxGRPCRequestSize = v + } if v := f.DurableEmitterEnabled; v != nil { b.DurableEmitterEnabled = v } @@ -3096,6 +3124,27 @@ func (b *Telemetry) ValidateConfig() (err error) { if ratio := b.TraceSampleRatio; ratio != nil && (*ratio < 0 || *ratio > 1) { err = errors.Join(err, configutils.ErrInvalid{Name: "TraceSampleRatio", Value: *ratio, Msg: "must be between 0 and 1"}) } + if v := b.ChipIngressBufferSize; v != nil && *v == 0 { + err = errors.Join(err, configutils.ErrInvalid{Name: "ChipIngressBufferSize", Value: *v, Msg: "must be greater than 0"}) + } + if v := b.ChipIngressMaxBatchSize; v != nil && *v == 0 { + err = errors.Join(err, configutils.ErrInvalid{Name: "ChipIngressMaxBatchSize", Value: *v, Msg: "must be greater than 0"}) + } + if v := b.ChipIngressMaxConcurrentSends; v != nil && *v <= 0 { + err = errors.Join(err, configutils.ErrInvalid{Name: "ChipIngressMaxConcurrentSends", Value: *v, Msg: "must be greater than 0"}) + } + if v := b.ChipIngressSendInterval; v != nil && v.Duration() <= 0 { + err = errors.Join(err, configutils.ErrInvalid{Name: "ChipIngressSendInterval", Value: v.Duration(), Msg: "must be greater than 0"}) + } + if v := b.ChipIngressSendTimeout; v != nil && v.Duration() <= 0 { + err = errors.Join(err, configutils.ErrInvalid{Name: "ChipIngressSendTimeout", Value: v.Duration(), Msg: "must be greater than 0"}) + } + if v := b.ChipIngressDrainTimeout; v != nil && v.Duration() <= 0 { + err = errors.Join(err, configutils.ErrInvalid{Name: "ChipIngressDrainTimeout", Value: v.Duration(), Msg: "must be greater than 0"}) + } + if v := b.ChipIngressMaxGRPCRequestSize; v != nil && *v <= 0 { + err = errors.Join(err, configutils.ErrInvalid{Name: "ChipIngressMaxGRPCRequestSize", Value: *v, Msg: "must be greater than 0"}) + } return err } diff --git a/core/scripts/cre/environment/examples/workflows/proof-of-reserve/cron-based/go.mod b/core/scripts/cre/environment/examples/workflows/proof-of-reserve/cron-based/go.mod index 6f8e50fa791..d14ac2fa2e6 100644 --- a/core/scripts/cre/environment/examples/workflows/proof-of-reserve/cron-based/go.mod +++ b/core/scripts/cre/environment/examples/workflows/proof-of-reserve/cron-based/go.mod @@ -4,7 +4,7 @@ go 1.26.4 require ( github.com/ethereum/go-ethereum v1.17.1 - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260625162847-bdf9e82b2f75 + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20251222115927-36a18321243c github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20260622152157-c8e129347b8b github.com/smartcontractkit/cre-sdk-go v1.5.0 @@ -74,7 +74,7 @@ require ( github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect github.com/shirou/gopsutil v3.21.11+incompatible // indirect github.com/shopspring/decimal v1.4.0 // indirect - github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260528204832-58c7145c53f8 // indirect + github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 // indirect github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d // indirect github.com/stretchr/testify v1.11.1 // indirect github.com/supranational/blst v0.3.16 // indirect diff --git a/core/scripts/cre/environment/examples/workflows/proof-of-reserve/cron-based/go.sum b/core/scripts/cre/environment/examples/workflows/proof-of-reserve/cron-based/go.sum index b4df6b22846..9965a8c6873 100644 --- a/core/scripts/cre/environment/examples/workflows/proof-of-reserve/cron-based/go.sum +++ b/core/scripts/cre/environment/examples/workflows/proof-of-reserve/cron-based/go.sum @@ -263,10 +263,10 @@ github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKl github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260625162847-bdf9e82b2f75 h1:+wn8Kfs9ImNEWlonkTmtjDQOdEaDzwdpedab+wAzCKI= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260625162847-bdf9e82b2f75/go.mod h1:wUK7w5xRrFPD2qQfdt1fLXzQzWSb4PaZaxa4nsqCWVs= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260528204832-58c7145c53f8 h1:5O2qAtvBLzTHBeSIPcxt9i9BCqqOyeroVxN0xbXwoS0= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260528204832-58c7145c53f8/go.mod h1:HmUyH2oD9m+GRpKq7q3vuRnm1F2Uczf/Nd1v3ipMSK8= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 h1:XCnmvCaSuOXKShpfcmyrHskHnXDzjACxI37WiEFdJDI= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034/go.mod h1:DGvW2Opi/qcOWNkOq18xTI5ZqByoxfPTL9H5M1bC4Ls= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 h1:QhTMiEn3s+AB4xBoScuQglsqHGJYxheYrgpxdIdqNAI= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954/go.mod h1:UYcRMb4dZcoaIPgZJ3hckCySTqtJc9K4Q+tOKErwTq0= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20251222115927-36a18321243c h1:eX7SCn5AGUGduv5OrjbVJkUSOnyeal0BtVem6zBSB2Y= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20251222115927-36a18321243c/go.mod h1:oyfOm4k0uqmgZIfxk1elI/59B02shbbJQiiUdPdbMgI= github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20260622152157-c8e129347b8b h1:VDgJWDipihV9f7M5+d21d1RzSsg5rEv+iI12oN1VQbo= diff --git a/core/scripts/go.mod b/core/scripts/go.mod index a94d6217f15..c04a9aea80c 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -47,7 +47,7 @@ require ( github.com/smartcontractkit/chain-selectors v1.0.106 github.com/smartcontractkit/chainlink-automation v0.8.1 github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 github.com/smartcontractkit/chainlink-data-streams v1.0.0 github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 @@ -166,7 +166,7 @@ require ( github.com/buger/goterm v1.0.4 // indirect github.com/buger/jsonparser v1.2.0 // indirect github.com/buraksezer/consistent v0.10.0 // indirect - github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect + github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 // indirect github.com/bytedance/sonic v1.15.0 // indirect github.com/bytedance/sonic/loader v0.5.0 // indirect github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 4f0914bc7b4..1225fbde1d9 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -287,8 +287,8 @@ github.com/buraksezer/consistent v0.10.0 h1:hqBgz1PvNLC5rkWcEBVAL9dFMBWz6I0VgUCW github.com/buraksezer/consistent v0.10.0/go.mod h1:6BrVajWq7wbKZlTOUPs/XVfR8c0maujuPowduSpZqmw= github.com/bxcodec/faker v2.0.1+incompatible h1:P0KUpUw5w6WJXwrPfv35oc91i4d8nf40Nwln+M/+faA= github.com/bxcodec/faker v2.0.1+incompatible/go.mod h1:BNzfpVdTwnFJ6GtfYTcQu6l6rHShT+veBxNCnjCx5XM= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 h1:aBU8cexP2rPZ0Qz488kvn2NXvWZHL2aG1/+n7Iv+xGc= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0/go.mod h1:4OCU0xAW9ycwtX4nMF4zxwgJBJ5/0eMfJiHB0wAmkV4= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 h1:PAe4o7Mq1VjSx81Dc+V4w1XvxLouFTB384N4ZT4o+7k= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0/go.mod h1:icJLhTDV7EyKlZpeuBuJl4yoTMqhjUvNv1mewMJUvr4= github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= @@ -1580,8 +1580,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260 github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6 h1:t5VUHVFEdcqa0/faJiHWusuW+egKpqK3YwWZO4/yJto= github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6/go.mod h1:0v6RGdYa9NezVnBPIAVyxB3A9furKWwaSkLha+URYGk= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc h1:ig6dWCmNfxwO5+kG4hYxdrBe5R4zn14JqjJ+88WMc1s= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc/go.mod h1:/QfRnLDkC9RHpg3op2YYq8lyuLozTTKmN2FTZNgpOqU= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 h1:XCnmvCaSuOXKShpfcmyrHskHnXDzjACxI37WiEFdJDI= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034/go.mod h1:DGvW2Opi/qcOWNkOq18xTI5ZqByoxfPTL9H5M1bC4Ls= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 h1:DvfhsiIxB4JMuR+r1UciKV8jKiwhI/OZI/QhKawC4pM= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6/go.mod h1:6NefaCIMH4zFBN3T+cvsFGYoy3oTSPKDaxPAyBzlYTU= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 h1:QhTMiEn3s+AB4xBoScuQglsqHGJYxheYrgpxdIdqNAI= diff --git a/core/services/chainlink/config_telemetry.go b/core/services/chainlink/config_telemetry.go index bf7af37183d..05849240ed1 100644 --- a/core/services/chainlink/config_telemetry.go +++ b/core/services/chainlink/config_telemetry.go @@ -118,6 +118,55 @@ func (b *telemetryConfig) ChipIngressBatchEmitterEnabled() bool { return *b.s.ChipIngressBatchEmitterEnabled } +func (b *telemetryConfig) ChipIngressBufferSize() uint { + if b.s.ChipIngressBufferSize == nil { + return 0 + } + return *b.s.ChipIngressBufferSize +} + +func (b *telemetryConfig) ChipIngressMaxBatchSize() uint { + if b.s.ChipIngressMaxBatchSize == nil { + return 0 + } + return *b.s.ChipIngressMaxBatchSize +} + +func (b *telemetryConfig) ChipIngressMaxConcurrentSends() int { + if b.s.ChipIngressMaxConcurrentSends == nil { + return 0 + } + return *b.s.ChipIngressMaxConcurrentSends +} + +func (b *telemetryConfig) ChipIngressSendInterval() time.Duration { + if b.s.ChipIngressSendInterval == nil { + return 0 + } + return b.s.ChipIngressSendInterval.Duration() +} + +func (b *telemetryConfig) ChipIngressSendTimeout() time.Duration { + if b.s.ChipIngressSendTimeout == nil { + return 0 + } + return b.s.ChipIngressSendTimeout.Duration() +} + +func (b *telemetryConfig) ChipIngressDrainTimeout() time.Duration { + if b.s.ChipIngressDrainTimeout == nil { + return 0 + } + return b.s.ChipIngressDrainTimeout.Duration() +} + +func (b *telemetryConfig) ChipIngressMaxGRPCRequestSize() int { + if b.s.ChipIngressMaxGRPCRequestSize == nil { + return 0 + } + return *b.s.ChipIngressMaxGRPCRequestSize +} + func (b *telemetryConfig) DurableEmitterEnabled() bool { if b.s.DurableEmitterEnabled == nil { return true diff --git a/core/services/chainlink/config_telemetry_test.go b/core/services/chainlink/config_telemetry_test.go index 37ac2c93693..b1545cb57bb 100644 --- a/core/services/chainlink/config_telemetry_test.go +++ b/core/services/chainlink/config_telemetry_test.go @@ -264,6 +264,146 @@ func ptrDuration(d time.Duration) *config.Duration { return config.MustNewDuration(d) } +func TestTelemetryConfig_ChipIngressBufferSize(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + telemetry toml.Telemetry + expected uint + }{ + {"ChipIngressBufferSizeSet", toml.Telemetry{ChipIngressBufferSize: new(uint(1000))}, 1000}, + {"ChipIngressBufferSizeNil", toml.Telemetry{ChipIngressBufferSize: nil}, 0}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + tc := telemetryConfig{s: tt.telemetry} + assert.Equal(t, tt.expected, tc.ChipIngressBufferSize()) + }) + } +} + +func TestTelemetryConfig_ChipIngressMaxBatchSize(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + telemetry toml.Telemetry + expected uint + }{ + {"ChipIngressMaxBatchSizeSet", toml.Telemetry{ChipIngressMaxBatchSize: new(uint(500))}, 500}, + {"ChipIngressMaxBatchSizeNil", toml.Telemetry{ChipIngressMaxBatchSize: nil}, 0}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + tc := telemetryConfig{s: tt.telemetry} + assert.Equal(t, tt.expected, tc.ChipIngressMaxBatchSize()) + }) + } +} + +func TestTelemetryConfig_ChipIngressMaxConcurrentSends(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + telemetry toml.Telemetry + expected int + }{ + {"ChipIngressMaxConcurrentSendsSet", toml.Telemetry{ChipIngressMaxConcurrentSends: new(10)}, 10}, + {"ChipIngressMaxConcurrentSendsNil", toml.Telemetry{ChipIngressMaxConcurrentSends: nil}, 0}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + tc := telemetryConfig{s: tt.telemetry} + assert.Equal(t, tt.expected, tc.ChipIngressMaxConcurrentSends()) + }) + } +} + +func TestTelemetryConfig_ChipIngressSendInterval(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + telemetry toml.Telemetry + expected time.Duration + }{ + {"ChipIngressSendIntervalSet", toml.Telemetry{ChipIngressSendInterval: ptrDuration(100 * time.Millisecond)}, 100 * time.Millisecond}, + {"ChipIngressSendIntervalNil", toml.Telemetry{ChipIngressSendInterval: nil}, 0}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + tc := telemetryConfig{s: tt.telemetry} + assert.Equal(t, tt.expected, tc.ChipIngressSendInterval()) + }) + } +} + +func TestTelemetryConfig_ChipIngressSendTimeout(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + telemetry toml.Telemetry + expected time.Duration + }{ + {"ChipIngressSendTimeoutSet", toml.Telemetry{ChipIngressSendTimeout: ptrDuration(3 * time.Second)}, 3 * time.Second}, + {"ChipIngressSendTimeoutNil", toml.Telemetry{ChipIngressSendTimeout: nil}, 0}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + tc := telemetryConfig{s: tt.telemetry} + assert.Equal(t, tt.expected, tc.ChipIngressSendTimeout()) + }) + } +} + +func TestTelemetryConfig_ChipIngressDrainTimeout(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + telemetry toml.Telemetry + expected time.Duration + }{ + {"ChipIngressDrainTimeoutSet", toml.Telemetry{ChipIngressDrainTimeout: ptrDuration(10 * time.Second)}, 10 * time.Second}, + {"ChipIngressDrainTimeoutNil", toml.Telemetry{ChipIngressDrainTimeout: nil}, 0}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + tc := telemetryConfig{s: tt.telemetry} + assert.Equal(t, tt.expected, tc.ChipIngressDrainTimeout()) + }) + } +} + +func TestTelemetryConfig_ChipIngressMaxGRPCRequestSize(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + telemetry toml.Telemetry + expected int + }{ + {"ChipIngressMaxGRPCRequestSizeSet", toml.Telemetry{ChipIngressMaxGRPCRequestSize: new(10485760)}, 10485760}, + {"ChipIngressMaxGRPCRequestSizeNil", toml.Telemetry{ChipIngressMaxGRPCRequestSize: nil}, 0}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + tc := telemetryConfig{s: tt.telemetry} + assert.Equal(t, tt.expected, tc.ChipIngressMaxGRPCRequestSize()) + }) + } +} + func TestTelemetryConfig_HeartbeatInterval(t *testing.T) { tests := []struct { name string diff --git a/core/services/chainlink/config_test.go b/core/services/chainlink/config_test.go index ecf53b61d68..cf11b4c4eab 100644 --- a/core/services/chainlink/config_test.go +++ b/core/services/chainlink/config_test.go @@ -563,6 +563,13 @@ func TestConfig_Marshal(t *testing.T) { ChipIngressEndpoint: new("example.com/chip-ingress"), ChipIngressInsecureConnection: new(false), ChipIngressBatchEmitterEnabled: new(true), + ChipIngressBufferSize: new(uint(10000)), + ChipIngressMaxBatchSize: new(uint(1000)), + ChipIngressMaxConcurrentSends: new(10), + ChipIngressSendInterval: commoncfg.MustNewDuration(500 * time.Millisecond), + ChipIngressSendTimeout: commoncfg.MustNewDuration(10 * time.Second), + ChipIngressDrainTimeout: commoncfg.MustNewDuration(30 * time.Second), + ChipIngressMaxGRPCRequestSize: new(10485760), DurableEmitterEnabled: new(false), DurableEmitterRetransmitBatchSize: new(500), DurableEmitterEventTTL: commoncfg.MustNewDuration(1 * time.Hour), diff --git a/core/services/chainlink/testdata/config-empty-effective.toml b/core/services/chainlink/testdata/config-empty-effective.toml index 90537838d3f..399d320f252 100644 --- a/core/services/chainlink/testdata/config-empty-effective.toml +++ b/core/services/chainlink/testdata/config-empty-effective.toml @@ -350,6 +350,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/core/services/chainlink/testdata/config-full.toml b/core/services/chainlink/testdata/config-full.toml index 4302628bd1a..742de0515ba 100644 --- a/core/services/chainlink/testdata/config-full.toml +++ b/core/services/chainlink/testdata/config-full.toml @@ -385,6 +385,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = 'example.com/chip-ingress' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = false DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/core/services/chainlink/testdata/config-multi-chain-effective.toml b/core/services/chainlink/testdata/config-multi-chain-effective.toml index ef99ff17081..2d7a08ea046 100644 --- a/core/services/chainlink/testdata/config-multi-chain-effective.toml +++ b/core/services/chainlink/testdata/config-multi-chain-effective.toml @@ -350,6 +350,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/core/web/resolver/testdata/config-empty-effective.toml b/core/web/resolver/testdata/config-empty-effective.toml index 90537838d3f..399d320f252 100644 --- a/core/web/resolver/testdata/config-empty-effective.toml +++ b/core/web/resolver/testdata/config-empty-effective.toml @@ -350,6 +350,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/core/web/resolver/testdata/config-full.toml b/core/web/resolver/testdata/config-full.toml index 80b894ab198..3894abf4f0e 100644 --- a/core/web/resolver/testdata/config-full.toml +++ b/core/web/resolver/testdata/config-full.toml @@ -364,6 +364,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = 'example.com/chip-ingress' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = false DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/core/web/resolver/testdata/config-multi-chain-effective.toml b/core/web/resolver/testdata/config-multi-chain-effective.toml index ebf187c1b31..dfe8c2e3f79 100644 --- a/core/web/resolver/testdata/config-multi-chain-effective.toml +++ b/core/web/resolver/testdata/config-multi-chain-effective.toml @@ -350,6 +350,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/deployment/go.mod b/deployment/go.mod index b9b492df7e8..21d20ff7241 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -48,7 +48,7 @@ require ( github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 github.com/smartcontractkit/chainlink-data-streams v1.0.0 github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 @@ -165,7 +165,7 @@ require ( github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce // indirect github.com/buger/jsonparser v1.2.0 // indirect github.com/buraksezer/consistent v0.10.0 // indirect - github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect + github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 // indirect github.com/bytedance/gopkg v0.1.3 // indirect github.com/bytedance/sonic v1.15.0 // indirect github.com/bytedance/sonic/loader v0.5.0 // indirect diff --git a/deployment/go.sum b/deployment/go.sum index b6e20a4ccd8..8ddb8c29546 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -282,8 +282,8 @@ github.com/buraksezer/consistent v0.10.0 h1:hqBgz1PvNLC5rkWcEBVAL9dFMBWz6I0VgUCW github.com/buraksezer/consistent v0.10.0/go.mod h1:6BrVajWq7wbKZlTOUPs/XVfR8c0maujuPowduSpZqmw= github.com/bxcodec/faker v2.0.1+incompatible h1:P0KUpUw5w6WJXwrPfv35oc91i4d8nf40Nwln+M/+faA= github.com/bxcodec/faker v2.0.1+incompatible/go.mod h1:BNzfpVdTwnFJ6GtfYTcQu6l6rHShT+veBxNCnjCx5XM= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 h1:aBU8cexP2rPZ0Qz488kvn2NXvWZHL2aG1/+n7Iv+xGc= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0/go.mod h1:4OCU0xAW9ycwtX4nMF4zxwgJBJ5/0eMfJiHB0wAmkV4= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 h1:PAe4o7Mq1VjSx81Dc+V4w1XvxLouFTB384N4ZT4o+7k= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0/go.mod h1:icJLhTDV7EyKlZpeuBuJl4yoTMqhjUvNv1mewMJUvr4= github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= @@ -1390,8 +1390,8 @@ github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6 h github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6/go.mod h1:0v6RGdYa9NezVnBPIAVyxB3A9furKWwaSkLha+URYGk= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194 h1:QxZkbKtQyPtVLYP4eMwc+VbXY7M5ve1deSiLZ2pOA+Y= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194/go.mod h1:bNMFRxwWdgVFdSsFZRmsUUPoBUncU3RM765K99svIKM= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc h1:ig6dWCmNfxwO5+kG4hYxdrBe5R4zn14JqjJ+88WMc1s= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc/go.mod h1:/QfRnLDkC9RHpg3op2YYq8lyuLozTTKmN2FTZNgpOqU= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 h1:XCnmvCaSuOXKShpfcmyrHskHnXDzjACxI37WiEFdJDI= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034/go.mod h1:DGvW2Opi/qcOWNkOq18xTI5ZqByoxfPTL9H5M1bC4Ls= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 h1:DvfhsiIxB4JMuR+r1UciKV8jKiwhI/OZI/QhKawC4pM= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6/go.mod h1:6NefaCIMH4zFBN3T+cvsFGYoy3oTSPKDaxPAyBzlYTU= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 h1:QhTMiEn3s+AB4xBoScuQglsqHGJYxheYrgpxdIdqNAI= diff --git a/devenv/go.mod b/devenv/go.mod index 55e9156e0d9..33926026157 100644 --- a/devenv/go.mod +++ b/devenv/go.mod @@ -22,7 +22,7 @@ require ( github.com/shopspring/decimal v1.4.0 github.com/smartcontractkit/chain-selectors v1.0.100 github.com/smartcontractkit/chainlink-automation v0.8.1 - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260625162847-bdf9e82b2f75 + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260519095745-ddfc812d06a0 github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20251211123524-f0c4fe7cfc0a github.com/smartcontractkit/chainlink-protos/job-distributor v0.12.0 @@ -321,7 +321,7 @@ require ( github.com/shirou/gopsutil/v4 v4.26.4 // indirect github.com/sirupsen/logrus v1.9.4 // indirect github.com/smartcontractkit/chainlink-common/keystore v1.0.2 // indirect - github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260528204832-58c7145c53f8 // indirect + github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 // indirect github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20260423135514-5b1a7565a99c // indirect github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20260508154216-3ed6f623098f // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20260505202410-b350dca113b4 // indirect diff --git a/devenv/go.sum b/devenv/go.sum index 3781d1b28d6..19cf7eb98da 100644 --- a/devenv/go.sum +++ b/devenv/go.sum @@ -1018,12 +1018,12 @@ github.com/smartcontractkit/chain-selectors v1.0.100 h1:wpiSpmI/eFjY+wx/nPr5VuNF github.com/smartcontractkit/chain-selectors v1.0.100/go.mod h1:qy7whtgG5g+7z0jt0nRyii9bLND9m15NZTzuQPkMZ5w= github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU= github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260625162847-bdf9e82b2f75 h1:+wn8Kfs9ImNEWlonkTmtjDQOdEaDzwdpedab+wAzCKI= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260625162847-bdf9e82b2f75/go.mod h1:wUK7w5xRrFPD2qQfdt1fLXzQzWSb4PaZaxa4nsqCWVs= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 h1:XCnmvCaSuOXKShpfcmyrHskHnXDzjACxI37WiEFdJDI= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034/go.mod h1:DGvW2Opi/qcOWNkOq18xTI5ZqByoxfPTL9H5M1bC4Ls= github.com/smartcontractkit/chainlink-common/keystore v1.0.2 h1:AWisx4JT3QV8tcgh6J5NCrex+wAgTYpWyHsyNPSXzsQ= github.com/smartcontractkit/chainlink-common/keystore v1.0.2/go.mod h1:rSkIHdomyak3YnUtXLenl6poIq8q0V3UZPiiyYqPdGA= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260528204832-58c7145c53f8 h1:5O2qAtvBLzTHBeSIPcxt9i9BCqqOyeroVxN0xbXwoS0= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260528204832-58c7145c53f8/go.mod h1:HmUyH2oD9m+GRpKq7q3vuRnm1F2Uczf/Nd1v3ipMSK8= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 h1:QhTMiEn3s+AB4xBoScuQglsqHGJYxheYrgpxdIdqNAI= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954/go.mod h1:UYcRMb4dZcoaIPgZJ3hckCySTqtJc9K4Q+tOKErwTq0= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260519095745-ddfc812d06a0 h1:rPVMnAi1+tWZOo8jTHavu/PbmoKNVRrKYOfxzujDuss= github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260519095745-ddfc812d06a0/go.mod h1:ow+Q/Tl8iDgDFaMkQveJJWEL6odFZAmuYRUm/dwk26M= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20251211123524-f0c4fe7cfc0a h1:kVKWRGrSCioMY2lEVIEblerv/KkINIQS2hLUOw2wKOg= diff --git a/docs/CONFIG.md b/docs/CONFIG.md index 1cfe69596e6..42be8c5d409 100644 --- a/docs/CONFIG.md +++ b/docs/CONFIG.md @@ -2393,6 +2393,13 @@ AuthHeadersTTL = '0s' # Default ChipIngressEndpoint = '' # Default ChipIngressInsecureConnection = false # Default ChipIngressBatchEmitterEnabled = true # Default +ChipIngressBufferSize = 10000 # Default +ChipIngressMaxBatchSize = 1000 # Default +ChipIngressMaxConcurrentSends = 10 # Default +ChipIngressSendInterval = '500ms' # Default +ChipIngressSendTimeout = '10s' # Default +ChipIngressDrainTimeout = '30s' # Default +ChipIngressMaxGRPCRequestSize = 10485760 # Default DurableEmitterEnabled = true # Default DurableEmitterRetransmitBatchSize = 500 # Default DurableEmitterEventTTL = '1h0m0s' # Default @@ -2481,6 +2488,48 @@ ChipIngressBatchEmitterEnabled = true # Default ChipIngressBatchEmitterEnabled enables batching for chip-ingress events. When false, events are sent individually (legacy behavior). +### ChipIngressBufferSize +```toml +ChipIngressBufferSize = 10000 # Default +``` +ChipIngressBufferSize is the in-memory queue size for chip-ingress events. + +### ChipIngressMaxBatchSize +```toml +ChipIngressMaxBatchSize = 1000 # Default +``` +ChipIngressMaxBatchSize is the max events per PublishBatch RPC. + +### ChipIngressMaxConcurrentSends +```toml +ChipIngressMaxConcurrentSends = 10 # Default +``` +ChipIngressMaxConcurrentSends limits parallel PublishBatch calls. + +### ChipIngressSendInterval +```toml +ChipIngressSendInterval = '500ms' # Default +``` +ChipIngressSendInterval is the max wait before flushing an incomplete batch. + +### ChipIngressSendTimeout +```toml +ChipIngressSendTimeout = '10s' # Default +``` +ChipIngressSendTimeout is the per-RPC timeout for PublishBatch. + +### ChipIngressDrainTimeout +```toml +ChipIngressDrainTimeout = '30s' # Default +``` +ChipIngressDrainTimeout is the max shutdown wait to flush queued events. + +### ChipIngressMaxGRPCRequestSize +```toml +ChipIngressMaxGRPCRequestSize = 10485760 # Default +``` +ChipIngressMaxGRPCRequestSize is the max serialized PublishBatch request size in bytes. Batches exceeding this are split before send (min 1 MiB enforced by batch client). + ### DurableEmitterEnabled ```toml DurableEmitterEnabled = true # Default diff --git a/go.mod b/go.mod index 66c8194c784..f1c7ba85d69 100644 --- a/go.mod +++ b/go.mod @@ -85,7 +85,7 @@ require ( github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6 - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 github.com/smartcontractkit/chainlink-data-streams v1.0.0 @@ -188,7 +188,7 @@ require ( github.com/btcsuite/btcd/btcec/v2 v2.3.4 // indirect github.com/btcsuite/btcd/btcutil v1.1.6 // indirect github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 // indirect - github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect + github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 // indirect github.com/bytedance/sonic v1.12.3 // indirect github.com/bytedance/sonic/loader v0.2.0 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect diff --git a/go.sum b/go.sum index b6adf64408c..fdd8ffc8135 100644 --- a/go.sum +++ b/go.sum @@ -194,8 +194,8 @@ github.com/buger/jsonparser v1.2.0 h1:4EFcvK1kD4jyj6YqNK6skK6w+y7FHHBR+XBCtxwu/6 github.com/buger/jsonparser v1.2.0/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/buraksezer/consistent v0.10.0 h1:hqBgz1PvNLC5rkWcEBVAL9dFMBWz6I0VgUCW25rrZlU= github.com/buraksezer/consistent v0.10.0/go.mod h1:6BrVajWq7wbKZlTOUPs/XVfR8c0maujuPowduSpZqmw= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 h1:aBU8cexP2rPZ0Qz488kvn2NXvWZHL2aG1/+n7Iv+xGc= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0/go.mod h1:4OCU0xAW9ycwtX4nMF4zxwgJBJ5/0eMfJiHB0wAmkV4= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 h1:PAe4o7Mq1VjSx81Dc+V4w1XvxLouFTB384N4ZT4o+7k= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0/go.mod h1:icJLhTDV7EyKlZpeuBuJl4yoTMqhjUvNv1mewMJUvr4= github.com/bytedance/sonic v1.12.3 h1:W2MGa7RCU1QTeYRTPE3+88mVC0yXmsRQRChiyVocVjU= github.com/bytedance/sonic v1.12.3/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKzMzT9r/rk= github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= @@ -1159,8 +1159,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260 github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6 h1:t5VUHVFEdcqa0/faJiHWusuW+egKpqK3YwWZO4/yJto= github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6/go.mod h1:0v6RGdYa9NezVnBPIAVyxB3A9furKWwaSkLha+URYGk= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc h1:ig6dWCmNfxwO5+kG4hYxdrBe5R4zn14JqjJ+88WMc1s= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc/go.mod h1:/QfRnLDkC9RHpg3op2YYq8lyuLozTTKmN2FTZNgpOqU= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 h1:XCnmvCaSuOXKShpfcmyrHskHnXDzjACxI37WiEFdJDI= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034/go.mod h1:DGvW2Opi/qcOWNkOq18xTI5ZqByoxfPTL9H5M1bC4Ls= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 h1:DvfhsiIxB4JMuR+r1UciKV8jKiwhI/OZI/QhKawC4pM= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6/go.mod h1:6NefaCIMH4zFBN3T+cvsFGYoy3oTSPKDaxPAyBzlYTU= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 h1:QhTMiEn3s+AB4xBoScuQglsqHGJYxheYrgpxdIdqNAI= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 30d5e326626..b5b99a2dc4d 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -33,7 +33,7 @@ require ( github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260716150153-cd1826496e2d @@ -60,7 +60,10 @@ require ( gopkg.in/guregu/null.v4 v4.0.0 ) -require github.com/smartcontractkit/chainlink-protos/metering/go v0.0.0-20260710151514-27b5a126dabe // indirect +require ( + github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 // indirect + github.com/smartcontractkit/chainlink-protos/metering/go v0.0.0-20260710151514-27b5a126dabe // indirect +) require ( cloud.google.com/go/compute/metadata v0.9.0 // indirect @@ -134,7 +137,6 @@ require ( github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce // indirect github.com/buger/jsonparser v1.2.0 // indirect github.com/buraksezer/consistent v0.10.0 // indirect - github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/gopkg v0.1.3 // indirect github.com/bytedance/sonic v1.15.0 // indirect github.com/bytedance/sonic/loader v0.5.0 // indirect diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 3ec7fb1ed27..7b22711f640 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -270,8 +270,8 @@ github.com/buraksezer/consistent v0.10.0 h1:hqBgz1PvNLC5rkWcEBVAL9dFMBWz6I0VgUCW github.com/buraksezer/consistent v0.10.0/go.mod h1:6BrVajWq7wbKZlTOUPs/XVfR8c0maujuPowduSpZqmw= github.com/bxcodec/faker v2.0.1+incompatible h1:P0KUpUw5w6WJXwrPfv35oc91i4d8nf40Nwln+M/+faA= github.com/bxcodec/faker v2.0.1+incompatible/go.mod h1:BNzfpVdTwnFJ6GtfYTcQu6l6rHShT+veBxNCnjCx5XM= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 h1:aBU8cexP2rPZ0Qz488kvn2NXvWZHL2aG1/+n7Iv+xGc= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0/go.mod h1:4OCU0xAW9ycwtX4nMF4zxwgJBJ5/0eMfJiHB0wAmkV4= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 h1:PAe4o7Mq1VjSx81Dc+V4w1XvxLouFTB384N4ZT4o+7k= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0/go.mod h1:icJLhTDV7EyKlZpeuBuJl4yoTMqhjUvNv1mewMJUvr4= github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= @@ -1377,8 +1377,8 @@ github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6 h github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6/go.mod h1:0v6RGdYa9NezVnBPIAVyxB3A9furKWwaSkLha+URYGk= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194 h1:QxZkbKtQyPtVLYP4eMwc+VbXY7M5ve1deSiLZ2pOA+Y= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194/go.mod h1:bNMFRxwWdgVFdSsFZRmsUUPoBUncU3RM765K99svIKM= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc h1:ig6dWCmNfxwO5+kG4hYxdrBe5R4zn14JqjJ+88WMc1s= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc/go.mod h1:/QfRnLDkC9RHpg3op2YYq8lyuLozTTKmN2FTZNgpOqU= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 h1:XCnmvCaSuOXKShpfcmyrHskHnXDzjACxI37WiEFdJDI= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034/go.mod h1:DGvW2Opi/qcOWNkOq18xTI5ZqByoxfPTL9H5M1bC4Ls= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 h1:DvfhsiIxB4JMuR+r1UciKV8jKiwhI/OZI/QhKawC4pM= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6/go.mod h1:6NefaCIMH4zFBN3T+cvsFGYoy3oTSPKDaxPAyBzlYTU= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 h1:QhTMiEn3s+AB4xBoScuQglsqHGJYxheYrgpxdIdqNAI= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index 61e2889a722..9db0de86fc7 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -24,7 +24,7 @@ require ( github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260716150153-cd1826496e2d github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260708113039-95f97b2d25e9 @@ -125,7 +125,7 @@ require ( github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce // indirect github.com/buger/jsonparser v1.2.0 // indirect github.com/buraksezer/consistent v0.10.0 // indirect - github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect + github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 // indirect github.com/bytedance/gopkg v0.1.3 // indirect github.com/bytedance/sonic v1.15.0 // indirect github.com/bytedance/sonic/loader v0.5.0 // indirect diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index 6848e0e221c..a954a58f01d 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -325,8 +325,8 @@ github.com/buraksezer/consistent v0.10.0 h1:hqBgz1PvNLC5rkWcEBVAL9dFMBWz6I0VgUCW github.com/buraksezer/consistent v0.10.0/go.mod h1:6BrVajWq7wbKZlTOUPs/XVfR8c0maujuPowduSpZqmw= github.com/bxcodec/faker v2.0.1+incompatible h1:P0KUpUw5w6WJXwrPfv35oc91i4d8nf40Nwln+M/+faA= github.com/bxcodec/faker v2.0.1+incompatible/go.mod h1:BNzfpVdTwnFJ6GtfYTcQu6l6rHShT+veBxNCnjCx5XM= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 h1:aBU8cexP2rPZ0Qz488kvn2NXvWZHL2aG1/+n7Iv+xGc= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0/go.mod h1:4OCU0xAW9ycwtX4nMF4zxwgJBJ5/0eMfJiHB0wAmkV4= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 h1:PAe4o7Mq1VjSx81Dc+V4w1XvxLouFTB384N4ZT4o+7k= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0/go.mod h1:icJLhTDV7EyKlZpeuBuJl4yoTMqhjUvNv1mewMJUvr4= github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= @@ -1637,8 +1637,8 @@ github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6 h github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6/go.mod h1:0v6RGdYa9NezVnBPIAVyxB3A9furKWwaSkLha+URYGk= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194 h1:QxZkbKtQyPtVLYP4eMwc+VbXY7M5ve1deSiLZ2pOA+Y= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194/go.mod h1:bNMFRxwWdgVFdSsFZRmsUUPoBUncU3RM765K99svIKM= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc h1:ig6dWCmNfxwO5+kG4hYxdrBe5R4zn14JqjJ+88WMc1s= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc/go.mod h1:/QfRnLDkC9RHpg3op2YYq8lyuLozTTKmN2FTZNgpOqU= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 h1:XCnmvCaSuOXKShpfcmyrHskHnXDzjACxI37WiEFdJDI= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034/go.mod h1:DGvW2Opi/qcOWNkOq18xTI5ZqByoxfPTL9H5M1bC4Ls= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 h1:DvfhsiIxB4JMuR+r1UciKV8jKiwhI/OZI/QhKawC4pM= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6/go.mod h1:6NefaCIMH4zFBN3T+cvsFGYoy3oTSPKDaxPAyBzlYTU= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 h1:QhTMiEn3s+AB4xBoScuQglsqHGJYxheYrgpxdIdqNAI= diff --git a/plugins/loop_registry.go b/plugins/loop_registry.go index b3b55afa6aa..0c1faf2fcf5 100644 --- a/plugins/loop_registry.go +++ b/plugins/loop_registry.go @@ -156,6 +156,13 @@ func (m *LoopRegistry) Register(id string) (*RegisteredLoop, error) { envCfg.ChipIngressInsecureConnection = m.cfgTelemetry.ChipIngressInsecureConnection() envCfg.ChipIngressBatchEmitterEnabled = m.cfgTelemetry.ChipIngressBatchEmitterEnabled() envCfg.ChipIngressDurableEmitterEnabled = m.cfgTelemetry.DurableEmitterEnabled() + envCfg.ChipIngressBufferSize = m.cfgTelemetry.ChipIngressBufferSize() + envCfg.ChipIngressMaxBatchSize = m.cfgTelemetry.ChipIngressMaxBatchSize() + envCfg.ChipIngressMaxConcurrentSends = m.cfgTelemetry.ChipIngressMaxConcurrentSends() + envCfg.ChipIngressSendInterval = m.cfgTelemetry.ChipIngressSendInterval() + envCfg.ChipIngressSendTimeout = m.cfgTelemetry.ChipIngressSendTimeout() + envCfg.ChipIngressDrainTimeout = m.cfgTelemetry.ChipIngressDrainTimeout() + envCfg.ChipIngressMaxGRPCRequestSize = m.cfgTelemetry.ChipIngressMaxGRPCRequestSize() envCfg.TelemetryLogStreamingEnabled = m.cfgTelemetry.LogStreamingEnabled() envCfg.TelemetryLogLevel = m.cfgTelemetry.LogLevel() envCfg.TelemetryLogBatchProcessor = m.cfgTelemetry.LogBatchProcessor() diff --git a/plugins/loop_registry_test.go b/plugins/loop_registry_test.go index 20ff7aa3644..bc827b89cec 100644 --- a/plugins/loop_registry_test.go +++ b/plugins/loop_registry_test.go @@ -82,6 +82,20 @@ func (m mockCfgTelemetry) ChipIngressInsecureConnection() bool { return false } func (m mockCfgTelemetry) ChipIngressBatchEmitterEnabled() bool { return false } +func (m mockCfgTelemetry) ChipIngressBufferSize() uint { return 1000 } + +func (m mockCfgTelemetry) ChipIngressMaxBatchSize() uint { return 500 } + +func (m mockCfgTelemetry) ChipIngressMaxConcurrentSends() int { return 10 } + +func (m mockCfgTelemetry) ChipIngressSendInterval() time.Duration { return 100 * time.Millisecond } + +func (m mockCfgTelemetry) ChipIngressSendTimeout() time.Duration { return 10 * time.Second } + +func (m mockCfgTelemetry) ChipIngressDrainTimeout() time.Duration { return 10 * time.Second } + +func (m mockCfgTelemetry) ChipIngressMaxGRPCRequestSize() int { return 10485760 } + func (m mockCfgTelemetry) HeartbeatInterval() time.Duration { return 5 * time.Second } @@ -263,4 +277,11 @@ func TestLoopRegistry_Register(t *testing.T) { require.Equal(t, "example.com/chip-ingress", envCfg.ChipIngressEndpoint) require.False(t, envCfg.ChipIngressBatchEmitterEnabled) + require.Equal(t, uint(1000), envCfg.ChipIngressBufferSize) + require.Equal(t, uint(500), envCfg.ChipIngressMaxBatchSize) + require.Equal(t, 10, envCfg.ChipIngressMaxConcurrentSends) + require.Equal(t, 100*time.Millisecond, envCfg.ChipIngressSendInterval) + require.Equal(t, 10*time.Second, envCfg.ChipIngressSendTimeout) + require.Equal(t, 10*time.Second, envCfg.ChipIngressDrainTimeout) + require.Equal(t, 10485760, envCfg.ChipIngressMaxGRPCRequestSize) } diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index 03d1efa782e..0a62f5066d2 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -37,7 +37,7 @@ require ( github.com/smartcontractkit/chain-selectors v1.0.106 github.com/smartcontractkit/chainlink-aptos v0.0.0-20260708114855-e953eeb028a7 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260716150153-cd1826496e2d @@ -152,7 +152,7 @@ require ( github.com/buger/goterm v1.0.4 // indirect github.com/buger/jsonparser v1.2.0 // indirect github.com/buraksezer/consistent v0.10.0 // indirect - github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect + github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 // indirect github.com/bytedance/sonic v1.15.0 // indirect github.com/bytedance/sonic/loader v0.5.0 // indirect github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2 // indirect diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index c310c3b65bc..08d9d9f7404 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -282,8 +282,8 @@ github.com/buraksezer/consistent v0.10.0 h1:hqBgz1PvNLC5rkWcEBVAL9dFMBWz6I0VgUCW github.com/buraksezer/consistent v0.10.0/go.mod h1:6BrVajWq7wbKZlTOUPs/XVfR8c0maujuPowduSpZqmw= github.com/bxcodec/faker v2.0.1+incompatible h1:P0KUpUw5w6WJXwrPfv35oc91i4d8nf40Nwln+M/+faA= github.com/bxcodec/faker v2.0.1+incompatible/go.mod h1:BNzfpVdTwnFJ6GtfYTcQu6l6rHShT+veBxNCnjCx5XM= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 h1:aBU8cexP2rPZ0Qz488kvn2NXvWZHL2aG1/+n7Iv+xGc= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0/go.mod h1:4OCU0xAW9ycwtX4nMF4zxwgJBJ5/0eMfJiHB0wAmkV4= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 h1:PAe4o7Mq1VjSx81Dc+V4w1XvxLouFTB384N4ZT4o+7k= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0/go.mod h1:icJLhTDV7EyKlZpeuBuJl4yoTMqhjUvNv1mewMJUvr4= github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= @@ -1551,8 +1551,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260 github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6 h1:t5VUHVFEdcqa0/faJiHWusuW+egKpqK3YwWZO4/yJto= github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6/go.mod h1:0v6RGdYa9NezVnBPIAVyxB3A9furKWwaSkLha+URYGk= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc h1:ig6dWCmNfxwO5+kG4hYxdrBe5R4zn14JqjJ+88WMc1s= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc/go.mod h1:/QfRnLDkC9RHpg3op2YYq8lyuLozTTKmN2FTZNgpOqU= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 h1:XCnmvCaSuOXKShpfcmyrHskHnXDzjACxI37WiEFdJDI= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034/go.mod h1:DGvW2Opi/qcOWNkOq18xTI5ZqByoxfPTL9H5M1bC4Ls= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 h1:DvfhsiIxB4JMuR+r1UciKV8jKiwhI/OZI/QhKawC4pM= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6/go.mod h1:6NefaCIMH4zFBN3T+cvsFGYoy3oTSPKDaxPAyBzlYTU= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 h1:QhTMiEn3s+AB4xBoScuQglsqHGJYxheYrgpxdIdqNAI= diff --git a/system-tests/tests/canaries_sentinels/proof-of-reserve/cron-based/go.mod b/system-tests/tests/canaries_sentinels/proof-of-reserve/cron-based/go.mod index 85eb060d990..13265325697 100644 --- a/system-tests/tests/canaries_sentinels/proof-of-reserve/cron-based/go.mod +++ b/system-tests/tests/canaries_sentinels/proof-of-reserve/cron-based/go.mod @@ -5,7 +5,7 @@ go 1.26.4 require ( github.com/ethereum/go-ethereum v1.17.1 github.com/smartcontractkit/chain-selectors v1.0.100 - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260625162847-bdf9e82b2f75 + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 github.com/smartcontractkit/chainlink-common/pkg/values v0.0.0-20250806152407-159881c7589c github.com/smartcontractkit/chainlink-common/pkg/workflows/sdk/v2/pb v0.0.0-20250806155403-1d805e639a0f github.com/smartcontractkit/cre-sdk-go v1.5.0 @@ -54,7 +54,7 @@ require ( github.com/prometheus/procfs v0.20.1 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect github.com/shopspring/decimal v1.4.0 // indirect - github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260528204832-58c7145c53f8 // indirect + github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 // indirect github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20260622152157-c8e129347b8b // indirect github.com/smartcontractkit/libocr v0.0.0-20260403184524-b6409238958d // indirect github.com/stretchr/testify v1.11.1 // indirect diff --git a/system-tests/tests/canaries_sentinels/proof-of-reserve/cron-based/go.sum b/system-tests/tests/canaries_sentinels/proof-of-reserve/cron-based/go.sum index 5d056d71a4c..a4de671a035 100644 --- a/system-tests/tests/canaries_sentinels/proof-of-reserve/cron-based/go.sum +++ b/system-tests/tests/canaries_sentinels/proof-of-reserve/cron-based/go.sum @@ -102,10 +102,10 @@ github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= github.com/smartcontractkit/chain-selectors v1.0.100 h1:wpiSpmI/eFjY+wx/nPr5VuNF4hki0prIBMKEaQWn3g4= github.com/smartcontractkit/chain-selectors v1.0.100/go.mod h1:qy7whtgG5g+7z0jt0nRyii9bLND9m15NZTzuQPkMZ5w= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260625162847-bdf9e82b2f75 h1:+wn8Kfs9ImNEWlonkTmtjDQOdEaDzwdpedab+wAzCKI= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260625162847-bdf9e82b2f75/go.mod h1:wUK7w5xRrFPD2qQfdt1fLXzQzWSb4PaZaxa4nsqCWVs= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260528204832-58c7145c53f8 h1:5O2qAtvBLzTHBeSIPcxt9i9BCqqOyeroVxN0xbXwoS0= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260528204832-58c7145c53f8/go.mod h1:HmUyH2oD9m+GRpKq7q3vuRnm1F2Uczf/Nd1v3ipMSK8= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 h1:XCnmvCaSuOXKShpfcmyrHskHnXDzjACxI37WiEFdJDI= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034/go.mod h1:DGvW2Opi/qcOWNkOq18xTI5ZqByoxfPTL9H5M1bC4Ls= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 h1:QhTMiEn3s+AB4xBoScuQglsqHGJYxheYrgpxdIdqNAI= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954/go.mod h1:UYcRMb4dZcoaIPgZJ3hckCySTqtJc9K4Q+tOKErwTq0= github.com/smartcontractkit/chainlink-common/pkg/values v0.0.0-20250806152407-159881c7589c h1:QaImySzrLcGzQc4wCF2yDqqb73jA3+9EIqybgx8zT4w= github.com/smartcontractkit/chainlink-common/pkg/values v0.0.0-20250806152407-159881c7589c/go.mod h1:U1UAbPhy6D7Qz0wHKGPoQO+dpR0hsYjgUz8xwRrmKwI= github.com/smartcontractkit/chainlink-common/pkg/workflows/sdk/v2/pb v0.0.0-20250806155403-1d805e639a0f h1:mnnlyMH5LgJRAzx/4mW2R+sbK1Acpfs3q0EokeAX5RI= diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index 612caa8e7b3..2514f751042 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -62,7 +62,7 @@ require ( github.com/rs/zerolog v1.35.1 github.com/smartcontractkit/chain-selectors v1.0.106 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 @@ -122,6 +122,7 @@ require ( github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 // indirect github.com/beevik/ntp v1.5.0 // indirect github.com/buraksezer/consistent v0.10.0 // indirect + github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 // indirect github.com/bytedance/gopkg v0.1.3 // indirect github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 // indirect github.com/clipperhouse/uax29/v2 v2.7.0 // indirect @@ -361,7 +362,6 @@ require ( github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce // indirect github.com/buger/goterm v1.0.4 // indirect github.com/buger/jsonparser v1.2.0 // indirect - github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 // indirect github.com/bytedance/sonic v1.15.0 // indirect github.com/bytedance/sonic/loader v0.5.0 // indirect github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.70.2 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index 6792c439f0d..99cea176278 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -337,8 +337,8 @@ github.com/buraksezer/consistent v0.10.0 h1:hqBgz1PvNLC5rkWcEBVAL9dFMBWz6I0VgUCW github.com/buraksezer/consistent v0.10.0/go.mod h1:6BrVajWq7wbKZlTOUPs/XVfR8c0maujuPowduSpZqmw= github.com/bxcodec/faker v2.0.1+incompatible h1:P0KUpUw5w6WJXwrPfv35oc91i4d8nf40Nwln+M/+faA= github.com/bxcodec/faker v2.0.1+incompatible/go.mod h1:BNzfpVdTwnFJ6GtfYTcQu6l6rHShT+veBxNCnjCx5XM= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0 h1:aBU8cexP2rPZ0Qz488kvn2NXvWZHL2aG1/+n7Iv+xGc= -github.com/bytecodealliance/wasmtime-go/v28 v28.0.0/go.mod h1:4OCU0xAW9ycwtX4nMF4zxwgJBJ5/0eMfJiHB0wAmkV4= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0 h1:PAe4o7Mq1VjSx81Dc+V4w1XvxLouFTB384N4ZT4o+7k= +github.com/bytecodealliance/wasmtime-go/v47 v47.0.0/go.mod h1:icJLhTDV7EyKlZpeuBuJl4yoTMqhjUvNv1mewMJUvr4= github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM= github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= @@ -1756,8 +1756,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260 github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6 h1:t5VUHVFEdcqa0/faJiHWusuW+egKpqK3YwWZO4/yJto= github.com/smartcontractkit/chainlink-ccv v0.1.1-0.20260716164331-d938b371c5d6/go.mod h1:0v6RGdYa9NezVnBPIAVyxB3A9furKWwaSkLha+URYGk= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc h1:ig6dWCmNfxwO5+kG4hYxdrBe5R4zn14JqjJ+88WMc1s= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260721154648-3e1c1fb5d8dc/go.mod h1:/QfRnLDkC9RHpg3op2YYq8lyuLozTTKmN2FTZNgpOqU= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034 h1:XCnmvCaSuOXKShpfcmyrHskHnXDzjACxI37WiEFdJDI= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260722120418-c1a1e0e75034/go.mod h1:DGvW2Opi/qcOWNkOq18xTI5ZqByoxfPTL9H5M1bC4Ls= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6 h1:DvfhsiIxB4JMuR+r1UciKV8jKiwhI/OZI/QhKawC4pM= github.com/smartcontractkit/chainlink-common/keystore v1.2.1-0.20260623104656-f39eba3e2bc6/go.mod h1:6NefaCIMH4zFBN3T+cvsFGYoy3oTSPKDaxPAyBzlYTU= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260716165322-7f2edff6e954 h1:QhTMiEn3s+AB4xBoScuQglsqHGJYxheYrgpxdIdqNAI= diff --git a/testdata/scripts/config/merge_raw_configs.txtar b/testdata/scripts/config/merge_raw_configs.txtar index 6a610f17968..3714476c9dd 100644 --- a/testdata/scripts/config/merge_raw_configs.txtar +++ b/testdata/scripts/config/merge_raw_configs.txtar @@ -497,6 +497,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/testdata/scripts/node/validate/default.txtar b/testdata/scripts/node/validate/default.txtar index d284cde9aba..2129039fd26 100644 --- a/testdata/scripts/node/validate/default.txtar +++ b/testdata/scripts/node/validate/default.txtar @@ -362,6 +362,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/testdata/scripts/node/validate/defaults-override.txtar b/testdata/scripts/node/validate/defaults-override.txtar index c61ea01da78..a2ee61f66d2 100644 --- a/testdata/scripts/node/validate/defaults-override.txtar +++ b/testdata/scripts/node/validate/defaults-override.txtar @@ -423,6 +423,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/testdata/scripts/node/validate/disk-based-logging-disabled.txtar b/testdata/scripts/node/validate/disk-based-logging-disabled.txtar index 0f435cbbeb7..059122a677d 100644 --- a/testdata/scripts/node/validate/disk-based-logging-disabled.txtar +++ b/testdata/scripts/node/validate/disk-based-logging-disabled.txtar @@ -406,6 +406,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar b/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar index 7e11aee746c..57c12bf7df8 100644 --- a/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar +++ b/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar @@ -406,6 +406,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/testdata/scripts/node/validate/disk-based-logging.txtar b/testdata/scripts/node/validate/disk-based-logging.txtar index 75b7d5cc6e3..380f90de77c 100644 --- a/testdata/scripts/node/validate/disk-based-logging.txtar +++ b/testdata/scripts/node/validate/disk-based-logging.txtar @@ -406,6 +406,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/testdata/scripts/node/validate/fallback-override.txtar b/testdata/scripts/node/validate/fallback-override.txtar index 14fd5bed43b..b01de8746f5 100644 --- a/testdata/scripts/node/validate/fallback-override.txtar +++ b/testdata/scripts/node/validate/fallback-override.txtar @@ -508,6 +508,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/testdata/scripts/node/validate/invalid-ocr-p2p.txtar b/testdata/scripts/node/validate/invalid-ocr-p2p.txtar index b14fba3c852..0703e2f2341 100644 --- a/testdata/scripts/node/validate/invalid-ocr-p2p.txtar +++ b/testdata/scripts/node/validate/invalid-ocr-p2p.txtar @@ -391,6 +391,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/testdata/scripts/node/validate/invalid.txtar b/testdata/scripts/node/validate/invalid.txtar index 6325319c4f0..87a04fd9f81 100644 --- a/testdata/scripts/node/validate/invalid.txtar +++ b/testdata/scripts/node/validate/invalid.txtar @@ -402,6 +402,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/testdata/scripts/node/validate/valid.txtar b/testdata/scripts/node/validate/valid.txtar index 4e9d2f69b4a..4b184a30eee 100644 --- a/testdata/scripts/node/validate/valid.txtar +++ b/testdata/scripts/node/validate/valid.txtar @@ -403,6 +403,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s' diff --git a/testdata/scripts/node/validate/warnings.txtar b/testdata/scripts/node/validate/warnings.txtar index fcc37ecfbff..a668666af86 100644 --- a/testdata/scripts/node/validate/warnings.txtar +++ b/testdata/scripts/node/validate/warnings.txtar @@ -385,6 +385,13 @@ AuthHeadersTTL = '0s' ChipIngressEndpoint = '' ChipIngressInsecureConnection = false ChipIngressBatchEmitterEnabled = true +ChipIngressBufferSize = 10000 +ChipIngressMaxBatchSize = 1000 +ChipIngressMaxConcurrentSends = 10 +ChipIngressSendInterval = '500ms' +ChipIngressSendTimeout = '10s' +ChipIngressDrainTimeout = '30s' +ChipIngressMaxGRPCRequestSize = 10485760 DurableEmitterEnabled = true DurableEmitterRetransmitBatchSize = 500 DurableEmitterEventTTL = '1h0m0s'