Within the discussion with Confluent included in the Confluent Support Ticket: #71907, we found out that according to "Eventually Consistency" Kafka shell scripts may deliver wrong information, for example when listing topics, the result might be empty even if topics are existing, but Server status is not in synch (e.g. when URP > 0).
To be concrete. This call below may return empty list, if server is not in synch.
Remark from Confluent engineers is: that before getting whose results, one have to check server status and in particular URP shall be 0, otherwise results might be wrong.
So in fact Kafka shell scripts contains bug delivering possibly broken results and not reporting error instead.
The proposal here is to add to all Kafka shell scripts check if server status is proper (e.g. URP is 0) and in case of having server not in good state, instead of returning possible wrong values, script shall return proper error code with message, that server is not in proper state.
Why in Kafka shell scripts and not on the user side?
Because Kafka Team knows all server conditions and can describe server status much better than any other user and checks will be done centrally for all users, who do not need to always implement the same. Also updates, when Kafka changes own API will be done synchronously.
Thanks in advance for adding those checks and best regards,