Anwendungen resilenter gestalten
Nicht für Digizeit relevant aber für die Nachnutzung:
Derzeit gibt es in einigen Situationen Segfaults:
- Wenn die Konfiguration fehlerhaft oder unvollständig ist:
collector_1 | time="2021-05-20T09:59:29Z" level=info msg="INFO S3 http://s3.fs.example.com response with status code 403"
collector_1 | time="2021-05-20T09:59:29Z" level=info msg="Request successful, S3 service ready"
collector_1 | INFO[2021-05-20T09:59:29Z]/go/src/api/collector.go:301 main.main() Collector Service starts processing...
collector_1 | ERRO[2021-05-20T09:59:29Z]/go/src/api/collector.go:507 main.listMetsInBucketV2() failed to list objects for bucket dzeit, due to NoSuchBucket: The specified bucket does not exist
collector_1 | status code: 404, request id: 1680BDFF489682E0, host id:
collector_1 | panic: runtime error: invalid memory address or nil pointer dereference
collector_1 | [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x922f49]
collector_1 |
collector_1 | goroutine 1 [running]:
collector_1 | main.listMetsInBucketV2(0xc0002bc8b0, 0x5)
collector_1 | /go/src/api/collector.go:550 +0x6a9
collector_1 | main.main()
collector_1 | /go/src/api/collector.go:323 +0x413
- (Vermutlich) wenn ein Komponente (wie hier) Storage weg bricht (auch nur kurzzeitig).
Das erfordert bisher einen Neustart - das ist suboptimal und sollte geändert werden.