mirror of
https://github.com/matrix-construct/construct
synced 2024-12-28 16:34:13 +01:00
40 lines
1.6 KiB
Markdown
40 lines
1.6 KiB
Markdown
|
|
# TROUBLESHOOTING
|
|
|
|
##### Useful program options
|
|
|
|
Start the daemon with one or more of the following program options to make it
|
|
easier to troubleshoot and perform maintenance:
|
|
|
|
- *-single* will start in "single user mode" which is a convenience combination
|
|
of *-nolisten -wa -console* options described below.
|
|
|
|
- *-nolisten* will disable the loading of any listener sockets during startup.
|
|
|
|
- *-wa* write-avoid will discourage (but not deny) writes to the database. This
|
|
prevents a lot of background tasks and other noise for any maintenance.
|
|
|
|
- *-console* convenience to immediately drop to the adminstrator console
|
|
after startup.
|
|
|
|
- *-debug* enables full debug log output.
|
|
|
|
##### Recovering from broken configurations
|
|
|
|
If your server ever fails to start from an errant conf item: you can override
|
|
any item using an environmental variable before starting the program. To do
|
|
this simply replace the '.' characters with '_' in the name of the item when
|
|
setting it in the environment. The name is otherwise the same, including its
|
|
lower case.
|
|
|
|
##### Recovering from database corruption
|
|
|
|
In very rare cases after a hard crash the journal cannot completely restore
|
|
data before the crash. Due to the design of rocksdb and the way we apply it
|
|
for Matrix, data is lost in chronological order starting from the most recent
|
|
transaction (matrix event). The database is consistent for all events up until
|
|
the first corrupt event, called the point-in-time.
|
|
|
|
When any loss has occurred the daemon will fail to start normally. To enable
|
|
point-in-time recovery use the command-line option `-pitrecdb` at the next
|
|
invocation.
|