ookumuso commented on code in PR #11052:
URL: https://github.com/apache/iceberg/pull/11052#discussion_r1764233622


##########
aws/src/main/java/org/apache/iceberg/aws/s3/S3FileIOProperties.java:
##########
@@ -393,6 +403,21 @@ public class S3FileIOProperties implements Serializable {
    */
   private static final String S3_FILE_IO_USER_AGENT = "s3fileio/" + 
EnvironmentContext.get();
 
+  /** Number of times to retry S3 operations. */
+  public static final String S3_RETRY_NUM_RETRIES = "s3.retry.num-retries";
+
+  public static final int S3_RETRY_NUM_RETRIES_DEFAULT = 32;

Review Comment:
   @amogh-jahagirdar Main consideration here is to give S3 enough time to 
auto-scale particularly for workloads which observe 503s when they go beyond S3 
advertised limits. What we observed in our load tests that high concurrent 
workloads exhaust the default retries(3) and fail almost immediately. How fast 
these retries exhausted will depend on the concurrency level. Retry count makes 
the main difference here since the overall application becomes more resistant 
to 503s which leads to success and better tps scaling for upcoming workloads 
with auto-scaling.
   
   I would say in average case particularly workloads running below advertised 
limits, customers will not see a change in behavior since default retries 
wouldn't be exhausted for those anyway but as we see more adoption to Iceberg 
with bigger workloads running; exhausting retries on throttles becomes an 
issue. One downside would be that if there is a more systemic error in 
communications with S3, workloads will take longer time to fail, up to 10 
minutes but I would argue that those will be more on the rare side compared to 
the value it brings for eventually succeeding workloads.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to