Hi Chris,

I'm not sure I totally understand your requirements but the
StateRestoreListener (
https://kafka.apache.org/20/javadoc/org/apache/kafka/streams/processor/StateRestoreListener.html)
class  provides callbacks when restoring state stores (including
GlobalStores) and may provide what you are looking for.

Thanks,
Bill

On Tue, Nov 13, 2018 at 8:49 PM Chris Toomey <ctoo...@gmail.com> wrote:

> Definitely Ryanne -- that's what I meant by "topics would be compacted".
>
> But that doesn't obviate checking bootstrapping progress.
>
> On Tue, Nov 13, 2018 at 5:04 PM Ryanne Dolan <ryannedo...@gmail.com>
> wrote:
>
> > Chris, consider using log compaction.
> >
> > Ryanne
> >
> > On Tue, Nov 13, 2018, 3:17 PM Chris Toomey <ctoo...@gmail.com> wrote:
> >
> > > We're considering using GlobalKTables / KeyValueStores for locally
> > caching
> > > topic content in services. The topics would be compacted such that only
> > the
> > > latest key/value pair would exist for a given key.
> > >
> > > One question that's come up is how to determine, when bootstrapping the
> > > app, when the cache has been populated with the latest content from the
> > > topic (so we start with a "warm" cache). ReadOnlyKeyValueStore has
> > > an approximateNumEntries() method that we could use to see how much
> we've
> > > got, but trying to figure out how much there is in the topic looks much
> > > more difficult -- the only way I can see via the APIs / code is to use
> an
> > > AdminClient to get the topic partitions and then the KafkaConsumer to
> get
> > > the end offsets for those.
> > >
> > > Does anyone have experience doing this kind of caching? How did you
> > handle
> > > the bootstrapping issue?
> > >
> > > Any thoughts on easier or better ways to determine when the cache is
> > warm?
> > >
> > > thx,
> > > Chris
> > >
> >
>

Reply via email to