Selective Logging for In-Memory KVS Failure Identification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In-memory Key Value Store (KVS) messaging systems face performance drops due to log writing and struggle to quickly identify the extent of failures, leading to unstable service operations and difficulty in restoring lost data.
Innovation Solution
A system and method that selectively write data store logs only for messages meeting specific conditions, using a configuration of computers with message receiving, sending, and data store management parts, along with a monitoring and log collection component to quickly identify failures by comparing receiving, sending, and data store logs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data store logs are written for all messages in in-memory KVS, then data loss prevention capability is improved, but system performance deteriorates
Solution Approach 1:
The patent applies local quality by writing data store logs selectively only for messages that meet specific conditions (e.g., messages stored in data store for longer than a threshold period, or messages with high importance flags), rather than uniformly logging all messages. This selective logging approach maintains reliability for critical messages while reducing the overall log writing overhead and preserving system performance.
Solution Approach 2:
The patent implements partial action by performing log writing only for a subset of messages that require enhanced reliability tracking. By applying the logging mechanism partially rather than excessively to all messages, the system achieves adequate data loss prevention for critical operations without the performance penalty of universal logging.
2Difficulty of detecting and measuring
If comprehensive logs are written for all messages, then failure identification capability is improved, but log processing time increases
Solution Approach 1:
The patent extracts and isolates only the essential log information needed for failure identification, rather than storing comprehensive detailed logs for all messages. By taking out only the critical data elements (such as message identifiers, timestamps, and status indicators) that are necessary for detecting failures, the system maintains effective failure identification capability while significantly reducing log processing time and storage requirements.
Solution Approach 2:
The patent applies partial action by collecting and analyzing logs only for messages that meet specific conditions or are suspected of failure, rather than continuously processing comprehensive logs for all messages. This selective log processing approach maintains effective failure detection while minimizing the time and computational resources required for log analysis.
3Productivity
If selective log writing is implemented, then system performance is improved, but failure extent identification becomes more difficult
Solution Approach 1:
The patent implements feedback mechanisms that actively monitor and compare receiving logs, sending logs, and data store logs to detect discrepancies indicating failures. The selective logging system includes feedback loops that trigger comprehensive log collection and analysis when failure indicators are detected, ensuring that while routine operations benefit from selective logging performance, failure investigation capabilities are maintained through on-demand comprehensive log retrieval and comparison.
Solution Approach 2:
The patent applies preliminary action by pre-structuring and storing key log metadata and message identification information even for selectively logged messages. This preliminary organization of essential log data enables efficient failure extent identification when needed, as the foundational log structure is already in place for quick retrieval and comparison, reducing the difficulty of failure analysis despite selective logging.
Data Source
AI summary
A computer system for realizing increased speed of identifying extent of a failure in a messaging system, provided with: a first computer including a message receiving part, a first log output part, and a first memory part configured to store receiving log data; a second computer including a data store management part configured to manage a data store, a first search part configured to search a message that meets a given condition from among messages stored in the data store, a second log output part, and a second memory part configured to store data store log data; a third computer including a message sending part, a third log output part, and a third memory part configured to store sending log data; and a fourth computer including a monitoring part, a log collecting part, and a second search part configured to search for lost message.


