numaproj / numaflow

Kubernetes-native platform to run massively parallel data/streaming jobs
https://numaflow.numaproj.io
Apache License 2.0
1k stars 98 forks source link

Status of Numaflow resource should track the status of underlying children resource #1774

Open xdevxy opened 6 days ago

xdevxy commented 6 days ago

Summary

To truly reflect the status of a Numaflow resource, e.g. ISBService, the underlying status of children StatefuleSet.

Use Cases

User, e.g. numaplane can rely solely on the status of Numaflow resource to truly reflect the overall status including the children.


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 5 days ago

It looks like ISBService does in fact have a phase. Is it not being reset to Failed in the case that the underlying StatefulSet has failed?

juliev0 commented 5 days ago

This is probably a more generic issue that we need to check if both ISBService and Pipeline will be reset to Failed phase if they become unhealthy and not just at the point that they're being deployed initially (i.e. for Pipeline is there a Vertex in a Failed state? (which requires that Vertex phase take into account the phase of the underlying Pods))

cc @whynowy

whynowy commented 5 days ago

I would recommend to check how StatefulSet and Deployment do.

StatefulSet -> Pod Deployment -> ReplicaSet -> Pod

For us:

InterStepBufferService -> StatefulSet Pipeline -> Vertex -> Pod