ENG-08: Ressourcenlimits & Rate-Limiting für Drittsystem-Sync-Jobs #220

Merged
patrick merged 1 commits from feature/eng-08-ressourcenlimits-rate-limiting-f-r-drittsystem-sync-jobs into main 2026-09-27 10:03:35 +02:00
Owner

Zusammenfassung

  • Harte, konfigurierbare Obergrenzen je Sync-Run (Laufzeit, Datenmenge) über connect/internal/syncjob.RunWithLimits; eine Grenzverletzung ist Permanent und beendet den Run terminal statt endlos zu retryen.
  • Neues Paket connect/internal/thirdpartyrate: Token-Bucket-Ratenbegrenzer je Connector-Instanz plus http.RoundTripper zum transparenten Einhängen in ausgehende Connector-Clients.
  • ENG-05s Retry-Abbruchgrenze (RetryPolicy.MaxAttempts) unverändert, real erneut geprüft.

Prüfungen (siehe connect/docs/ENG-08-PRUEFPROTOKOLL.md)

  1. Laufzeit-/Datenmengenobergrenze überschritten -> kontrollierter Abbruch: bestanden (TestRunWithLimits_MaxDurationExceeded_AbortsControlled, TestRunWithLimits_MaxBytesExceeded_AbortsControlled)
  2. Retry-Abbruchgrenze aus ENG-05 wird durchgesetzt: bestanden (TestCompleteRunWithRetry_MaxAttemptsReachedEndsTerminally, neu: TestCompleteRunWithRetry_LimitExceededEndsTerminallyRegardlessOfAttemptsLeft)
  3. Lasttest Isolation zwischen Connectoren: bestanden (TestWait_MisbehavingConnectorDoesNotBlockOtherConnector: 500 Anfragen eines unabhängigen Connectors in <1s trotz parallel endlos rennendem, eng limitiertem "böswilligem" Connector)

Build/vet/gofmt sauber, gesamtes Modul (go test ./...) grün auf Host 192.168.1.204.

Kein Merge, kein Deploy.

🤖 Generated with Claude Code

## Zusammenfassung - Harte, konfigurierbare Obergrenzen je Sync-Run (Laufzeit, Datenmenge) über `connect/internal/syncjob.RunWithLimits`; eine Grenzverletzung ist `Permanent` und beendet den Run terminal statt endlos zu retryen. - Neues Paket `connect/internal/thirdpartyrate`: Token-Bucket-Ratenbegrenzer je Connector-Instanz plus `http.RoundTripper` zum transparenten Einhängen in ausgehende Connector-Clients. - ENG-05s Retry-Abbruchgrenze (`RetryPolicy.MaxAttempts`) unverändert, real erneut geprüft. ## Prüfungen (siehe connect/docs/ENG-08-PRUEFPROTOKOLL.md) 1. Laufzeit-/Datenmengenobergrenze überschritten -> kontrollierter Abbruch: **bestanden** (TestRunWithLimits_MaxDurationExceeded_AbortsControlled, TestRunWithLimits_MaxBytesExceeded_AbortsControlled) 2. Retry-Abbruchgrenze aus ENG-05 wird durchgesetzt: **bestanden** (TestCompleteRunWithRetry_MaxAttemptsReachedEndsTerminally, neu: TestCompleteRunWithRetry_LimitExceededEndsTerminallyRegardlessOfAttemptsLeft) 3. Lasttest Isolation zwischen Connectoren: **bestanden** (TestWait_MisbehavingConnectorDoesNotBlockOtherConnector: 500 Anfragen eines unabhängigen Connectors in <1s trotz parallel endlos rennendem, eng limitiertem "böswilligem" Connector) Build/vet/gofmt sauber, gesamtes Modul (`go test ./...`) grün auf Host 192.168.1.204. Kein Merge, kein Deploy. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 1 commit 2026-09-27 09:30:43 +02:00
ENG-08: ressourcenlimits-rate-limiting-f-r-drittsystem-sync-jobs
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
53d02bd4cf
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
patrick merged commit 0530b21da3 into main 2026-09-27 10:03:35 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#220