Skip to content

Commit 8be7ed8

Browse files
authored
Merge pull request #1192 from shangmin-001/shangmin03
logkit tailx采集rotate日志丢数据
2 parents 8c7706e + d4c2ebb commit 8be7ed8

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

mgr/dataflow_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,7 @@ func Test_RawData_MultiLines(t *testing.T) {
679679
assert.Nil(t, err)
680680
assert.Equal(t, []string{"abc\n", "abc\n"}, actual)
681681

682-
readConfig[readerconf.KeyRawDataTimeout] = "40"
682+
readConfig[readerconf.KeyRawDataTimeout] = "60"
683683
os.RemoveAll(fileName)
684684
createRawDataFile(fileName, "abc\n")
685685
actual, err = RawData(readConfig)

reader/singlefile/singlefile.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,16 @@ func (sf *SingleFile) Reopen() (err error) {
274274
if newInode == oldInode {
275275
return
276276
}
277+
278+
endOffset, err := sf.f.Seek(0, io.SeekEnd)
279+
if err != nil {
280+
log.Errorf("Runner[%v] get file end offset , error: %v", sf.meta.RunnerName, err)
281+
} else if endOffset > sf.offset {
282+
if _, err = sf.f.Seek(sf.offset, io.SeekStart); err == nil {
283+
return
284+
}
285+
log.Errorf("Runner[%v] set current offset , error: %v", sf.meta.RunnerName, err)
286+
}
277287
sf.f.Close()
278288
sf.f = nil
279289
detectStr := sf.detectMovedName(oldInode)

0 commit comments

Comments
 (0)