CacheScheduler.Entry, need to be a separate class
because the Entry must not be referenced from the runnable executed in CacheScheduler.cacheManager's ExecutorService,
that would be a leak preventing the Entry to be collected by GC, and therefore CacheScheduler.EntryImpl.entryCleaner to be run by
the JVM.CacheScheduler.Entry.getCacheState(), if it is CacheScheduler.VersionedCache, and unschedule future updates.CacheGenerator.generateCache(T, org.apache.druid.server.lookup.namespace.cache.CacheScheduler.EntryImpl<T>, java.lang.String, org.apache.druid.server.lookup.namespace.cache.CacheScheduler) implementations, to obtain a CacheScheduler.VersionedCache to be returned.CacheGenerator, has data newer than identified
by the given lastVersion (which is null at the first run of this method, or the version from the previous
run), this method creates a new CacheScheduler.VersionedCache with CacheScheduler.createVersionedCache(org.apache.druid.server.lookup.namespace.cache.CacheScheduler.EntryImpl<? extends org.apache.druid.query.lookup.namespace.ExtractionNamespace>, java.lang.String), called on the given scheduler, with the version string identifying
the current version of lookup source, populates the created VersionedCache and returns it.CacheScheduler.NoCache or CacheScheduler.VersionedCache.Copyright © 2011–2018 The Apache Software Foundation. All rights reserved.