Uses of Package
org.apache.cassandra.utils.concurrent
-
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.audit Class Description WeightedQueue.Weighable -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.batchlog Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.cache Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.concurrent Class Description AbstractFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).AsyncFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).Awaitable A generic signal consumer, supporting all of the typical patterns used in Cassandra.Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.RunnableFuture SyncFuture Netty's DefaultPromise uses a mutex to coordinate notifiers AND waiters between the eventLoop and the other threads. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.cql3 Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.OpOrder A class for providing synchronization between producers and consumers that do not communicate directly with each other, but where the consumers need to process their work in contiguous batches.OpOrder.Barrier This class represents a synchronisation point providing ordering guarantees on operations started against the enclosing OpOrder.OpOrder.Group Represents a group of identically ordered operations, i.e.Refs A collection of managed Ref references to RefCounted objects, and the objects they are referencing. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db.commitlog Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.Semaphore WaitQueue A relatively easy to use utility for general purpose thread signalling. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db.compaction Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.Refs A collection of managed Ref references to RefCounted objects, and the objects they are referencing. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db.compaction.unified Class Description Transactional An abstraction for Transactional behaviour.Transactional.AbstractTransactional A simple abstract implementation of Transactional behaviour. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db.compaction.writers Class Description Transactional An abstraction for Transactional behaviour.Transactional.AbstractTransactional A simple abstract implementation of Transactional behaviour. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db.lifecycle Class Description OpOrder.Group Represents a group of identically ordered operations, i.e.Transactional An abstraction for Transactional behaviour.Transactional.AbstractTransactional A simple abstract implementation of Transactional behaviour. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db.memtable Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.OpOrder.Barrier This class represents a synchronisation point providing ordering guarantees on operations started against the enclosing OpOrder.OpOrder.Group Represents a group of identically ordered operations, i.e. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db.partitions Class Description OpOrder.Group Represents a group of identically ordered operations, i.e. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db.repair Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.Refs A collection of managed Ref references to RefCounted objects, and the objects they are referencing. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db.rows Class Description OpOrder.Group Represents a group of identically ordered operations, i.e. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.db.streaming Class Description Ref An object that needs ref counting does the two following: - defines a Tidy object that will cleanup once it's gone, (this must retain no references to the object we're tracking (only its resources and how to clean up)) Then, one of two options: 1) Construct a Ref directly pointing to it, and always use this Ref; or 2) - implements RefCounted - encapsulates a Ref, we'll call selfRef, to which it proxies all calls to RefCounted behaviours - users must ensure no references to the selfRef leak, or are retained outside of a method scope. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.dht Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.fql Class Description WeightedQueue.Weighable -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.hints Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.index Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.index.sai Class Description SharedCloseable A simple extension of AutoCloseable, that represents a resource that can be utilised in multiple locations, each managing their own closure of the resource, so that when the last such instance is closed all are.SharedCloseableImpl A simple abstract implementation of SharedCloseable -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.index.sasi.disk Class Description CountDownLatch -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.io.compress Class Description Ref.IdentityCollection SharedCloseable A simple extension of AutoCloseable, that represents a resource that can be utilised in multiple locations, each managing their own closure of the resource, so that when the last such instance is closed all are.SharedCloseableImpl A simple abstract implementation of SharedCloseableTransactional An abstraction for Transactional behaviour.Transactional.AbstractTransactional A simple abstract implementation of Transactional behaviour.WrappedSharedCloseable An implementation of SharedCloseable that wraps a normal AutoCloseable, ensuring its close method is only called when all instances of SharedCloseable have been -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.io.sstable Class Description OpOrder.Barrier This class represents a synchronisation point providing ordering guarantees on operations started against the enclosing OpOrder.Transactional An abstraction for Transactional behaviour.Transactional.AbstractTransactional A simple abstract implementation of Transactional behaviour. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.io.sstable.format Class Description Ref An object that needs ref counting does the two following: - defines a Tidy object that will cleanup once it's gone, (this must retain no references to the object we're tracking (only its resources and how to clean up)) Then, one of two options: 1) Construct a Ref directly pointing to it, and always use this Ref; or 2) - implements RefCounted - encapsulates a Ref, we'll call selfRef, to which it proxies all calls to RefCounted behaviours - users must ensure no references to the selfRef leak, or are retained outside of a method scope.Ref.IdentityCollection RefCounted An object that needs ref counting does the two following: - defines a Tidy object that will cleanup once it's gone, (this must retain no references to the object we're tracking (only its resources and how to clean up)) Then, one of two options: 1) Construct a Ref directly pointing to it, and always use this Ref; or 2) - implements RefCounted - encapsulates a Ref, we'll call selfRef, to which it proxies all calls to RefCounted behaviours - users must ensure no references to the selfRef leak, or are retained outside of a method scope.RefCounted.Tidy SelfRefCounted Transactional An abstraction for Transactional behaviour.Transactional.AbstractTransactional A simple abstract implementation of Transactional behaviour. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.io.sstable.format.big Class Description RefCounted An object that needs ref counting does the two following: - defines a Tidy object that will cleanup once it's gone, (this must retain no references to the object we're tracking (only its resources and how to clean up)) Then, one of two options: 1) Construct a Ref directly pointing to it, and always use this Ref; or 2) - implements RefCounted - encapsulates a Ref, we'll call selfRef, to which it proxies all calls to RefCounted behaviours - users must ensure no references to the selfRef leak, or are retained outside of a method scope.SelfRefCounted Transactional An abstraction for Transactional behaviour.Transactional.AbstractTransactional A simple abstract implementation of Transactional behaviour. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.io.sstable.format.bti Class Description Ref.IdentityCollection RefCounted An object that needs ref counting does the two following: - defines a Tidy object that will cleanup once it's gone, (this must retain no references to the object we're tracking (only its resources and how to clean up)) Then, one of two options: 1) Construct a Ref directly pointing to it, and always use this Ref; or 2) - implements RefCounted - encapsulates a Ref, we'll call selfRef, to which it proxies all calls to RefCounted behaviours - users must ensure no references to the selfRef leak, or are retained outside of a method scope.SelfRefCounted SharedCloseable A simple extension of AutoCloseable, that represents a resource that can be utilised in multiple locations, each managing their own closure of the resource, so that when the last such instance is closed all are.Transactional An abstraction for Transactional behaviour.Transactional.AbstractTransactional A simple abstract implementation of Transactional behaviour. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.io.sstable.indexsummary Class Description Ref.IdentityCollection SharedCloseable A simple extension of AutoCloseable, that represents a resource that can be utilised in multiple locations, each managing their own closure of the resource, so that when the last such instance is closed all are.SharedCloseableImpl A simple abstract implementation of SharedCloseableWrappedSharedCloseable An implementation of SharedCloseable that wraps a normal AutoCloseable, ensuring its close method is only called when all instances of SharedCloseable have been -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.io.util Class Description Ref.IdentityCollection RefCounted.Tidy SharedCloseable A simple extension of AutoCloseable, that represents a resource that can be utilised in multiple locations, each managing their own closure of the resource, so that when the last such instance is closed all are.SharedCloseableImpl A simple abstract implementation of SharedCloseableTransactional An abstraction for Transactional behaviour.Transactional.AbstractTransactional A simple abstract implementation of Transactional behaviour. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.net Class Description AbstractFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).AsyncFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).AsyncPromise ExtendsAsyncFuture
to implement thePromise
interface.AsyncPromise.WithExecutor Awaitable A generic signal consumer, supporting all of the typical patterns used in Cassandra.Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.Promise A Promise that integratesPromise
with ourFuture
API to improve clarity and coherence in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.repair Class Description AbstractFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).AsyncFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).Awaitable A generic signal consumer, supporting all of the typical patterns used in Cassandra.Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.repair.consistent Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.repair.messages Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.schema Class Description Awaitable A generic signal consumer, supporting all of the typical patterns used in Cassandra. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.service Class Description Condition Simpler API than java.util.concurrent.Condition; would be nice to extend it, but also nice to share API with Future, for which Netty's API is incompatible with java.util.concurrent.ConditionAwaitable
for explicit external signals.Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.IntrusiveStack An efficient stack/list that is expected to be ordinarily either empty or close to, and for which we need concurrent insertions and do not need to support removal - i.e. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.service.paxos.cleanup Class Description AbstractFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).AsyncFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).Awaitable A generic signal consumer, supporting all of the typical patterns used in Cassandra.Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.service.paxos.v1 Class Description CountDownLatch -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.service.reads Class Description Accumulator A simple append-only collection supporting an unbounded number of concurrent readers/writers, but a bounded number of items. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.service.reads.repair Class Description AbstractFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).AsyncFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).Awaitable A generic signal consumer, supporting all of the typical patterns used in Cassandra.Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.streaming Class Description AbstractFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).AsyncFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).Awaitable A generic signal consumer, supporting all of the typical patterns used in Cassandra.Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.streaming.async Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.transport Class Description NonBlockingRateLimiter A rate limiter implementation that allows callers to reserve permits that may only be available in the future, delegating to them decisions about how to schedule/delay work and whether or not to block execution to do so. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.utils Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.Ref.IdentityCollection SharedCloseable A simple extension of AutoCloseable, that represents a resource that can be utilised in multiple locations, each managing their own closure of the resource, so that when the last such instance is closed all are.SharedCloseableImpl A simple abstract implementation of SharedCloseableWrappedSharedCloseable An implementation of SharedCloseable that wraps a normal AutoCloseable, ensuring its close method is only called when all instances of SharedCloseable have been -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.utils.concurrent Class Description AbstractFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).AsyncFuture Our defaultFuture
implementation, with all state being managed without locks (except those used by the JVM).AsyncPromise ExtendsAsyncFuture
to implement thePromise
interface.Awaitable A generic signal consumer, supporting all of the typical patterns used in Cassandra.Awaitable.AbstractAwaitable Awaitable.AsyncAwaitable A barebones asynchronousAwaitable
.Awaitable.SyncAwaitable A barebonesAwaitable
that uses mutual exclusion.Condition Simpler API than java.util.concurrent.Condition; would be nice to extend it, but also nice to share API with Future, for which Netty's API is incompatible with java.util.concurrent.ConditionAwaitable
for explicit external signals.Condition.Async An asynchronousCondition
.ConditionAsConsumer CountDownLatch Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.FutureCombiner Netty's PromiseCombiner is not threadsafe, and we combine futures from multiple event executors.ImmediateFuture IntrusiveStack An efficient stack/list that is expected to be ordinarily either empty or close to, and for which we need concurrent insertions and do not need to support removal - i.e.IntrusiveStack.Setter LightweightRecycler A simple thread local object reuse facility with limited capacity and no attempt at rebalancing pooling between threads.LoadingMap.UnloadExecutionException Thrown when unloading a value failed.NonBlockingRateLimiter A rate limiter implementation that allows callers to reserve permits that may only be available in the future, delegating to them decisions about how to schedule/delay work and whether or not to block execution to do so.OpOrder.Barrier This class represents a synchronisation point providing ordering guarantees on operations started against the enclosing OpOrder.OpOrder.Group Represents a group of identically ordered operations, i.e.Promise A Promise that integratesPromise
with ourFuture
API to improve clarity and coherence in the codebase.Ref An object that needs ref counting does the two following: - defines a Tidy object that will cleanup once it's gone, (this must retain no references to the object we're tracking (only its resources and how to clean up)) Then, one of two options: 1) Construct a Ref directly pointing to it, and always use this Ref; or 2) - implements RefCounted - encapsulates a Ref, we'll call selfRef, to which it proxies all calls to RefCounted behaviours - users must ensure no references to the selfRef leak, or are retained outside of a method scope.Ref.IdentityCollection Ref.OnLeak RefCounted An object that needs ref counting does the two following: - defines a Tidy object that will cleanup once it's gone, (this must retain no references to the object we're tracking (only its resources and how to clean up)) Then, one of two options: 1) Construct a Ref directly pointing to it, and always use this Ref; or 2) - implements RefCounted - encapsulates a Ref, we'll call selfRef, to which it proxies all calls to RefCounted behaviours - users must ensure no references to the selfRef leak, or are retained outside of a method scope.RefCounted.Tidy Refs A collection of managed Ref references to RefCounted objects, and the objects they are referencing.SelfRefCounted Semaphore SharedCloseable A simple extension of AutoCloseable, that represents a resource that can be utilised in multiple locations, each managing their own closure of the resource, so that when the last such instance is closed all are.SharedCloseableImpl A simple abstract implementation of SharedCloseableSyncFuture Netty's DefaultPromise uses a mutex to coordinate notifiers AND waiters between the eventLoop and the other threads.SyncPromise ExtendsSyncFuture
to implement thePromise
interface.Transactional An abstraction for Transactional behaviour.Transactional.AbstractTransactional.State UncheckedInterruptedException UncheckedInterruptedException
, to be thrown in places where an interrupt is unexpectedWaitQueue A relatively easy to use utility for general purpose thread signalling.WaitQueue.Signal A Signal is a one-time-use mechanism for a thread to wait for notification that some condition state has transitioned that it may be interested in (and hence should check if it is).WeightedQueue.Weigher WrappedSharedCloseable An implementation of SharedCloseable that wraps a normal AutoCloseable, ensuring its close method is only called when all instances of SharedCloseable have been -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.utils.memory Class Description Future A Future that integrates several different (but equivalent) APIs used within Cassandra into a single concept, integrating also with ourAwaitable
abstraction, to overall improve coherency and clarity in the codebase.OpOrder.Group Represents a group of identically ordered operations, i.e.WaitQueue A relatively easy to use utility for general purpose thread signalling. -
Classes in org.apache.cassandra.utils.concurrent used by org.apache.cassandra.utils.obs Class Description Ref.IdentityCollection