Package org.apache.kafka.streams.state
Interface ReadOnlySessionStore<K,AGG>
-
- Type Parameters:
K
- the key typeAGG
- the aggregated value type
- All Known Subinterfaces:
SessionStore<K,AGG>
public interface ReadOnlySessionStore<K,AGG>
A session store that only supports read operations. Implementations should be thread-safe as concurrent reads and writes are expected.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default KeyValueIterator<Windowed<K>,AGG>
backwardFetch(K key)
Retrieve all aggregated sessions for the provided key.default KeyValueIterator<Windowed<K>,AGG>
backwardFetch(K from, K to)
Retrieve all aggregated sessions for the given range of keys.default KeyValueIterator<Windowed<K>,AGG>
backwardFindSessions(K key, long earliestSessionEndTime, long latestSessionStartTime)
Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.default KeyValueIterator<Windowed<K>,AGG>
backwardFindSessions(K keyFrom, K keyTo, long earliestSessionEndTime, long latestSessionStartTime)
Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.KeyValueIterator<Windowed<K>,AGG>
fetch(K key)
Retrieve all aggregated sessions for the provided key.KeyValueIterator<Windowed<K>,AGG>
fetch(K from, K to)
Retrieve all aggregated sessions for the given range of keys.default AGG
fetchSession(K key, long startTime, long endTime)
Get the value of key from a single session.default KeyValueIterator<Windowed<K>,AGG>
findSessions(K key, long earliestSessionEndTime, long latestSessionStartTime)
Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.default KeyValueIterator<Windowed<K>,AGG>
findSessions(K keyFrom, K keyTo, long earliestSessionEndTime, long latestSessionStartTime)
Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.
-
-
-
Method Detail
-
findSessions
default KeyValueIterator<Windowed<K>,AGG> findSessions(K key, long earliestSessionEndTime, long latestSessionStartTime)
Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.This iterator must be closed after use.
- Parameters:
key
- the key to return sessions forearliestSessionEndTime
- the end timestamp of the earliest session to search for, where iteration starts.latestSessionStartTime
- the end timestamp of the latest session to search for, where iteration ends.- Returns:
- iterator of sessions with the matching key and aggregated values, from earliest to latest session time.
- Throws:
NullPointerException
- If null is used for key.
-
backwardFindSessions
default KeyValueIterator<Windowed<K>,AGG> backwardFindSessions(K key, long earliestSessionEndTime, long latestSessionStartTime)
Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.This iterator must be closed after use.
- Parameters:
key
- the key to return sessions forearliestSessionEndTime
- the end timestamp of the earliest session to search for, where iteration ends.latestSessionStartTime
- the end timestamp of the latest session to search for, where iteration starts.- Returns:
- backward iterator of sessions with the matching key and aggregated values, from latest to earliest session time.
- Throws:
NullPointerException
- If null is used for key.
-
findSessions
default KeyValueIterator<Windowed<K>,AGG> findSessions(K keyFrom, K keyTo, long earliestSessionEndTime, long latestSessionStartTime)
Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.This iterator must be closed after use.
- Parameters:
keyFrom
- The first key that could be in the rangekeyTo
- The last key that could be in the rangeearliestSessionEndTime
- the end timestamp of the earliest session to search for, where iteration starts.latestSessionStartTime
- the end timestamp of the latest session to search for, where iteration ends.- Returns:
- iterator of sessions with the matching keys and aggregated values, from earliest to latest session time.
- Throws:
NullPointerException
- If null is used for any key.
-
backwardFindSessions
default KeyValueIterator<Windowed<K>,AGG> backwardFindSessions(K keyFrom, K keyTo, long earliestSessionEndTime, long latestSessionStartTime)
Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.This iterator must be closed after use.
- Parameters:
keyFrom
- The first key that could be in the rangekeyTo
- The last key that could be in the rangeearliestSessionEndTime
- the end timestamp of the earliest session to search for, where iteration ends.latestSessionStartTime
- the end timestamp of the latest session to search for, where iteration starts.- Returns:
- backward iterator of sessions with the matching keys and aggregated values, from latest to earliest session time.
- Throws:
NullPointerException
- If null is used for any key.
-
fetchSession
default AGG fetchSession(K key, long startTime, long endTime)
Get the value of key from a single session.- Parameters:
key
- the key to fetchstartTime
- start timestamp of the sessionendTime
- end timestamp of the session- Returns:
- The value or
null
if no session associated with the key can be found - Throws:
NullPointerException
- Ifnull
is used for any key.
-
fetch
KeyValueIterator<Windowed<K>,AGG> fetch(K key)
Retrieve all aggregated sessions for the provided key. This iterator must be closed after use.For each key, the iterator guarantees ordering of sessions, starting from the oldest/earliest available session to the newest/latest session.
- Parameters:
key
- record key to find aggregated session values for- Returns:
- KeyValueIterator containing all sessions for the provided key, from oldest to newest session.
- Throws:
NullPointerException
- If null is used for key.
-
backwardFetch
default KeyValueIterator<Windowed<K>,AGG> backwardFetch(K key)
Retrieve all aggregated sessions for the provided key. This iterator must be closed after use.For each key, the iterator guarantees ordering of sessions, starting from the newest/latest available session to the oldest/earliest session.
- Parameters:
key
- record key to find aggregated session values for- Returns:
- backward KeyValueIterator containing all sessions for the provided key, from newest to oldest session.
- Throws:
NullPointerException
- If null is used for key.
-
fetch
KeyValueIterator<Windowed<K>,AGG> fetch(K from, K to)
Retrieve all aggregated sessions for the given range of keys. This iterator must be closed after use.For each key, the iterator guarantees ordering of sessions, starting from the oldest/earliest available session to the newest/latest session.
- Parameters:
from
- first key in the range to find aggregated session values forto
- last key in the range to find aggregated session values for- Returns:
- KeyValueIterator containing all sessions for the provided key, from oldest to newest session.
- Throws:
NullPointerException
- If null is used for any of the keys.
-
backwardFetch
default KeyValueIterator<Windowed<K>,AGG> backwardFetch(K from, K to)
Retrieve all aggregated sessions for the given range of keys. This iterator must be closed after use.For each key, the iterator guarantees ordering of sessions, starting from the newest/latest available session to the oldest/earliest session.
- Parameters:
from
- first key in the range to find aggregated session values forto
- last key in the range to find aggregated session values for- Returns:
- backward KeyValueIterator containing all sessions for the provided key, from newest to oldest session.
- Throws:
NullPointerException
- If null is used for any of the keys.
-
-