Error Log Replay System for Microservice Self-Healing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microservice architectures face challenges in efficiently processing and reprocessing large volumes of error logs, leading to issues during unavoidable events such as service termination and network issues, which adversely affect application functionality.

Innovation Solution

A method and system that receive, analyze, and store error logs in an error log table and topic, replay error logs from a point of failure based on predefined criteria, and update retry parameters for failed logs, enabling self-healing of applications without requiring significant code changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If message queues are used to capture and process error logs during unavoidable events, then error log capture capability is improved, but reprocessing capability of large amounts of error log data is lost

Engineering Contradiction:
Improveerror log capture capabilityVSAvoidreprocessing capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments error log processing into multiple independent components: error log capture module, error log storage module, and error log replay module. This segmentation allows each component to specialize in one function, enabling the storage module to persistently store large volumes of error logs and the replay module to efficiently reprocess them when needed, resolving the contradiction between capture reliability and reprocessing productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary action by persistently storing error logs in a database and topic during normal operation before unavoidable events occur. This preliminary storage ensures that when service termination or network issues occur, the error logs are already captured and preserved, enabling subsequent reprocessing without data loss and maintaining both capture reliability and reprocessing capability.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If microservice architecture is used to store and process error logs, then management and tracing feasibility is improved, but multiple points for loss of error logs are created

Engineering Contradiction:
Improvemanagement and tracing feasibilityVSAvoiderror log integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system introduces an intermediary error log processing mechanism that sits between multiple microservices and the central storage. This intermediary captures error logs from various microservices, validates them, and stores them in a centralized database and topic. This approach maintains the ease of operation benefits of microservice architecture while preventing error log loss through centralized management and validation, resolving the contradiction between operational ease and log integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If error logs are not replayed from point of failure, then system simplicity is maintained, but applications cannot self-heal during unavoidable events

Engineering Contradiction:
Improvesystem simplicityVSAvoidapplication self-healing capability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system implements self-service by automatically replaying error logs from the stored state at the point of failure when service termination or network issues occur. This automatic replay mechanism enables applications to self-heal without manual intervention, restoring functionality by reprocessing failed operations. The self-service approach adds minimal complexity while significantly improving reliability through automated error recovery.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240362107A1Method and system for processing error logs
Publication Date: 2024.10.31 JPMORGAN CHASE BANK NA
  • US20240362107A1 patent drawing
  • US20240362107A1 patent drawing
  • US20240362107A1 patent drawing

AI summary

A method and system for processing error logs are disclosed. The method includes receiving a plurality of logs generated during a runtime of at least one application. The method includes analyzing the plurality of logs to determine an occurrence of at least one error log in the plurality of logs based upon predefined criteria. The method includes storing the at least one error log based on the analysis of the plurality of logs, into an error log table, at least one database and a topic. Next, the method includes replaying the at least one error log in accordance with predefined execution criteria to execute the corresponding error log from a point of failure in the at least one application. Next, the method includes removing the replayed at least one error log upon a successful execution in the at least one application, from the at least one topic.