Error-Causing Record Isolation in Data Stream Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data stream processing, error-causing records, or 'poison-pill' records, can lead to repeated re-attempts in processing entire record groups, causing delays and potential data expiration, as it is challenging to identify and isolate the specific error-causing record within a group.
Innovation Solution
Implementing a group-split feature that allows record groups to be split into smaller groups upon error occurrence, enabling error-causing records to be isolated and bypassed, along with features like maximum retry attempts and maximum record age to manage processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire record group is repeatedly re-attempted when an error occurs, then the error-causing record can be resolved, but processing delays increase and data may expire
Solution Approach 1:
The patent divides a record group into smaller sub-groups and processes them independently. When an error occurs in one sub-group, only that specific sub-group is re-attempted while other sub-groups continue processing, thereby resolving the contradiction between ensuring error resolution and minimizing processing delays
Solution Approach 2:
The patent extracts and isolates the error-causing record from the record group by identifying failed records and separating them into a dead-letter queue. This allows the remaining valid records to be processed without being blocked by the erroneous record, thus reducing processing delays while maintaining error resolution
2Reliability
If the entire record group is re-attempted when an error occurs, then error resolution is pursued, but productivity of subsequent record groups decreases
Solution Approach 1:
By segmenting the record group into independent sub-groups, the patent enables parallel processing of multiple sub-groups simultaneously. This segmentation ensures that errors in one sub-group do not block processing of other sub-groups, thereby maintaining high productivity while pursuing error resolution
Solution Approach 2:
The patent implements continuous processing by allowing successful sub-groups to advance to the next processing stage while failed sub-groups are re-attempted. This continuity of useful action ensures that productive work is not interrupted by errors in other records, maintaining overall processing throughput
3Duration of action of stationary object
If maximum retry attempts are implemented, then data expiration is prevented, but processing time increases
Solution Approach 1:
The patent sets a maximum retry attempt limit in advance before processing begins. This preliminary action establishes a boundary condition that prevents indefinite re-attempts, thereby preventing data expiration while controlling the total processing time spent on error-prone records
Solution Approach 2:
The patent dynamically adjusts the retry behavior by changing the parameter of retry attempt count. By implementing a maximum retry limit, the system transforms from unlimited re-attempts to a controlled number of re-attempts, balancing data validity preservation with processing time management
Data Source
AI summary
A first group processing attempt may be performed on a first record group in a stream of ordered data records. The first group processing attempt may fail, and the first record group may be split into at least a second record group and a third record group. A second group processing attempt may be performed on the second record group, and a third group processing attempt may be performed on the third record group. For the second, the third and following record groups, each record group that is not processed successfully may be split into two or more other record groups and additional group processing attempts may be performed on the two or more other record groups until the error-causing record is isolated as a single record. Processing of the error-causing record may be bypassed after it is isolated as a single record.


