发明名称 RECOVERY STRATEGY FOR A STREAM PROCESSING SYSTEM
摘要 The technology disclosed relates to discovering multiple previously unknown and undetected technical problems in fault tolerance and data recovery mechanisms of modern stream processing systems. In addition, it relates to providing technical solutions to these previously unknown and undetected problems. In particular, the technology disclosed relates to discovering the problem of modification of batch size of a given batch during its replay after a processing failure. This problem results in over-count when the input during replay is not a superset of the input fed at the original play. Further, the technology disclosed discovers the problem of inaccurate counter updates in replay schemes of modern stream processing systems when one or more keys disappear between a batch's first play and its replay. This problem is exacerbated when data in batches is merged or mapped with data from an external data store.
申请公布号 US2017083396(A1) 申请公布日期 2017.03.23
申请号 US201615004887 申请日期 2016.01.22
申请人 salesforce.com, inc. 发明人 BISHOP ELDEN GREGORY;CHAO JEFFREY
分类号 G06F11/07 主分类号 G06F11/07
代理机构 代理人
主权项 1. A method of providing a fault tolerance strategy for a stream processing system, the method including: defining a computing grid that consumes data from a message bus as numerous batches, wherein the message bus queues events from one or more near real-time (NRT) data streams in numerous partitions and each event logged in a given partition is assigned a unique event offset; before processing, in the computing grid, a first batch from a first partition, identifying a current event offset and an end event offset in the first partition and locking the first batch to include events logged between the current event offset and the end event offset; persisting the current event offset and the end event offset; detecting failed processing of the first batch and responding by reprocessing the first batch in the computing grid, wherein, between the processing and the reprocessing, the end event offset is subject to change caused by the message bus queuing new events in the first partition; and restricting the reprocessing of the first batch to events logged between the current event offset and the end event offset, thereby preventing inclusion of the new events in the first batch.
地址 SAN FRANCISCO CA US