From 0ec7bc6710350dec395b33ba44589ee1875586c0 Mon Sep 17 00:00:00 2001
From: chrislu <chris.lu@gmail.com>
Date: Wed, 22 Dec 2021 16:05:38 -0800
Subject: [PATCH] detect non streaming mode on the first read

---
 weed/filer/reader_pattern.go | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/weed/filer/reader_pattern.go b/weed/filer/reader_pattern.go
index 2bf18d141..5e6ea7348 100644
--- a/weed/filer/reader_pattern.go
+++ b/weed/filer/reader_pattern.go
@@ -11,7 +11,7 @@ type ReaderPattern struct {
 func NewReaderPattern() *ReaderPattern {
 	return &ReaderPattern{
 		isStreaming:    true,
-		lastReadOffset: 0,
+		lastReadOffset: -1,
 	}
 }
 
@@ -19,6 +19,11 @@ func (rp *ReaderPattern) MonitorReadAt(offset int64, size int) {
 	if rp.lastReadOffset > offset {
 		rp.isStreaming = false
 	}
+	if rp.lastReadOffset == -1 {
+		if offset != 0 {
+			rp.isStreaming = false
+		}
+	}
 	rp.lastReadOffset = offset
 }