File tree 2 files changed +21
-17
lines changed
2 files changed +21
-17
lines changed Original file line number Diff line number Diff line change @@ -814,23 +814,23 @@ func (d *diskQueue) retrieveMetaData() error {
814
814
// in which case the safest thing to do is skip to the next file for
815
815
// writes, and let the reader salvage what it can from the messages in the
816
816
// 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
+ }
834
834
835
835
return nil
836
836
}
Original file line number Diff line number Diff line change @@ -320,8 +320,12 @@ func TestDiskQueueCorruption(t *testing.T) {
320
320
os .Truncate (dqFn , 100 )
321
321
322
322
dq .Put (msg ) // in 5th file
323
+ dq .Put (msg )
323
324
324
325
Equal (t , msg , <- dq .ReadChan ())
326
+ Equal (t , msg , <- dq .ReadChan ())
327
+
328
+ time .Sleep (1 * time .Second )
325
329
326
330
badFilesCount = numberOfBadFiles (dqName , tmpDir )
327
331
if badFilesCount != 2 {
You can’t perform that action at this time.
0 commit comments