mjsax commented on code in PR #13496: URL: https://github.com/apache/kafka/pull/13496#discussion_r1160433833
########## streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableValueGetter.java: ########## @@ -25,5 +25,21 @@ ValueAndTimestamp<V> get(K key); + /** + * Returns the latest record version, associated with the provided key, with timestamp + * not exceeding the provided timestamp bound. This method may only be called if + * {@link #isVersioned()} is true. + */ + default ValueAndTimestamp<V> get(K key, long asOfTimestamp) { + throw new UnsupportedOperationException("get(key, timestamp) is only supported for versioned stores"); + } + + /** + * @return whether this value getter supports multiple record versions for the same key. + * If true, then {@link #get(Object, long)} must be implemented. If not, then + * {@link #get(Object, long)} must not be called. + */ + boolean isVersioned(); Review Comment: The same argument seems to apply to `get()` and it does have a default? Seems inconsistent to me? But I agree, it's internal so also don't feel strong about it. Leave it to your judgement. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org