numaproj / numaplane

Control Plane for Numaproj
Apache License 2.0
13 stars 2 forks source link

USDE modifications #348

Open juliev0 opened 1 month ago

juliev0 commented 1 month ago

Summary

We need to explore changing the USDE method.

Issues:

  1. Currently, we have the notion of fields that are related to the issue of data loss. Do we need to have a separate list related to fields pertaining to down time, or does it overcomplicate things?
  2. We have this issue, which shows that the current method of using "excluded fields" has limitations due to the fact that we don't store the Numaflow specs.
  3. We are adding labels and annotations to our PipelineRollout, ISBServiceRollout, and MonoVertexRollout which get passed to the child. We probably should have the capability to consider some of them as Progressive/PPND

Message from the maintainers:

If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

juliev0 commented 1 month ago

Can do this in Q2

juliev0 commented 3 weeks ago

Derek has added all of the fields he can think of that could be risks for data loss here. I think there is a complexity that some fields implicitly include their child fields, and others do not. Certain fields which are Pointers in Numaflow (e.g. "spec.vertices.source.generator") are fields in which we care that the Pointer is set/unset, but don't care if the child fields underneath get modified. (Of course, we can always simplify things if necessary and be conservative.)