diff --git a/_local/eventingester/config.yaml b/_local/eventingester/config.yaml index 22eb2f0b2ab..4b47abd7073 100644 --- a/_local/eventingester/config.yaml +++ b/_local/eventingester/config.yaml @@ -7,6 +7,12 @@ pulsar: URL: "pulsar://localhost:6650" restURL: "http://localhost:8090" jobsetEventsTopic: "events" + backoffTime: 1s + maxBackoffTime: 5s + backoffRandomizationFactor: 0.5 + backoffMultiplier: 1.5 + deadLetterTopic: events-dead-letter + deadLetterMaxAttempts: 5 subscriptionName: "events-ingester" metricsPort: 9004 observability: diff --git a/_local/lookoutingester/config.yaml b/_local/lookoutingester/config.yaml index fffb575434d..87ab6378ace 100644 --- a/_local/lookoutingester/config.yaml +++ b/_local/lookoutingester/config.yaml @@ -18,3 +18,9 @@ postgres: pulsar: URL: "pulsar://localhost:6650" restURL: "http://localhost:8090" + backoffTime: 1s + maxBackoffTime: 5s + backoffRandomizationFactor: 0.5 + backoffMultiplier: 1.5 + deadLetterTopic: events-dead-letter + deadLetterMaxAttempts: 5 diff --git a/_local/scheduleringester/config.yaml b/_local/scheduleringester/config.yaml index 0e15f53981c..f3c28ee2cfa 100644 --- a/_local/scheduleringester/config.yaml +++ b/_local/scheduleringester/config.yaml @@ -18,3 +18,9 @@ postgres: pulsar: URL: "pulsar://localhost:6650" restURL: "http://localhost:8090" + backoffTime: 1s + maxBackoffTime: 5s + backoffRandomizationFactor: 0.5 + backoffMultiplier: 1.5 + deadLetterTopic: scheduler-events-dead-letter + deadLetterMaxAttempts: 5 diff --git a/config/eventingester/config.yaml b/config/eventingester/config.yaml index db82db2e273..b343984b228 100644 --- a/config/eventingester/config.yaml +++ b/config/eventingester/config.yaml @@ -9,7 +9,12 @@ pulsar: restURL: "http://localhost:8090" jobsetEventsTopic: events backoffTime: 1s + maxBackoffTime: 30s + backoffRandomizationFactor: 0.5 + backoffMultiplier: 1.5 receiverQueueSize: 100 + deadLetterTopic: events-dead-letter + deadLetterMaxAttempts: 5 delayMonitor: enabled: false interval: 30s diff --git a/config/lookoutingester/config.yaml b/config/lookoutingester/config.yaml index a96ec78425f..814956d19be 100644 --- a/config/lookoutingester/config.yaml +++ b/config/lookoutingester/config.yaml @@ -12,7 +12,12 @@ pulsar: restURL: "http://localhost:8090" jobsetEventsTopic: "events" backoffTime: 1s + maxBackoffTime: 30s + backoffRandomizationFactor: 0.5 + backoffMultiplier: 1.5 receiverQueueSize: 100 + deadLetterTopic: events-dead-letter + deadLetterMaxAttempts: 5 delayMonitor: enabled: false interval: 30s @@ -21,4 +26,3 @@ batchSize: 10000 batchDuration: 500ms minJobSpecCompressionSize: 1024 userAnnotationPrefix: "armadaproject.io/" -maxBackoff: 60 diff --git a/config/scheduleringester/config.yaml b/config/scheduleringester/config.yaml index 43604d2fbfb..4137b624c65 100644 --- a/config/scheduleringester/config.yaml +++ b/config/scheduleringester/config.yaml @@ -14,7 +14,12 @@ pulsar: jobsetEventsTopic: "events" controlPlaneEventsTopic: "control-plane" backoffTime: 1s + maxBackoffTime: 30s + backoffRandomizationFactor: 0.5 + backoffMultiplier: 1.5 receiverQueueSize: 100 + deadLetterTopic: scheduler-events-dead-letter + deadLetterMaxAttempts: 5 delayMonitor: enabled: false interval: 30s diff --git a/internal/eventingester/configuration/validation.go b/internal/eventingester/configuration/validation.go index 03940bb2251..44eca51850a 100644 --- a/internal/eventingester/configuration/validation.go +++ b/internal/eventingester/configuration/validation.go @@ -1,6 +1,8 @@ package configuration import ( + "errors" + "github.com/go-playground/validator/v10" commonconfig "github.com/armadaproject/armada/internal/common/config" @@ -8,7 +10,7 @@ import ( func (c EventIngesterConfiguration) Validate() error { validate := validator.New() - return validate.Struct(c) + return errors.Join(validate.Struct(c), c.Pulsar.Validate()) } func (c *EventIngesterConfiguration) Mutate() (commonconfig.Config, error) { diff --git a/internal/lookoutingester/configuration/validation.go b/internal/lookoutingester/configuration/validation.go index 288be88ebe4..81f4b9b8e4a 100644 --- a/internal/lookoutingester/configuration/validation.go +++ b/internal/lookoutingester/configuration/validation.go @@ -1,6 +1,8 @@ package configuration import ( + "errors" + "github.com/go-playground/validator/v10" commonconfig "github.com/armadaproject/armada/internal/common/config" @@ -8,7 +10,7 @@ import ( func (c LookoutIngesterConfiguration) Validate() error { validate := validator.New() - return validate.Struct(c) + return errors.Join(validate.Struct(c), c.Pulsar.Validate()) } func (c *LookoutIngesterConfiguration) Mutate() (commonconfig.Config, error) { diff --git a/internal/scheduleringester/config.go b/internal/scheduleringester/config.go index 486afe7c43c..c992185d664 100644 --- a/internal/scheduleringester/config.go +++ b/internal/scheduleringester/config.go @@ -1,6 +1,7 @@ package scheduleringester import ( + "errors" "time" "github.com/go-playground/validator/v10" @@ -37,5 +38,5 @@ func (c *Configuration) Mutate() (commonconfig.Config, error) { func (c Configuration) Validate() error { validate := validator.New() - return validate.Struct(c) + return errors.Join(validate.Struct(c), c.Pulsar.Validate()) }