-
Notifications
You must be signed in to change notification settings - Fork 757
Closed
Labels
Description
New feature
If a run tries to publish a file to a blob storage location outside the available credential's permissions, the error messages could be more helpful in suggesting ways to remedy the problem.
To aid debugging, the user might appreciate:
- A message indicating that the failure was generated during the publication event and not in the task itself.
- The nameof the file being published.
- The intended destination of the file.
Usage scenario
A common occurrence is that the user either mis-types the publishDir destination, or the credential's permissions are changed by another user in their organization, leading to an Access Denied error (on S3, for example).
In this case, the information report by v23.10.0 is:
A message on stdout indicating an error in task execution:
ERROR ~ Error executing process > 'TallyCounts (2)'
Caused by:
Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: AJZ68N5VPHFWD188; S3 Extended Request ID: DiJI9FUJAMk4yc+uQD4gJ+sL5Xpsjgkt+WLdQirvijSWtS+45JdZ6DG0hrcq/IvYFDUAXJe6GDRoALVKpS2LTw==; Proxy: null)
... and a trace route in .nextflow.log:
com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: GSS3SPV2YBYYFTG2; S3 Extended Request ID: ZyONh4JW3ZiI3HSMMVgTN9V9IJFrB7x0VHivCviOsb+QW6YZDpCoetL7SH5oq4FXsrsVZgjHvV0M+SEu37s7vw==; Proxy: null)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1879)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1418)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1387)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1157)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:814)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:781)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:755)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:715)
at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:697)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:561)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:541)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5456)
...Suggest implementation
No suggested implementation at this time (apologies)!