amirmor1 commented on code in PR #17164:
URL: https://github.com/apache/iceberg/pull/17164#discussion_r3774057593


##########
core/src/main/java/org/apache/iceberg/TableMetadataParser.java:
##########
@@ -125,13 +126,37 @@ public static void write(TableMetadata metadata, 
OutputFile outputFile) {
 
   public static void internalWrite(
       TableMetadata metadata, OutputFile outputFile, boolean overwrite) {
+    writeMetadata(metadata, outputFile, overwrite);
+  }
+
+  public static long writeAndReturnLength(TableMetadata metadata, OutputFile 
outputFile) {
+    PositionOutputStream outputStream = writeMetadata(metadata, outputFile, 
false);
+    return metadataLength(outputStream, outputFile.location());
+  }
+
+  public static long overwriteAndReturnLength(TableMetadata metadata, 
OutputFile outputFile) {
+    PositionOutputStream outputStream = writeMetadata(metadata, outputFile, 
true);
+    return metadataLength(outputStream, outputFile.location());
+  }
+
+  private static long metadataLength(PositionOutputStream stream, String 
location) {
+    try {
+      return stream.storedLength();

Review Comment:
   I've reworked `writeMetadata` to return the length
   directly, with the close scoped in a nested try so the ordering is explicit 
and commented,
   and dropped the `metadataLength` helper. 



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to