Skip to content
This repository has been archived by the owner on Jun 7, 2024. It is now read-only.

Keepalive commit #708

Open
satybald opened this issue Jul 16, 2017 · 1 comment
Open

Keepalive commit #708

satybald opened this issue Jul 16, 2017 · 1 comment

Comments

@satybald
Copy link

Context:
Even thought Nakadi supports streaming of max_uncommitted_events, it still expects a client to commit an event within 60 seconds. Otherwise, a TCP connection gets closed.

Problem:
Those consumers, who buffer events locally for a couple of hours before uploading to the downstream storage engine due to processing semantics, create at most once delivery guarantee. The likelihood of consumer, storage or network issues, during a buffer time, is quite high. Thus consumer can lose a whole buffer chunk while already have been committed those events to Nakadi.

Proposed change:
As it necessary for Nakadi to keep track of consumer liveness(issue #594), and a data commit in ZK quite expensive, one of the possibility to introduce keepalive commit with fake/artificial offset(aka "BEGIN" or ZERO). Consumers will expect to ACK their healthiness via keep alive commit, however, do a real commit when downstream processing is finished.

Related issue:

@phibrex
Copy link

phibrex commented Aug 1, 2017

ARUHA-986 was added to our backlog.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants