Project: BigchainDB (App Definition and Development / Database)
File: troubleshooting.md

Check the BigchainDB, Tendermint and MongoDB logs. For help with that, see the page about . Try Googling the error message. . Store the Tendermint data on a fast drive. You can do that by changing to be on the fast drive. See the . To check which nodes your node is connected to (via Tendermint protocols), do: ```text sudo apt install jq curl -s localhost:26657/netinfo | jq ".result.peers[].nodeinfo | {id, listen_addr, moniker}" ``` Note: Tendermint has other endpoints besides `/net_info`: see . If you're running your network inside a , e.g. with IP addresses of the form 192.168.x.y, then you may have to change the following setting in `config.toml`: ```text addrbookstrict = false ``` If you want to refresh your node back to a fresh empty state, then your best bet is to terminate it and deploy a new machine, but if that's not an option, then you can: drop the `bigchain` database in MongoDB using `bigchaindb drop` (but that only works if MongoDB is running) reset Tendermint using `tendermint unsaferesetall` delete the directory `$HOME/.tendermint` If you want to stop/kill BigchainDB, you can do so by sending `SIGINT`, `SIGQUIT` or `SIGTERM` to the running BigchainDB process(es). Depending on how you started BigchainDB i.e. foreground or background. e.g. you started BigchainDB in the background as mentioned above in the guide: ```bash $ nohup bigchaindb start 2>&1 > bigchaindb.log & $ # Check the PID of the main BigchainDB process $ ps -ef | grep bigchaindb <user> *<pid> <ppid> <C> <STIME> <tty> <time> bigchaindb <user> <pid> <ppid>* <C> <STIME> <tty> <time> gunicorn: master [bigchaindb_gunicorn] <user> <pid> <ppid>* <C> <STIME> <tty> <time> bigchaindb_ws <user> <pid> <ppid>* <C> <STIME> <tty> <time> bigchaindbwsto_tendermint <user> <pid> <ppid>* <C> <STIME> <tty> <time> bigchaindb_exchange <user> <pid> <ppid> <C> <STIME> <tty> <time> gunicorn: worker [bigchaindb_gunicorn] <user> <pid> <ppid> <C> <STIME> <tty> <time> gunicorn: worker [bigchaindb_gunicorn] <user> <pid> <ppid> <C> <STIME> <tty> <time> gunicorn: worker [bigchaindb_gunicorn] <user> <pid> <ppid> <C> <STIME> <tty> <time> gunicorn: worker [bigchaindb_gunicorn] <user> <pid> <ppid> <C> <STIME> <tty> <time> gunicorn: worker [bigchaindb_gunicorn] ... $ # Send any of the above mentioned signals to the parent/root process(marked with `*` for clarity) $ kill -2 <bigchaindbparentpid> $ # OR $ kill -15 <bigchaindbparentpid> $ # OR $ kill -3 <bigchaindbparentpid> $ pgrep bigchaindb | xargs kill -9 ``` If you started BigchainDB in the foreground, a `Ctrl + C` or `Ctrl + Z` would shut down BigchainDB. One member can make a proposal to call an election to add a validator, remove a validator, or change the voting power of a validator. They then share the election/proposal ID with all the other members. Once more than 2/3 of the voting power votes yes, the proposed change comes into effect. The commands to create a new election/proposal, to approve an election/proposal, and to get the current status of an election/proposal can be found in the documentation about the subcommands. See the page in the Appendices about . If you're stuck, maybe . If your problem occurs often enough, we'll write about it here.