Search in sources :

Example 1 with LockWatchEventCache

use of com.palantir.lock.watch.LockWatchEventCache in project atlasdb by palantir.

the class LockWatchManagerImpl method create.

public static LockWatchManagerInternal create(MetricsManager metricsManager, Set<Schema> schemas, LockWatchStarter lockWatchingService, LockWatchCachingConfig config) {
    Set<LockWatchReference> referencesFromSchema = schemas.stream().map(Schema::getLockWatches).flatMap(Set::stream).collect(Collectors.toSet());
    Set<TableReference> watchedTablesFromSchema = referencesFromSchema.stream().map(schema -> schema.accept(LockWatchReferencesVisitor.INSTANCE)).collect(Collectors.toSet());
    CacheMetrics metrics = CacheMetrics.create(metricsManager);
    LockWatchEventCache eventCache = LockWatchEventCacheImpl.create(metrics);
    LockWatchValueScopingCache valueCache = LockWatchValueScopingCacheImpl.create(eventCache, metrics, config.cacheSize(), config.validationProbability(), watchedTablesFromSchema);
    return new LockWatchManagerImpl(referencesFromSchema, eventCache, valueCache, lockWatchingService);
}
Also used : SafeLoggerFactory(com.palantir.logsafe.logger.SafeLoggerFactory) ScheduledFuture(java.util.concurrent.ScheduledFuture) LockWatchRequest(com.palantir.atlasdb.timelock.api.LockWatchRequest) CommitUpdate(com.palantir.lock.watch.CommitUpdate) SafeLogger(com.palantir.logsafe.logger.SafeLogger) MetricsManager(com.palantir.atlasdb.util.MetricsManager) LockWatchEventCache(com.palantir.lock.watch.LockWatchEventCache) PTExecutors(com.palantir.common.concurrent.PTExecutors) LockWatchCache(com.palantir.lock.watch.LockWatchCache) TransactionsLockWatchUpdate(com.palantir.lock.watch.TransactionsLockWatchUpdate) ScheduledExecutorService(java.util.concurrent.ScheduledExecutorService) TableReference(com.palantir.atlasdb.keyvalue.api.TableReference) LockWatchReference(com.palantir.lock.watch.LockWatchReferences.LockWatchReference) LockWatchValueScopingCacheImpl(com.palantir.atlasdb.keyvalue.api.cache.LockWatchValueScopingCacheImpl) LockWatchValueScopingCache(com.palantir.atlasdb.keyvalue.api.cache.LockWatchValueScopingCache) LockWatchVersion(com.palantir.lock.watch.LockWatchVersion) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) Set(java.util.Set) Collectors(java.util.stream.Collectors) LockWatchReferences(com.palantir.lock.watch.LockWatchReferences) TimeUnit(java.util.concurrent.TimeUnit) TransactionScopedCache(com.palantir.atlasdb.keyvalue.api.cache.TransactionScopedCache) LockWatchCachingConfig(com.palantir.atlasdb.keyvalue.api.LockWatchCachingConfig) UnsafeArg(com.palantir.logsafe.UnsafeArg) CacheMetrics(com.palantir.atlasdb.keyvalue.api.cache.CacheMetrics) LockWatchReferencesVisitor(com.palantir.lock.watch.LockWatchReferencesVisitor) LockWatchCacheImpl(com.palantir.lock.watch.LockWatchCacheImpl) Optional(java.util.Optional) VisibleForTesting(com.google.common.annotations.VisibleForTesting) LockWatchStarter(com.palantir.lock.client.LockWatchStarter) Schema(com.palantir.atlasdb.table.description.Schema) CacheMetrics(com.palantir.atlasdb.keyvalue.api.cache.CacheMetrics) TableReference(com.palantir.atlasdb.keyvalue.api.TableReference) LockWatchEventCache(com.palantir.lock.watch.LockWatchEventCache) Schema(com.palantir.atlasdb.table.description.Schema) LockWatchReference(com.palantir.lock.watch.LockWatchReferences.LockWatchReference) LockWatchValueScopingCache(com.palantir.atlasdb.keyvalue.api.cache.LockWatchValueScopingCache)

Aggregations

VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 LockWatchCachingConfig (com.palantir.atlasdb.keyvalue.api.LockWatchCachingConfig)1 TableReference (com.palantir.atlasdb.keyvalue.api.TableReference)1 CacheMetrics (com.palantir.atlasdb.keyvalue.api.cache.CacheMetrics)1 LockWatchValueScopingCache (com.palantir.atlasdb.keyvalue.api.cache.LockWatchValueScopingCache)1 LockWatchValueScopingCacheImpl (com.palantir.atlasdb.keyvalue.api.cache.LockWatchValueScopingCacheImpl)1 TransactionScopedCache (com.palantir.atlasdb.keyvalue.api.cache.TransactionScopedCache)1 Schema (com.palantir.atlasdb.table.description.Schema)1 LockWatchRequest (com.palantir.atlasdb.timelock.api.LockWatchRequest)1 MetricsManager (com.palantir.atlasdb.util.MetricsManager)1 PTExecutors (com.palantir.common.concurrent.PTExecutors)1 LockWatchStarter (com.palantir.lock.client.LockWatchStarter)1 CommitUpdate (com.palantir.lock.watch.CommitUpdate)1 LockWatchCache (com.palantir.lock.watch.LockWatchCache)1 LockWatchCacheImpl (com.palantir.lock.watch.LockWatchCacheImpl)1 LockWatchEventCache (com.palantir.lock.watch.LockWatchEventCache)1 LockWatchReferences (com.palantir.lock.watch.LockWatchReferences)1 LockWatchReference (com.palantir.lock.watch.LockWatchReferences.LockWatchReference)1 LockWatchReferencesVisitor (com.palantir.lock.watch.LockWatchReferencesVisitor)1 LockWatchVersion (com.palantir.lock.watch.LockWatchVersion)1