Thanks Kirk, I have made the changes you mentioned. Regarding these questions 3. Is the TransactionStartTimeMs return value in the DescribeTransactionsResponse nullable? Broker can send a value less than zero but not null.
5. What happens when a user runs the updated kafka-transactions.sh script (using the new argument) against an older broker that doesn't support the new filter? Does the user get an error, a warning, or a silent ignoring of the filter? Given we are bumping the API version for ListTransactionsRequest, in this case the client will first try to build an API with an older version supported by the broker. We will throw an error at the client side when building an older version API with durationFilter. If the user does not specify durationFilter, AdminClient will be able to build the older version request that does not need durationFilter.