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


##########
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:
   This might be called on a closed stream since `writeMetadata` closes the 
`PositionOutputStream` via
      try-with-resources and then returns it.



-- 
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