Uploaded image for project: 'Indy Node'
  1. Indy Node
  2. INDY-1698

Define how node deals with exceptions thrown by plugins

    XMLWordPrintable

Details

    • Task
    • Status: Complete
    • High
    • Resolution: Done
    • None
    • 1.13.0
    • 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

      Attachments

        Activity

          People

            Unassigned Unassigned
            devin-fisher Devin Fisher
            Alexander Shcherbakov, Devin Fisher, Kelly Wilson, Richard Esplin, Sergey Khoroshavin, Sergey Shilov
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: