Details
-
Feature
-
Status: Released (View Workflow)
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
Current Situation
- The History Service uses a Controller Proxy/Streaming API to synchronize Controller events in the JS7 database.
- If an error/warning occurs in the Controller Proxy/Streaming API (e.g. Controller torn event or reactor.core.Exceptions), the History Service automatically tries to reconnect and synchronizes the entries without losses when the Streaming API is working correctly again.
- If an error occurs during the processing of the History Service itself (e.g. the database connection cannot be established), the Controller events are lost from that point on, as the History logs the error messages but does not attempt to resynchronize the Controller events.
Desired Behavior
- The History Service should synchronize the Controller Events without loss of data.
- Recoverable errors: database connection can't be established
- The History Service stops the connection to the Controller and tries endlessly to connect to the database.
- after a database connection is available again, the History Service automatically connects to the Controller and continues synchronization from the last synchronized event.
- The History Service stops the connection to the Controller and tries endlessly to connect to the database.
- Unrecoverable errors: internal History Service errors, e.g. a "wrong" column name/length in a history table that does not match the current version of the History Service etc.
- The History Service tries to synchronize the same Controller entries for about 10 minutes - if the same error repeatedly occurs, the History Service is stopped and has to be started manually later on.