RussellSpitzer commented on a change in pull request #2402:
URL: https://github.com/apache/iceberg/pull/2402#discussion_r605860585
##########
File path:
aws/src/main/java/org/apache/iceberg/aws/glue/GlueTableOperations.java
##########
@@ -103,14 +105,30 @@ protected void doRefresh() {
@Override
protected void doCommit(TableMetadata base, TableMetadata metadata) {
String newMetadataLocation = writeNewMetadata(metadata, currentVersion() +
1);
- boolean exceptionThrown = true;
+ CommitStatus commitStatus = CommitStatus.FAILURE;
+
try {
lock(newMetadataLocation);
Table glueTable = getGlueTable();
checkMetadataLocation(glueTable, base);
Map<String, String> properties = prepareProperties(glueTable,
newMetadataLocation);
- persistGlueTable(glueTable, properties);
- exceptionThrown = false;
+
+ try {
+ persistGlueTable(glueTable, properties);
+ commitStatus = CommitStatus.SUCCESS;
+ } catch (Throwable persistFailure) {
Review comment:
I think it is less important now that we start out with the commit state
set to unknown, but in the original design we basically started out assuming
that the commit had succeeded and switched a flag to indicate that it had
failed. We can probably have this just be runtime exception now since now the
logic is basically for deciding when to retry.
--
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]