tisonkun commented on code in PR #2024: URL: https://github.com/apache/zookeeper/pull/2024#discussion_r1256922951
########## zookeeper-server/src/main/java/org/apache/zookeeper/server/persistence/FileTxnLog.java: ########## @@ -289,22 +297,25 @@ public synchronized boolean append(TxnHeader hdr, Record txn, TxnDigest digest) logStream = new BufferedOutputStream(fos); oa = BinaryOutputArchive.getArchive(logStream); FileHeader fhdr = new FileHeader(TXNLOG_MAGIC, VERSION, dbId); + long dataSize = oa.getDataSize(); fhdr.serialize(oa, "fileheader"); // Make sure that the magic number is written before padding. logStream.flush(); - filePadding.setCurrentSize(fos.getChannel().position()); + filePosition += oa.getDataSize() - dataSize; Review Comment: Can you describe a bit how this calculation is correct? ########## zookeeper-server/src/main/java/org/apache/zookeeper/server/persistence/FileTxnLog.java: ########## @@ -289,22 +297,25 @@ public synchronized boolean append(TxnHeader hdr, Record txn, TxnDigest digest) logStream = new BufferedOutputStream(fos); oa = BinaryOutputArchive.getArchive(logStream); FileHeader fhdr = new FileHeader(TXNLOG_MAGIC, VERSION, dbId); + long dataSize = oa.getDataSize(); fhdr.serialize(oa, "fileheader"); // Make sure that the magic number is written before padding. logStream.flush(); - filePadding.setCurrentSize(fos.getChannel().position()); + filePosition += oa.getDataSize() - dataSize; + filePadding.setCurrentSize(filePosition); streamsToFlush.add(fos); } - filePadding.padFile(fos.getChannel()); + fileSize = filePadding.padFile(fos.getChannel(), filePosition); byte[] buf = Util.marshallTxnEntry(hdr, txn, digest); if (buf == null || buf.length == 0) { throw new IOException("Faulty serialization for header " + "and txn"); } + long dataSize = oa.getDataSize(); Checksum crc = makeChecksumAlgorithm(); crc.update(buf, 0, buf.length); oa.writeLong(crc.getValue(), "txnEntryCRC"); Util.writeTxnBytes(oa, buf); - + unFlushedSize += oa.getDataSize() - dataSize; Review Comment: Can you describe a bit how this calculation is correct? -- 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: notifications-unsubscr...@zookeeper.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org