From 1e3f16ca0295d45ba7b3c87abc3fe42c1a045778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauri=20V=C3=B5sandi?= Date: Mon, 7 Nov 2022 16:45:10 +0200 Subject: [PATCH] Fix another file handle seeking cornercase --- log_shipper.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/log_shipper.py b/log_shipper.py index 04ef899..5a23fde 100755 --- a/log_shipper.py +++ b/log_shipper.py @@ -258,7 +258,6 @@ class LogFile(object): self.loop.create_task(self.handler_loop()) def poke(self): - self.tail = self.fh.seek(0, os.SEEK_END) self.more_content.set() def close(self): @@ -291,9 +290,12 @@ class LogFile(object): break await self.more_content.wait() self.more_content.clear() + self.tail = self.fh.seek(0, os.SEEK_END) + assert self.head < self.tail self.fh.seek(self.head) buf = self.fh.readline() + self.head += len(buf) try: reason = "unicode-encoding" @@ -314,7 +316,7 @@ class LogFile(object): break histogram_line_size.observe(len(buf)) - self.head += len(buf) + record_size += len(buf) if record_size < args.max_record_size: