You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by "Jagadish (JIRA)" <ji...@apache.org> on 2017/11/20 18:35:00 UTC
[jira] [Closed] (SAMZA-1423) Implement a RocksDb backed time-series
store for storing and retrieving messages time-ranges
[ https://issues.apache.org/jira/browse/SAMZA-1423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jagadish closed SAMZA-1423.
---------------------------
> Implement a RocksDb backed time-series store for storing and retrieving messages time-ranges
> --------------------------------------------------------------------------------------------
>
> Key: SAMZA-1423
> URL: https://issues.apache.org/jira/browse/SAMZA-1423
> Project: Samza
> Issue Type: Sub-task
> Reporter: Jagadish
> Assignee: Jagadish
>
> I'm thinking of the following API for the time-series store:
> {code}
> /**
> * A key-value store that allows entries to be queried and stored based on time ranges.
> *
> * Implementations of this interface are expected to be thread-safe.
> *
> * @param <K>, the type of key in the store
> * @param <V>, the type of value in the store
> */
> public interface TimeSeriesStore<K, V> {
> ClosableIterator<KV<V, Long>> get(K key, Long startTimestamp, Long endTimeStamp);
> void put(K key, V val, Long timeStamp);
> void remove(K key, Long startTimestamp, Long endTimeStamp);
> }
> {code}
> {code}
> /**
> * An iterator that can be closed.
> *
> * <p> Implement close to free resources assigned to the iterator such as open file handles, persistent state etc.
> *
> * @param <V>
> */
> public interface ClosableIterator<V> extends Iterator<V> {
> /**
> * Closes this iterator and frees resources assigned to it.
> *
> * It is illegal to invoke {@link #next()} and {@link #hasNext()} after an iterator has been closed.
> */
> public void close();
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)