Open mark-major opened 16 hours ago
Hey @mark-major thanks for jumping in here. I see that we only added retries to the REST catalog so far. Having this for the Glue catalog would be a great addition 👍
I'm happy to work on this if I have some time.
That would be great, happy to review! 🙌
we use boto3 to create the glue client
looks like it has some built-in retry mechanism https://boto3.amazonaws.com/v1/documentation/api/latest/guide/retries.html#configuring-a-retry-mode
Feature Request / Improvement
I have experienced throttling exceptions when multiple nodes are reading and writing an Iceberg table with a Glue catalog. I have wrapped my library calls in a retry wrapper, but this functionality should be implemented in the library instead.
I would add an option to the Glue catalog constructor to define the maximum number of retries and set the boto retry policy to standard instead of the default legacy. Standard is adding jitter to the retry interval which would ensure independent processes won't block each other (Thundering herd problem)