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

[DDW-435] Improve cardano-node process handling logic #1119

Merged

Conversation

DominikGuzei
Copy link
Member

@DominikGuzei DominikGuzei commented Oct 11, 2018

This PR hardens the cardano-node process handling in cases of errors and crashes. Basically we are not believing anything the node tells us and always double check that it really died after it said so.

For this another node state exiting was introduced which is the first transition when cardano node says it exited with some code … this state basically means "cardano-node says it exited but haven't confirmed that yet" … then we wait for the process to die or ensure it's properly killed before moving on to other states.


Review Checklist:

Basics

  • PR is updated to the most recent version of target branch (and there are no conflicts)
  • PR has good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
  • CHANGELOG entry has been added and is linked to the correct PR on GitHub
  • Automated tests: All acceptance tests are passing (yarn run test)
  • Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn run dev)
  • Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn run package / CI builds)
  • There are no flow errors or warnings (yarn run flow:test)
  • There are no lint errors or warnings (yarn run lint)
  • Text changes are proofread and approved (Jane Wild)
  • There are no missing translations (running yarn run manage:translations produces no changes)
  • UI changes look good in all themes (Alexander Rukin)
  • Storybook works and no stories are broken (yarn run storybook)
  • In case of dependency changes yarn.lock file is updated

Code Quality

  • Important parts of the code are properly documented and commented
  • Code is properly typed with flow
  • React components are split-up enough to avoid unnecessary re-rendering
  • Any code that only works in Electron is neatly separated from components

Testing

  • New feature / change is covered by acceptance tests
  • All existing acceptance tests are still up-to-date
  • New feature / change is covered by Daedalus Testing scenario
  • All existing Daedalus Testing scenarios are still up-to-date

After Review:

  • Merge PR
  • Delete source branch
  • Move ticket to done on the Youtrack board

@DominikGuzei DominikGuzei changed the title [DDW-435] harden cardano-ndoe process handling logic [DDW-435] harden cardano-node process handling logic Oct 11, 2018
@nikolaglumac nikolaglumac changed the title [DDW-435] harden cardano-node process handling logic [DDW-435] Improve cardano-node process handling logic Oct 11, 2018
Copy link
Contributor

@nikolaglumac nikolaglumac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing stuff! Works like a charm now 🎉

@nikolaglumac nikolaglumac merged commit bea5f8b into develop Oct 12, 2018
@nikolaglumac nikolaglumac deleted the fix/ddw-435-improve-cardano-node-stopping-procedure branch October 12, 2018 12:23
This was referenced Oct 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants