diff --git a/helm/hindsight/values.yaml b/helm/hindsight/values.yaml index 2ad8ec1f0..2067906a9 100644 --- a/helm/hindsight/values.yaml +++ b/helm/hindsight/values.yaml @@ -46,6 +46,9 @@ api: timeoutSeconds: 5 failureThreshold: 3 + # readinessProbe hits /health (checks DB connectivity) rather than /version: + # unlike liveness, readiness must detect a DB outage so k8s pulls the pod + # from rotation instead of routing traffic to a pod that can't serve it. readinessProbe: httpGet: path: /health @@ -147,6 +150,9 @@ worker: timeoutSeconds: 5 failureThreshold: 3 + # readinessProbe hits /health (checks DB connectivity) rather than /metrics: + # unlike liveness, readiness must detect a DB outage so k8s pulls the pod + # from rotation instead of routing traffic to a pod that can't serve it. readinessProbe: httpGet: path: /health @@ -163,9 +169,14 @@ worker: # Number of tasks to claim per poll cycle HINDSIGHT_API_WORKER_BATCH_SIZE: "1" # Bound per-worker task and DB write concurrency for the default embedded DB. - # Keep one shared slot available for reservation-less task types like retain. - HINDSIGHT_API_WORKER_MAX_SLOTS: "2" + # consolidation and retain each get a reserved slot; the remaining slot is + # shared by reservation-less task types (file_convert_retain, + # refresh_mental_model, graph_maintenance, import_documents). Keep + # MAX_SLOTS one greater than the sum of reservations below or the shared + # pool collapses to zero and those task types silently stop running. + HINDSIGHT_API_WORKER_MAX_SLOTS: "3" HINDSIGHT_API_WORKER_CONSOLIDATION_MAX_SLOTS: "1" + HINDSIGHT_API_WORKER_RETAIN_MAX_SLOTS: "1" HINDSIGHT_API_RETAIN_MAX_CONCURRENT: "1" # Max retries before marking a task as failed HINDSIGHT_API_WORKER_MAX_RETRIES: "3"