Skip to content

file-service can crash on startup when MinIO/S3 is not yet reachable #5852

Description

@Ma77Ball

What happened?

On a fresh texera_start, FileService.run creates the dataset and large-binary buckets via S3StorageClient.createBucketIfNotExist(...) (FileService.scala:79, 81) with no retry. If MinIO/S3 has not finished starting, headBucket/createBucket throws an S3Exception and aborts file-service startup before it can serve requests. The sibling LakeFSStorageClient.healthCheck() was already hardened with retry/backoff in #5647, but the two bucket-creation calls were left unguarded.

How to reproduce?

  1. Start a fresh deployment where the object store (MinIO/S3) comes up slower than file-service, e.g. texera_start on a cold machine or slow container start.
  2. Observe file-service throw an S3Exception out of createBucketIfNotExist during startup and exit instead of waiting for the dependency.

Version/Branch

main, as of 2026-06-21.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions