State of stream and actual state might be different
wallyqs opened this issue · 3 comments
A result of doing kubectl get streams
can show:
kubectl get streams
NAME STATE STREAM NAME SUBJECTS
foo Errored foo ["foo","foo.\u003e"]
foo2 Errored foo2 ["foo2","foo2.\u003e"]
foo3 Created foo3 ["foo3","foo3.\u003e"]
Although there is no issue with the streams themselves:
nats stream ls -s nats://nats:4222 --tlsca nack105163165/default/a/ca.c... Waldemars-Air-2: Fri Oct 29 11:26:23 2021
Streams:
foo
foo2
foo3
Also need to encode it to HTML maybe to avoid entities in the subjects when using wildcards?
Sounds similar to several scenarios I encountered. E.g. JetStream was not enabled so Stream CRD is now permanently errored even after JetStream is enabled. Seems I have to delete and re-create the Stream CRD in order to fix. I wish the operator was able to recover from Errored states automatically.
Yeah, we are also experiencing issues where state in the JS cluster isn't reflected back to the CR's. Say for example we define a stream and several consumers of that stream, if the stream is deleted, the consumers still show in k8s as being ok. Ideally some kind of continuous reconciliation should be in place to make sure that what is defined in the CR is what is in JS, or the status updated accordingly.