Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run system sanity checks periodically #24

Open
habbes opened this issue May 16, 2020 · 0 comments
Open

Run system sanity checks periodically #24

habbes opened this issue May 16, 2020 · 0 comments

Comments

@habbes
Copy link
Member

habbes commented May 16, 2020

We should create a process that periodically scans and verifies the overall state of the system and its integrity. The process will generate store reports after each run. It may be necessary to pause most system functions while this process is running (e.g. using system locks). It may also be necessary to halt most system functions if the process reports potential integrity issues that require urgent investigation.

Examples of checks that the process would carry out include:

  • verify that transactions add up and coincide with the current balance as reported by the payments integrator (e.g. adding up all successful transactions should ideally return the same balance as reported by AT's balance API)
  • if the balance computed from the successful transactions is greater than the balance in our payment account, this is a serious issue that requires urgent investigation. It might be reasonable to pause normal system functions (e.g. locking the system out of collecting donations and distributions) until we investigate and understand what's going on. This could indicate a serious bug/flaw in our system that makes it unreliable, or it could be that someone has removed funds from the payment account.
  • if the balance computed from transactions is lower, this could indicate that there are pending transactions that have not yet been updated. In this case maybe the process should include a warning in the report or try to update the transactions.
  • the process should also check whether there are transactions that have been pending for a long time and include such cases in the report
  • report locks that have been locked for a long time
@habbes habbes added this to the Minor release milestone May 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant