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]