@@ -41,6 +41,7 @@ const (
4141 defaultNumWorkers = 1
4242 defaultBufferSize = 500
4343 defaultFetchBatchSize = 500
44+ defaultMaxAckPending = 1000
4445)
4546
4647type deliverPolicy string
@@ -113,6 +114,7 @@ type config struct {
113114 NumWorkers int `mapstructure:"num-workers,omitempty"`
114115 BufferSize int `mapstructure:"buffer-size,omitempty"`
115116 FetchBatchSize int `mapstructure:"fetch-batch-size,omitempty"`
117+ MaxAckPending * int `mapstructure:"max-ack-pending,omitempty"`
116118 Outputs []string `mapstructure:"outputs,omitempty"`
117119 EventProcessors []string `mapstructure:"event-processors,omitempty"`
118120}
@@ -195,6 +197,7 @@ func (n *jetstreamInput) workerStart(ctx context.Context) error {
195197 AckPolicy : jetstream .AckAllPolicy ,
196198 MemoryStorage : true ,
197199 FilterSubjects : n .Cfg .Subjects ,
200+ MaxAckPending : * n .Cfg .MaxAckPending ,
198201 })
199202 if err != nil {
200203 return fmt .Errorf ("failed to create consumer: %v" , err )
@@ -375,6 +378,10 @@ func (n *jetstreamInput) setDefaults() error {
375378 if n .Cfg .FetchBatchSize <= 0 {
376379 n .Cfg .FetchBatchSize = defaultFetchBatchSize
377380 }
381+ if n .Cfg .MaxAckPending == nil || * n .Cfg .MaxAckPending <= - 2 {
382+ v := defaultMaxAckPending
383+ n .Cfg .MaxAckPending = & v
384+ }
378385 return nil
379386}
380387
0 commit comments