Skip to content

Improve error logs in Score server and score client on Upload failures #499

@leoraba

Description

@leoraba

Description

Improve error logging for Upload failures (missing S3 error details)

When an upload error occurs, the application’s logs (both server and client) do not include enough information to understand the cause of the failure.

Currently, the log messages do not display the error message or details returned by S3, making it difficult to identify the root cause and troubleshoot issues effectively.

Enhancing the log messages to include the full error response from S3 will improve troubleshooting on upload related failures.

Current behaviour:

  • When an upload fails (e.g., due to insufficient storage space), the logs only show a generic failure message without any detailed S3 error context.
2025-10-30 13:44:10,635 [pool-1-thread-6] INFO  b.o.s.c.t.MemoryMappedParallelPartObjectTransport - Sending remaining part Part(partNumber=19, partSiz
e=1073741824, offset=19327352832, url=<REDACTED>, md5=null, sourceMd5=null)
.
.
.
2025-10-30 13:44:10,713 [pool-1-thread-6] WARN  b.o.s.c.s.ScoreStorageService - Failed to send part for part #19 : {}
org.springframework.web.client.ResourceAccessException: I/O error on PUT request for "https://******/submission-file-transfer-dev
/data/5fd711e8-2136-5aa2-aadd-4b9de585bed0": Error writing request body to server; nested exception is java.io.IOException: Error writing request body
 to server
.
.
.
2025-10-30 13:44:31,209 [pool-1-thread-6] WARN  b.o.s.c.e.AmazonS3RetryableResponseErrorHandler - FORBIDDEN response code received
2025-10-30 13:44:31,210 [pool-1-thread-6] ERROR b.o.s.c.s.ScoreStorageService - Could not proceed. Failed to send part for part number: 19
bio.overture.score.client.exception.NotRetryableException: java.io.IOException: Access refused by object store. Confirm client is part of repository c
loud and that the download was initiated less than 1 day earlier (7 days for uploads)

Expected:

To include a more detailed information such as the S3 error message or error code (e.g., EntityTooLarge, AccessGrantsQuotaExceededError , etc.) based on code error list:
https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions