There are some additional debugging tools available. GitHub - elek/stbb
stbb hashstore --help
Usage: stbb hashstore <command>
commands related to the new hashtable based store
Flags:
-h, --help Show context-sensitive help.
Commands:
hashstore convert
import data to the hashtable
hashstore list <path>
list content of a hashtable
hashstore stat <path>
list content of a hashtable stat
hashstore compact
compact a hashtable store
hashstore report <path>
show additional reports on a hashtable store
hashstore logs <path> <logs>
show current log file load
hashstore ttl-report <path>
print out ttl expiration per file
hashstore recover
recover hashtable (metadata) from a hashstore log files
hashstore restore-time
get/set restore time for a satellite
hashstore get <path> <id>
get a record from a hashtable
hashstore diff <left> <right>
diff two hashstore
hashstore audit
audit a hashstore: check if pieces are included
hashstore log-read <piece>
find record in hashstore log files without using metadata
Edit: I haven’t used them all. Here are some commands from my bash history that might be usefull:
find ./ -name “log*” -exec /mnt/sn1/binaries/stbb hashstore logs /mnt/sn1/storagenode1/storagenode/storage/hashstore/121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6/s0/meta/ {} >> debug.txt ;
The resultfile will contain informations about the used space, dead space and ttl timestamps of each log file.
Here is another one:
/mnt/sn1/binaries/stbb hashstore list /mnt/sn1/storagenode1/storagenode/storage/hashstore/121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6/s0/meta
This will log all the pieceIDs. It takes a long time to run. Last time I canceled that command. I am planning to run it on a smaller test node. It looks very usefull to track down piece not found errors. I believe it does scan even the dead pieces in the log files. If it finds one we would know it was there but got deleted for some reason. That would be a bug. One item on my todo list. You are welcome to help debugging it ![]()