Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • org.apache.kafka.streams.state.ReadOnlySessionStore
    • add method: KeyValueIterator<Windowed<K>, AGG> findSessions(final K key, final Instant earliestSessionEndTime, final Instant latestSessionStartTime)
    • add method: KeyValueIterator<Windowed<K>, AGG> findSessions(final K keyFrom, final K keyTo, final Instant earliestSessionEndTime, final Instant latestSessionStartTime)
    • add method: AGG fetchSession(final K key, final long startTimeInstant sessionStartTime, final Instant sessionEndTime)
    • add method: KeyValueIterator<Windowed<K>, AGG> backwardFindSessions(final K key, final Instant earliestSessionEndTime, final Instant latestSessionStartTime)
    • add method: KeyValueIterator<Windowed<K>, AGG> backwardFindSessions(final K keyFrom, final K keyTo, final Instant earliestSessionEndTime, final Instant latestSessionStartTime)

...

Code Block
public interface ReadOnlySessionStore<K, AGG> {
    // Moving read functions from SessionStore to ReadOnlySessionStore
    default KeyValueIterator<Windowed<K>, AGG> findSessions(final K key, final Instant earliestSessionEndTime, final Instant latestSessionStartTime) {
        throw new UnsupportedOperationException("Moved from SessionStore");
    }
 
    default KeyValueIterator<Windowed<K>, AGG> findSessions(final K keyFrom, final K keyTo, final Instant earliestSessionEndTime, final Instant latestSessionStartTime) {
        throw new UnsupportedOperationException("Moved from SessionStore");
    }

    default AGG fetchSession(final K key, final longInstant startTimesessionStartTime, final Instant sessionEndTime) {
        throw new UnsupportedOperationException("Moved from SessionStore");
    }
 
    // New APIs added as part of KIP-617
    default KeyValueIterator<Windowed<K>, AGG> backwardFindSessions(final K key, final Instant earliestSessionEndTime, final Instant latestSessionStartTime) {
        throw new UnsupportedOperationException();
    }

    default KeyValueIterator<Windowed<K>, AGG> backwardFindSessions(final K keyFrom, final K keyTo, final Instant earliestSessionEndTime, final Instant latestSessionStartTime) {
        throw new UnsupportedOperationException();
    }
}


Compatibility, Deprecation, and Migration Plan

  • Default implementations will avoid changes on custom Custom IQ Session Stores will have to implement new methods if haven't implement read-write APIs yet.

Rejected Alternatives

None yet.