Seweryn Habdank-Wojewodzki created KAFKA-13389:
--------------------------------------------------
Summary: Add to kafka shell scripts checks about server state
Key: KAFKA-13389
URL: https://issues.apache.org/jira/browse/KAFKA-13389
Project: Kafka
Issue Type: Bug
Components: core
Affects Versions: 2.8.0
Reporter: Seweryn Habdank-Wojewodzki
Hello,
Within the discussion with Confluent included in the Confluent Support Ticket:
[#71907|https://urldefense.com/v3/__https:/support.confluent.io/hc/requests/71907__;!!OMGRPR5eiCE28w!9-OfZd3vUrXgjEtagEYeB1O5tmebDaANKfi6c-VRV0RrdcFEnFlzb7pDwpSwJTZ7qFnigilEAPhGW1vS5XdsSkU$],
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.
{code}
$ ./bin/kafka-topics.sh --bootstrap-server=<list of Kafka brokers : and ports>
--list
{code}
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,
Seweryn.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)