Skip to content

Commit 3a1083a

Browse files
author
Mikhail Faraponov
committed
Check failures
1 parent 0605643 commit 3a1083a

File tree

2 files changed

+21
-17
lines changed

2 files changed

+21
-17
lines changed

diskqueue.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -814,23 +814,23 @@ func (d *diskQueue) retrieveMetaData() error {
814814
// in which case the safest thing to do is skip to the next file for
815815
// writes, and let the reader salvage what it can from the messages in the
816816
// diskqueue beyond the metadata's likely also stale readPos
817-
//fileName = d.fileName(d.writeFileNum)
818-
//fileInfo, err := os.Stat(fileName)
819-
//if err != nil {
820-
// return err
821-
//}
822-
//fileSize := fileInfo.Size()
823-
//if d.writePos < fileSize {
824-
// d.logf(WARN,
825-
// "DISKQUEUE(%s) %s metadata writePos %d < file size of %d, skipping to new file",
826-
// d.name, fileName, d.writePos, fileSize)
827-
// d.writeFileNum += 1
828-
// d.writePos = 0
829-
// if d.writeFile != nil {
830-
// d.writeFile.Close()
831-
// d.writeFile = nil
832-
// }
833-
//}
817+
fileName = d.fileName(d.writeFileNum)
818+
fileInfo, err := os.Stat(fileName)
819+
if err != nil {
820+
return err
821+
}
822+
fileSize := fileInfo.Size()
823+
if d.writePos < fileSize {
824+
d.logf(WARN,
825+
"DISKQUEUE(%s) %s metadata writePos %d < file size of %d, skipping to new file",
826+
d.name, fileName, d.writePos, fileSize)
827+
d.writeFileNum += 1
828+
d.writePos = 0
829+
if d.writeFile != nil {
830+
d.writeFile.Close()
831+
d.writeFile = nil
832+
}
833+
}
834834

835835
return nil
836836
}

diskqueue_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,8 +320,12 @@ func TestDiskQueueCorruption(t *testing.T) {
320320
os.Truncate(dqFn, 100)
321321

322322
dq.Put(msg) // in 5th file
323+
dq.Put(msg)
323324

324325
Equal(t, msg, <-dq.ReadChan())
326+
Equal(t, msg, <-dq.ReadChan())
327+
328+
time.Sleep(1 * time.Second)
325329

326330
badFilesCount = numberOfBadFiles(dqName, tmpDir)
327331
if badFilesCount != 2 {

0 commit comments

Comments
 (0)