KAFKA-5876: Apply StreamsNotStartedException for Interactive Queries#10597
Conversation
|
@ableegoldman Please take a look. BTW, I encounter a ClassDataAbstractionCoupling check style failure, so I update the checkstyle/suppressions.xml to avoid this failure. If there have a better way to solve this check style failure, please let me know. |
c5f55d5 to
6bce822
Compare
ableegoldman
left a comment
There was a problem hiding this comment.
LGTM, just some suggestions for the wording. Can we add a note to the section in the upgrade-guide that you added for the last exception?
By the way, I wonder if we should also throw this exception for the allMetadata, allMetadataForStore, and queryMetadataForKeymethods? It seems these methods along withKafkaStreams#storeall do the same thing of callingvalidateIsRunningOrRebalancing` which then checks on the KafkaStreams state and throws IllegalStateException if not in one of those two states. Imo all of these would benefit from the StreamsNotStartedException and it doesn't make sense to single that one out.
Thoughts? I know it's not in the KIP but in this case it seems like a trivial improvement that would merit just a quick update on the KIP discussion thread but not a whole new KIP of its own
Sure, will do. Thank for your reminder.
One thing may need remind, in the KIP-216,
I wonder if it worth to break the API compatibility? The trivial improvement will break the API compatibility( |
Isn't that what we're doing with the
Those methods are all, ultimately at least, related to Interactive Queries. My understanding is that they would be used to find out where to route a query for a specific key, for example. Plus they do take a particular store as a parameter, thus even Also just fyi, by sheer coincidence it seems this PR will end up landing in 3.0 which is a major version bump and thus (some) breaking changes are allowed. I think changing up exception handling in this way is acceptable (and as noted above it seems we are already doing so for the That's my read of the situation, anyway. Thoughts? |
|
@ableegoldman |
22ea428 to
1df7b8c
Compare
|
@ableegoldman Please take a look. :) |
1df7b8c to
315439b
Compare
ableegoldman
left a comment
There was a problem hiding this comment.
Ok I think there's one last thing to discuss, see my other comment. Also just a heads up it looks like there may be some KafkaStreamsTest tests failing on the build
315439b to
b843e78
Compare
|
@ableegoldman Please take a look. :) |
|
Thanks @vitojeng -- just to clarify, I was proposing that we do throw the StreamsNotStartedException for the Thoughts? |
|
Oh, I get your point. This make sense and totally agree. Thanks @ableegoldman for explanation. |
b843e78 to
a090ee3
Compare
ableegoldman
left a comment
There was a problem hiding this comment.
Looking good! Just one suggestion about the wording in the exception message but after that I think we can merge
Co-authored-by: A. Sophie Blee-Goldman <ableegoldman@gmail.com>
|
@ableegoldman Please take a look. :) |
|
LGTM. Seems to be some unrelated known-flaky tests (RaftClusterTest and some Connect test), but also a unit test failure in RocksDBStore which I've never seen before. It's pretty suspicious since it's just a unit test and doesn't have any timeouts, setup, etc that might make it flaky. But it's hard to imagine that this PR could have caused that, and it did pass on the other two builds so I don't think it's related and will merge to trunk. But let's keep an eye on that (KAFKA-12747) |
|
Ah, looks like that test just assumes no two UUIDs will have the same prefix. Fair assumption that no two UUIDs will be the same, but I guess that doesn't hold up if you cut off some of those digits. Anyways just following up on that, should be easy to fix |
follow-up #8200
KAFKA-5876's PR break into multiple parts, this PR is part 3 - apply StreamsNotStartedException
Committer Checklist (excluded from commit message)