Selective Data Synchronization for Production Failure Troubleshooting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for troubleshooting production environment failures are inefficient due to the need to recreate the entire production environment in a development environment, which is costly, unmanageable, and may not accurately replicate the interdependencies and state of the production environment at the time of the failure, leading to a low probability of finding the cause of the problem.
Innovation Solution
A method for selective data synchronization that logs operations in a production environment, identifies a problematic transaction, and intercepts relevant operations to copy only the necessary data and resources from a defined window of log journal entries to a development environment, allowing for a precise rollback to the state at the time of the failure, thereby isolating the cause of the issue.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire production environment is recreated in the development environment for troubleshooting, then the troubleshooting can be performed, but the cost and complexity increase significantly
Solution Approach 1:
The patent extracts only the specific data, transactions, and log entries relevant to the failure from the production environment, rather than copying the entire environment. This is achieved by identifying and copying only the subset of data that participated in the problematic transaction sequence, thereby reducing complexity while maintaining troubleshooting accuracy.
Solution Approach 2:
The patent segments the production environment into relevant and irrelevant components based on the failure analysis. By dividing the data set into only those transactions and log entries that are necessary to reproduce the failure, the system avoids the complexity of recreating the entire environment while preserving the essential troubleshooting context.
2Reliability
If the entire production environment is copied to the development environment, then the complete state is preserved, but the data transfer time and resources increase
Solution Approach 1:
The patent extracts only the specific subset of data, transactions, and log entries that are directly related to the failure from the production environment. This selective extraction significantly reduces the data transfer time and resources required while maintaining the accuracy of the environment state for troubleshooting purposes.
Solution Approach 2:
The patent applies partial action by copying only the necessary portion of the production environment data rather than the complete set. By transferring only the relevant transactions and log entries needed to reproduce the failure, the system achieves sufficient state accuracy without the time and resource cost of a complete environment copy.
3Loss of information
If all data from production environment is transferred to development environment, then no data is missing for debugging, but the debugging process becomes unmanageable
Solution Approach 1:
The patent extracts only the specific data, transactions, and log entries that are directly related to the failure from the production environment. This selective extraction ensures that all necessary debugging information is preserved while removing extraneous data that would make the debugging process unmanageable.
Solution Approach 2:
The patent segments the production data into relevant and irrelevant portions based on the failure analysis. By dividing the data set into only those transactions and log entries that are necessary to reproduce and debug the failure, the system maintains information completeness for debugging while improving manageability by eliminating unnecessary data.
Data Source
AI summary
In a production environment, an entry is logged in a log journal to represent a read operation on a record of a file. A problematic transaction in a batch job is selected and set of operations performed by the problematic transaction is intercepted. The set includes a combination of read, write, update, delete operations, and operations that use external resources. A window of entries is determined in the log journal where the entry is a beginning entry in the window and an ending entry is a last entry captured in the log journal before detecting the error. From the window, those entries are filtered that correspond to the record. A final value of the record is copied from the production environment to a development environment and rolled back in the development environment to an initial value stored in the beginning entry. The problematic transaction is performed in the development environment.


