tree 7bbae905fca62f0a356be9299cc949584334ac3e
parent 3f0b33bfad746fd2da63fe062ea745d9a9caed55
author Yunze Xu <xyzinfernity@163.com> 1717465915 +0800
committer GitHub <noreply@github.com> 1717465915 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmXnM7CRC1aQ7uu5UhlAAAXjEQAArVxwD2q3w97yDgzBt7vmcC
 4lw4OerXE8D8xP8dpe5l21CkTRG6h/suT5JO/zSOvR1UzrlohDALehK9KRf5WLuP
 T/j1kYIyEgNozGxPISNcGgZ2F+78l/xEgWEyfezm7iB7Q50lOKFbkyDBad5dof/s
 jVJsmjH4zZ42R+zOQ01doiQN2+dOzyh3xMnThKvuxJIkecgvK0SvmoT8/GHOqkLX
 a5E/giXJnMHQSUWX48QzeKvdmDicm6db+O32CaOrSmKb6d4J7rjhpwvFwxc9eH7Y
 a0lfehVtb7YDUpDCyXe9+FA6ImHp+EqZTCUutl2vjff4D1cSrsoA27jq8nrcj6G0
 dGUXZi1i3LmYSivR/GBiATx3Qvp35JZKYVtpt0dK9o2hMWkPOhhPCJG6R/vjFWu4
 VBtUrButWP0Foh5j8mXac2vhh4ljo/YAtbe35fhs7Bfa5+R7ht/K+k2tzEpbV7sK
 lWljkyjpcKNvKrOZpxa7A6dYHw+nsY01X1jtR1O0jruv1WYM7jMBOYkeUzpm14Zw
 pv0SddUdvpZ5G/zXct9NY8ZDISeI1/yxlYEBUBkW41HN1EZBdzXw1xTpr6cbRk10
 h9BlRTbnm6bLn+m5eXm/Qz1u+go26AE3Wol9k/IHvs32it3xf9gWVx+28wj8Xwb9
 s/ggAbUKp2ewxf7cTo6g
 =glVn
 -----END PGP SIGNATURE-----
 

Support seek operation on a multi-topics consumer (#426)

### Motivation

See https://github.com/apache/pulsar-client-python/issues/213

### Modifications

Add a new `forEachValue` overload that allows users to count the number
of rest running tasks through `SharedFuture` to `SynchronizedHashMap`.
Leverage this overload in seek operations when the argument is a
timestamp, or a MessageId that represents earliest or latest. When the
argument is a MessageId whose `getTopicName()` method returns a correct
topic name, seek on the internal consumer of that topic.

Add `testMultiTopicsSeekAll` and `testMultiTopicsSeekSingle` to
`ConsumerSeekTest` to cover these cases.