Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If a container of a samza application fails, upon restart it should resume processing events where the failed container had left off. In order to enable this, a samza container periodically checkpoints the current offset for each partition of an input stream. In case of application failures, samza users would want their application to consume from a particular position of a input stream(for instance, either due to a bug in their application or due to a bug in upstream producer of the pipeline). The workflow currently supported in samza to update checkpoints:1. Users

  1.  Users have to manually stop their running samza application.

...

  1. Create a configuration file in XML format and specify the starting offset for each input topic partition.

...

  1. Run the samza-checkpoint tool which updates the checkpoint topic of the samza application with the new user-defined offsets.

...

  1. Users have to manually start their samza application again.

Using the samza-checkpoint tool is tedious and error prone, as it requires proper security access and potentially editing many offsets in a configuration file. In some cases, it can cause a samza container to lose its checkpoints. In addition to the dangerous nature of modifying checkpoints directly, the checkpoint offsets are arbitrary strings with system-specific formats. This requires a different checkpoint tool for each system type (i.e. Kafka, Eventhub, Kinesis, etc...).

...