Hashstore rollout commencing!

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 :slight_smile:

3 Likes