ableegoldman commented on a change in pull request #9138:
URL: https://github.com/apache/kafka/pull/9138#discussion_r481521637



##########
File path: streams/src/main/java/org/apache/kafka/streams/state/WindowStore.java
##########
@@ -150,13 +185,25 @@
      * @return an iterator over windowed key-value pairs {@code <Windowed<K>, 
value>}
      * @throws InvalidStateStoreException if the store is not initialized
      */
-    @SuppressWarnings("deprecation") // note, this method must be kept if 
super#fetchAll(...) is removed
+    // note, this method must be kept if super#fetchAll(...) is removed
+    @SuppressWarnings("deprecation")
     KeyValueIterator<Windowed<K>, V> fetchAll(long timeFrom, long timeTo);
 
     @Override
-    default KeyValueIterator<Windowed<K>, V> fetchAll(final Instant from, 
final Instant to) {
+    default KeyValueIterator<Windowed<K>, V> fetchAll(final Instant timeFrom, 
final Instant timeTo) {
         return fetchAll(
-            ApiUtils.validateMillisecondInstant(from, 
prepareMillisCheckFailMsgPrefix(from, "from")),
-            ApiUtils.validateMillisecondInstant(to, 
prepareMillisCheckFailMsgPrefix(to, "to")));
+            ApiUtils.validateMillisecondInstant(timeFrom, 
prepareMillisCheckFailMsgPrefix(timeFrom, "timeFrom")),
+            ApiUtils.validateMillisecondInstant(timeTo, 
prepareMillisCheckFailMsgPrefix(timeTo, "timeTo")));
+    }
+
+    default KeyValueIterator<Windowed<K>, V> backwardFetchAll(final long 
timeFrom, final long timeTo) {

Review comment:
       Idk, the current defaults make sense to me. If a user has a custom store 
and wants to use the new `backwardFetchAll` with both longs and Instants, all 
they'd have to do is override the long-based `backwardFetchAll` method (they 
have to implement the long version no matter what, since this is what gets used 
internally to Streams). If we just throw UnsupportedOperationException directly 
from the default implementation of the Instant-based `backwardFetchAll`, then 
they would have to override that as well in their custom store. So we should 
just let the Instant default to the long method so users only have to implement 
one method instead of two (plus they would have to do the Instant validation 
themselves, etc)




----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to