@@ -129,25 +129,28 @@ func needsIncrementalIndexing(log *nginx_log.NginxLogWithIndex, persistence logI
129129 // Fallback: use aggregated data cautiously by clamping the stored size so grouped entries
130130 // do not trigger false positives when rotation files are aggregated together.
131131 lastModified := time .Unix (log .LastModified , 0 )
132- lastSize := log .LastSize
133- if lastSize == 0 || lastSize > fileSize {
134- lastSize = fileSize
132+ rawLastSize := log .LastSize
133+ clampedLastSize := rawLastSize
134+ if clampedLastSize == 0 {
135+ clampedLastSize = fileSize
136+ } else if clampedLastSize > fileSize {
137+ clampedLastSize = fileSize
135138 }
136139
137140 // If the file was never indexed, queue it once.
138141 if log .LastIndexed == 0 {
139142 return true
140143 }
141144
142- if fileModTime .After (lastModified ) && fileSize > lastSize {
145+ if fileModTime .After (lastModified ) && fileSize > clampedLastSize {
143146 logger .Debugf ("File %s needs incremental indexing (fallback path): mod_time=%s, size=%d" ,
144147 log .Path , fileModTime .Format ("2006-01-02 15:04:05" ), fileSize )
145148 return true
146149 }
147150
148- if fileSize < lastSize {
149- logger .Debugf ("File %s needs full re-indexing (fallback path) due to size decrease: old_size=%d, new_size=%d" ,
150- log .Path , lastSize , fileSize )
151+ if fileSize < clampedLastSize {
152+ logger .Debugf ("File %s needs full re-indexing (fallback path) due to size decrease: old_size=%d (raw=%d) , new_size=%d" ,
153+ log .Path , clampedLastSize , rawLastSize , fileSize )
151154 return true
152155 }
153156
0 commit comments