stacks-network / stacks-blockchain-docker

Stacks-blockchain with API using docker compose
GNU General Public License v3.0
27 stars 37 forks source link

seed-chainstate improvments #111

Open wileyj opened 1 year ago

wileyj commented 1 year ago

from conversation:

ideally it would download, check everything and then stop the containers and replace file

would require some checks to happen when starting (are the services running?) how to manage the postgres/chainstate data if we leave the services running?

disk space requirements would essentially be doubled plus a little extra for the compressed files.

it's worth looking into, maybe a flag or something?

wileyj commented 1 year ago

one more caveat to consider - CPU/disk IO. when version 7 of the API, the cpu/io requirements are quite a bit higher than in the past.

restoring from an archive is very IO intense. maybe a check to see how many cpu's and what the diskops are at currently before even attempting to restore while services are running

pseudozach commented 1 year ago

from conversation:

ideally it would download, check everything and then stop the containers and replace file

would require some checks to happen when starting (are the services running?) how to manage the postgres/chainstate data if we leave the services running?

disk space requirements would essentially be doubled plus a little extra for the compressed files.

it's worth looking into, maybe a flag or something?

agree this would only be safe if there's plenty of disk space plus some extra room. but it would be useful for minimizing downtime.

an alternative would be a download-only option where the seed-chainstate script would download everything and uncompress but does not replace the persistent-data folder. it would just exit with a sample command like:

seed archive download completed. if you want to migrate to downloaded archive:

  • stop the services
  • rm -rf ./persistent-data
  • mv persistent-data-xxx persistent-data
  • check to ensure file permissions are correct
  • start the services.

or maybe there can be another command to do all of these with a downloaded archive...

just some ideas..

stale[bot] commented 4 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.