Minimal Observability for Transactional Hierarchical Services
Debmalya Biswas, Blaise Genest · 2008
For complex services, logging is an integral part of many middleware aspects, especially, transactions and monitor-ing. In the event of a failure, the log allows us to deduce the cause of failure (diagnosis), recover by compensating the logged actions (atomicity), etc. However, for heterogeneous services, logging all the actions is often impracticable due to privacy/security constraints. Also, logging is expensive in terms of both time and space. Thus, we are interested in determining the absolute minimal number of actions that needs to be logged, to know with certainty the actual se-quence of executed actions from any given partial log. This problem happens to be NP-Complete. We consider complex services represented as a hierarchy of services, and propose a decomposition mechanism which dramatically decreases the complexity (up to 2 exponentials). The decomposition also works for distributed services. 1