You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 18
Next »
Status
Current state: Under Discussion
Discussion thread: here
JIRA:
Unable to render Jira issues macro, execution error.
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
Currently, IQ throws InvalidStateStoreException for any types of error, that means a user cannot handle different types of error. Because of that, we should throw different exceptions for each type.
Proposed Changes
Three categories exception to user
- StateStoreRetryableException: just wait, plain retry
- StateStoreMigratedException: need rediscover
- StateStoreFailException: fatal error, cannot retry or rediscover
public class StateStoreClosedException extends InvalidStateStoreException
public class StateStoreMigratedException extends InvalidStateStoreException
public class StateStoreRetryableException extends InvalidStateStoreException
public class StateStoreFailException extends InvalidStateStoreException
Call Trace
Call trace 1: KafkaStreams#store()
- KafkaStreams#store() (v)
- QueryableStoreProvider#getStore() (v)
- GlobalStateStore#stores() (v)
- StreamThreadStateStroeProvider#stores() (v)
Call trace 2: CompositeReadOnlyKeyValueStore#get()
- CompositeReadOnlyKeyValueStore#get() (v)
- WrappingStoreProvider#stores() (v)
- StreamThreadStateStoreProvider#stores() (v)
- MeteredKeyValueBytesStore#get()
- InnerMeteredKeyValueStore#get()
- CachingKeyValueStore#get()
- AbstractStateStore#validateStoreOpen() (v)
- CachingKeyValueStore#getInternal()
- ChangeLoggingKeyValueBytesStore#get()
- RocksDBStore#get()
- RocksDBStore#validateStoreOpen() (v)
- RocksDBStore#getInternal()
Call trace 3: CompositeReadOnlyKeyValueStore#range()
- CompositeReadOnlyKeyValueStore#range() (v)
- WrappingStoreProvider#stores() (v)
- StreamThreadStateStoreProvider#stores() (v)
- return new DelegatingPeekingKeyValueIterator<>()
- DelegatingPeekingKeyValueIterator#hasNext()
- CompositKeyValueIterator#hasNext()
- NextIteratorFunction#apply()
- MeteredKeyValueBytesStore#range()
- InnerMeteredKeyValueStore#range()
- CachingKeyValueStore#range()
- AbstractStateStore#validateStoreOpen() (v)
- ChangeLoggingKeyValueBytesStore#range()
- RocksDBStore#range()
- RocksDBStore#validateStoreOpen() (v)
- return new RocksDBRangeIterator()
- return new MergedSortedCacheKeyValueBytesStoreIterator()
- return new MeteredKeyValueIterator()
- return
- return
- CompositKeyValueIterator#next()
- MeteredKeyValueIterator#next()
- MergedSortedCacheKeyValueBytesStoreIterator#next()
AbstractMergedSortedCacheStoreIterator#next()
- RocksDBRangeIterator#hasNext()
RocksDBIterator#hasNext() (v) - AbstractMergedStortedCacheStoreIterator#nextSrtoreValue()
- RocksDBRangeIterator#next()
RocksDBIterator#next()- RocksDBIterator#hasNext() (v)
- RocksDBIterator#getKeyValue()
- RocksIterator#next()
- return keyvalue entry
- return
- return
- return outerkeyvalue
- return
- return true
- DelegatingPeekingKeyValueIterator#next()