You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Seweryn Habdank-Wojewodzki (Jira)" <ji...@apache.org> on 2021/10/21 06:27:00 UTC

[jira] [Created] (KAFKA-13389) Add to kafka shell scripts checks about server state

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)