Closed fako1024 closed 6 months ago
Easy as pie: We break the initial loop if the column is broken, but we still continue :weary:
// Read the blocks from their files
for _, colIdx := range w.query.columnIndices {
// Read the block from the file
if blocks[colIdx], err = workDir.ReadBlockAtIndex(colIdx, b); err != nil {
blockBroken = true
logger.With("day", workDir, "block", block.Timestamp, "column", types.ColumnFileNames[colIdx]).Warnf("Failed to read column: %s", err)
break
}
}
// We happily continue...
If a error is encountered during block parsing:
it seems that processing still continues and attempts to decompress the (corrupted) bitpacked data, which in turn leads to a panic (addressed in https://github.com/fako1024/gotools/issues/1):
Regardless of the upstream issue in
bitpack
theDBWorkManager.go
shouldn't even continue if such error is encountered.DoD
day="&{gpFiles:[0xc0001cf760 ...
is not helpful)