David Jacot created KAFKA-9514: ---------------------------------- Summary: The protocol generator generated useless condition when a field is made nullable and flexible version is used Key: KAFKA-9514 URL: https://issues.apache.org/jira/browse/KAFKA-9514 Project: Kafka Issue Type: Bug Reporter: David Jacot Assignee: David Jacot
The protocol generator generates useless conditions when a field of type string is made nullable after the request has been converted to using optional fields. As an example, we have make the field `ProtocolName` nullable in the `JoinGroupResponse`. The `JoinGroupResponse` supports optional fields since version 6 and the field is nullable since version 7. Under these conditions, the generator generates the following code: {code:java} if (protocolName == null) { if (_version >= 7) { if (_version >= 6) { _writable.writeUnsignedVarint(0); } else { _writable.writeShort((short) -1); } } else { throw new NullPointerException(); } } {code} spotbugs raises an `UC_USELESS_CONDITION` because `_version >= 6` is always true. We could optimise the generator to handle this. -- This message was sent by Atlassian Jira (v8.3.4#803005)