'Last known highwater offset for a partition.
A highwater offset is the offset that will be assigned to the next
message that is produced. It may be useful for calculating lag, by
comparing with the reported position. Note that both position and
highwater refer to the *next* offset -- i.e., highwater offset is
one greater than the newest available message.
Highwater offsets are returned in FetchResponse messages, so will
not be available if no FetchRequests have been sent for this partition
yet.
Arguments:
partition (TopicPartition): Partition to check
Returns:
int or None: Offset if available'

def highwater(self, partition):

    if (not isinstance(partition, TopicPartition)):
        raise TypeError('partition    must    be    a    TopicPartition    namedtuple')
    assert self._subscription.is_assigned(partition), 'Partition    is    not    assigned'
    return self._subscription.assignment[partition].highwater
