xtuml / munin

Apache License 2.0
1 stars 0 forks source link

Mun 159 svdc persistence reqd if #38

Closed ColinCarterUK closed 1 year ago

ColinCarterUK commented 1 year ago

This PR includes changes to allow Extra Job Invariants to be persisted and restored from persistence using a separate persistence service domain (iStore). The changes include: Addition of a call to the persistence service whenever a new Source Extra Job Invariant is received to store that EJI A provided interface service to be called by the persistence service to update the list of known invariants Changes to Job state model to separate checking of intra job invariants from checking of extra job invariants The addition of a call to the persistence service to retrieve any unknown invariants when the check of an extra job invariant doesn't find a matching one The addition of a state to wait for a response from the persistence service using the provided interface above so that it's an async interface (closed non-blocking) If the persistence service responds then the set of invariants is updated with the new ones and the extra job invariants are rechecked - if they pass the Job is successful, if they fail then the Job is failed. If the persistence service doesn't respond then there will be a timeout which indicates that the extra job invariant check has failed since no match was found so the Job is failed Tests have been added for the additional paths in the state model but additional testing will be required This version builds and all tests pass

cortlandstarrett commented 1 year ago

1) Formalise the 2 interfaces to their ports. Be sure this does not change the name of the ports. If it does, you will need to put those names back. 2) Pass by value only. Fix action language to not expect a return value.