Details
-
Task
-
Status: Complete
-
High
-
Resolution: Done
-
None
-
None
-
None
-
Unset
Description
Observed:
An AttributeError was thrown during the execution of PRE_DYNAMIC_VALIDATION hook. This exception was not caught and surfaced all the way out to start_indy_node. Effectively crashing the node.
processReqDuringBatch in indy-plenum/plenum/server/replica.py catches InvalidClientMessageException and UnknownIdentifier but don't deal with more generic exceptions
Expected:
A pooly written hook should not be able to crash the node. At least not so easily.
This issue was obsured in work done at Evernym. If this ticket is worked on by an Evernym employee, https://evernym.atlassian.net/browse/TOK-425 could provide additional context.
Acceptance Criteria:
- Produce a document that defines:
- the contract between Indy Node and Plugins
- description of how Indy Node will respond when a plugin does not fulfill the contract
- Write tests that ensure that Indy Node fulfills this contract.
- Ensure the contract is properly implemented in Plenum's code base