All Classes and Interfaces
Class
Description
Deprecated.
Common parent method for all contexts.
This
Event
implementation can be used as a base event to inherit from.Loads properties from a string/string map.
AbstractPooledEndpointServiceConfig.Builder<SELF extends AbstractPooledEndpointServiceConfig.Builder<?>>
Simple data class, so all fields are public.
An error context which combines more than one context to dump.
At the moment this is a NOOP implementation because we do not perform any aggregations
on the counters.
Aggregates value information in a histogram.
Thrown if a resource is already permanently terminated and tried to be used afterwards.
Deprecated.
This is a special case of the timeout exception, signaling that the timeout happened with an ambiguous cause.
There was a problem fulfilling the analytics request.
A thread-safe cousin of
EnumSet
that performs well in use cases
dominated by reads.Query does not recognise the passed txid.
The possible states for a transaction attempt.
Every exception that has to do with authentication problems should either
instantiate or subclass from this type.
The last known authentication status for an endpoint.
The
Authenticator
encapsulates authentication strategies.Backoff function
The
BaseBucketLoader
contains all common functionality needed for the actual loader
implementations.Provides a common, abstract implementation of the
ChunkResponseParser
interface.This
BaseEndpoint
implements all common logic for endpoints that wrap the IO layer.The
BaseKeyValueRequest
should be subclassed by all KeyValue requests since it
provides common ground for all of them (i.e.Base class for the manager requests, mainly to define the service type in a uniform way.
Base class for all
Requests
.The parent class for all responses passing through the SDK.
This callback is executed once an operation reaches the core and gets sent to a node.
Retries operations on a best-effort basis until they time out.
Deprecated.
This event is raised once a bucket has been closed.
Deprecated.
In favor of
BucketTopology
Deprecated.
In favor of
TopologyParser
The reason with severity for the failure.
The type of refresher that causes the failure.
Performs a (potential endless) streaming request against the cluster manager for the given bucket.
This event is raised when a bucket config has been updated.
Defines helpful routines for working with bucket configs.
The
BucketLoader
is responsible for initially loading a fresh configuration from the
cluster.Represents the node locator used for the specific bucket type.
Exception raised if during config load the bucket is not found (think: http 404).
Exception raised if during config load the bucket is found, but not deemed ready yet.
This event is raised once a bucket has been opened.
Reports a bucket open failure which has not been retried.
This event is raised when a bucket is supposed to be opened.
This event is raised if a bucket could not be opened and is retried, for debugging reasons.
The
BucketRefresher
is responsible to keep the configurations up to date after the initial
bootstrap/load.Represents the possible bucket types.
Defines useful constants and methods regarding bytes.
When a cancellation (i.e.
Describes the reason why a
Request
has been cancelled.A request to fetch a global configuration.
Indicates an optimistic locking failure.
Metadata related to the CAS.
Performs authentication through a client certificate instead of supplying username and password.
This class holds all kinds of channel attributes that are in used across
the KV channel.
This warning indicates that the client closed an active IO channel/socket proactively because
it detected an invalid state.
Specifies the reasons why a channel has been proactively closed by the SDK.
ChunkDecodable<H extends ChunkHeader,ROW extends ChunkRow,T extends ChunkTrailer,R extends ChunkedResponse<H,ROW,T>>
Marker interface to describe how the chunked response can be decoded.
Parent class for all pipelines which need to switch between a chunked and a non-chunked handler structure.
ChunkedMessageHandler<H extends ChunkHeader,ROW extends ChunkRow,T extends ChunkTrailer,R extends ChunkedResponse<H,ROW,T>,REQ extends HttpRequest<H,ROW,T,R>>
Implements the chunk stream handling for all generic http stream based services.
Describes a full chunked response with its required sections.
Marker interface to describe the leading bits of a chunked response.
Defines the common parser interface for all chunked response parser implementations.
Marker interface to describe a row emitted from a chunked response.
Marker interface to describe the trailing bits of a chunked response.
The
CircuitBreaker
interface defines the external integration points between an
implementation and its calling BaseEndpoint
.Defines if a request is considered a success or a failure.
Represents all the states a circuit breaker can be in, possibly.
Allows configuring a
CircuitBreaker
.Used for testing/mocking.
Used for testing/mocking.
The cleanup attempt failed and was unable to cleanly return a CleanupResultEvent with !success
Represents the ClientRecord doc, a single document that contains an entry for every client (app) current
participating
in the cleanup of 'lost' transactions.
Utility class to store the result of a client checking/updating the Client Record doc.
Used for testing/mocking.
Used for testing/mocking.
Deprecated.
In favor of
ClusterCapability
Defines helpful routines for working with cluster capabilities.
The
ClusterConfig
holds bucket and global configurations in a central place.This loader is responsible for loading a config from the cluster manager.
Describes the cluster state from the clients perspective in a simplified and aggregated state.
A cluster topology that also has topology info for one bucket.
The common flags enum.
The
CollectionIdentifier
uniquely identifies the position of a collection.The
CollectionMap
maps a locator to the encoded collection ID representation.This event is raised if a collection map could be loaded, but afterwards cannot be decoded and used
as intended.
This event is raised if a collection map could not be refreshed properly.
This event is raised if an individual collection refresh is ignored.
This event is raised if an individual collection map refresh attempt succeeded.
The transaction is not allowed to commit in the current state.
The query failed to compile.
Represents a stateful component of one or more individual stateful elements.
Allows configuring and customizing the compression configuration.
This builder allows to customize the
CompressionConfig
.Concurrent Key-Value operations on the same document have been detected.
The reason why the proposed config got ignored.
This event is raised if a config cannot be pushed to downstream subscribers.
The
ConfigurationProvider
is responsible for grabbing, converting and managing
bucket and cluster configurations.Deprecated.
In favor of
TopologyRevision
Implements a
ConnectionString
.Deprecated.
Instead of publishing this event, the SDK now throws an exception.
This
PropertyLoader
takes a connection string and applies all properties
that are supported and it knows about.Contains various helper methods when dealing with the connection string.
This class gets populated with timings and success/failure of different steps in the
channel bootstrap process and later allows to extract useful information for debugging.
Helper routines for tests to wait for all nodes to have a consistent view of a resource.
Context represents some state that is passed throughout the system.
The format into which the context can be exported.
A stream window implementation that copies input data into a single accumulator buffer.
The main entry point into the core layer.
Associates a
CompletableFuture
with a cancellation task.Deprecated.
Helper class for working with bucket JSON.
Allows customizing how deferred indexes are built.
The
CoreContext
is bound to a core and provides both exportable and
usable state for the rest of the application to use.Provides access to the various
Core*Ops
instances.This event is emitted when a
Core
is created.Allows customizing how a query primary index is created.
Allows customizing how a query index is created.
Allows customizing how a query primary index is created.
Allows customizing how primary indexes are dropped.
Allows customizing how query indexes are dropped.
Either a synchronous
DurabilityLevel
, or "persist to and replicate to" for legacy durability.The Environment is the main place in the SDK where configuration and state lives (i.e.
This is an internal exception the user should never see;
The SDK should translate it to some other exception before
presenting it to the user.
Encapsulates common functionality around the eventing management APIs.
A relative or absolute expiry.
To create a new instance:
A staged builder that holds a coordinate's latitude value.
A staged builder that holds a coordinate's longitude value.
Allows customizing how query indexes are loaded.
The "path" component of a URI, with support for path parameters
whose replacement values are automatically url-encoded.
Builder for dynamic HTTP requests
Convenience macros to retrieve document metadata using a lookupIn Sub-Document call.
Merges
CoreTransactionOptions
and CoreTransactionsConfig
.Used to generically handle the core functionality of sending a GRPC request over Protostellar and handling the response.
Used to generically handle the core functionality of sending a GRPC request over Protostellar and handling the streaming
response.
For creating Protostellar GRPC requests.
For converting Protostellar GRPC responses.
For creating Protostellar GRPC KV requests.
For converting Protostellar GRPC KV responses.
For converting Protostellar GRPC KV responses.
Contains the properties of a Query Index.
Query Metrics contains the query result metrics containing counts and timings
Transactions does some rather complex things with CoreQueryOptions.
Query profiling information received from the server query engine.
The result of a N1QL query, including rows and associated metadata.
The possible values for scan consistency in a N1QL request.
Represents a single warning returned from the query engine.
Performs a KV range scan to scan between two
CoreScanTerms
.Encapsulates an ID returned by the server for each stream.
Represents one individual document returned from a kv range scan stream.
Performs a KV range scan using random sampling.
Allows to customize the various range and sampling scan options.
A single
CoreScanTerm
identifying either the point to scan from or to scan to.Either RangeScan or SampleScan
A range (or bucket) for a
CoreDateRangeSearchFacetResult
.The same interface is used for ScopeSearchIndexManager and SearchIndexManager, as there is
no API difference between them at this level.
A sort tier specified as a string.
Provides methods to allow an application's transaction logic to read, mutate, insert and delete documents, as well
as commit or rollback the transaction.
Can be used for testing transactions, but is for internal use only.
The transaction expired at the point of trying to commit it.
Stores some context related to a transaction.
The transaction could not be fully completed in the configured timeout.
The transaction failed to reach the Committed point.
Represents a value fetched from Couchbase, along with additional transactional metadata.
A logger optimized for logging transactions-specific info.
Tunables for an individual transaction.
This doesn't correspond to an individual server request.
Owns cleanup threads.
Holds transactions state that has the same lifetime as a Core.
All known protocol extensions.
Mainly to aid debugging, transactions use their own pool of schedulers.
Defines what is support by this implementation (extensions and protocol version).
Allows customizing how the query indexes are watched.
Integrates the Couchbase infrastructure with
BlockHound
.Deprecated.
In favor of
CouchbaseBucketTopology
The parent class for all exceptions created by this SDK (or clients using it).
This
SaslClientFactory
supports all couchbase supported SASL authentication
mechanisms.Represents a generic Counter interface for metrics.
Provides low-level encryption routines for implementing Field-Level Encryption as specified by
Couchbase RFC-0032.
This event is emitted if the user has configured a custom list of tls ciphers.
The queried dataset is not found on the server.
Raised when provided content could not be successfully decoded.
The standard
ConfigurationProvider
that is used by default.The
DefaultEventBus
provides the default and very efficient implementation
of the EventBus
.Allows to modify the default configuration of the
DefaultEventBus
.The default implementation for the
LoggerFormatter
.Deprecated.
Use equivalent features of reactor-core like
RetrySpec
and RetryBackoffSpec
instead.Subdocument exception thrown when the delta in an arithmetic operation (eg counter) is invalid.
This report provides insight into the current cluster state from the point of view of the client.
This exception is raised when the server fails to execute a DML query.
The default implementation for performing DNS SRV lookups.
Raised if dns srv lookup was not performed, either because it has been disabled on the environment or because
the hostname list passed in did not qualify.
The client attempted a DNS SRV lookup but it failed.
Raised when the SDK could properly load hostnames from a DNS SRV record.
This event is raised if a DNS SRV refresh attempt completed successfully.
This event is raised in case a DNS SRV refresh attempt failed (see description for more details).
Sub-Document exception thrown when ReviveDocument has been used with a document that already exists
Indicates an operation failed because the key already exists.
Responsible for doing transaction-aware get()s.
Thrown when the server reports a temporary failure that
is very likely to be lock-related (like an already locked
key or a bad cas used for unlock).
Stores some $document metadata from when the document is fetched
Indicates an operation failed because the key does not exist.
Subdocument exception thrown when the targeted enclosing document itself is not JSON.
Thrown when the server reports the document is already locked - generally raised when an unlocking operation is
being performed.
Subdocument exception thrown when document is too deep to parse.
Indicates an operation completed but no successful document was retrievable.
Naming TBD!
The synchronous replication durability work can return an ambiguous error (or we timeout waiting for the response,
which is effectively the same).
The given durability requirements are currently impossible to achieve, as not enough configured replicas
are currently available.
Specifies enhanced durability options for the mutation.
This exception is raised when a durability level has been requested that is not available on the server.
This event is raised if a durability timeout has been provided out of the allowed range and is coerced into a
sane and supported value.
Returned if an attempt is made to mutate a key which already has a durable write pending.
The requested key has a SyncWrite which is being re-committed.
Raised when provided content could not be successfully encoded.
The parent interface for all endpoints.
This event is published when an endpoint is connected properly.
This event is published when an endpoint is in the phase of reconnecting because
of an error, but disconnect was called in the meantime and as a result any
further reconnect attempts are aborted.
This event is published when an endpoint connect attempt failed.
This event is published when an endpoint is connected properly but
a disconnect signal came before so it is ignored.
A diagnostic report for an individual endpoint.
This event is generated when an endpoint disconnect was delayed because it is still in use
This event is generated when an endpoint is correctly disconnected.
This event is raised if an endpoint disconnect attempt failed for some reason.
This event is generated when an endpoint disconnect was delayed, but is now about to be disconnected
Represents all states an
Endpoint
can be in.This event is raised when an endpoint changes its underlying state.
This event is raised if the actual IO write and flush (into netty) failed.
Server remembers query plan; client sends just the prepared statement name.
Provides efficient lookup for enums whose values are associated with small integers.
A numeric error code and associated human-readable error message.
The ErrorContext is the parent interface for all service-specific error contexts that are thrown as part of
the
CouchbaseException
.The
ErrorMap
contains mappings from errors to their attributes, negotiated
between the client and the server.The KV error map got negotiated loaded from the server.
If loading the KV error map for some reason fails, this event will capture
the KV status code.
This handler tries to load the KV Error Map in a best effort manner.
If the KV error map could be loaded, but the decoding of the
buffer from JSON failed, this event will be raised.
The parent interface for all events pushed through the command and
control system.
Describes the category of any given event.
Describes the severity of any given event.
The
EventBus
is the main demarcation line between internal behavior and external
visibility.Signals if a publish call was successful and if not why.
Raised if the eventing function failed to compile on the server.
Raised if the eventing function is currently deployed.
Raised if the source and metadata keyspace are the same.
Raised if the eventing function is not bootstrapped at the time of request.
Raised if the eventing function is not deployed.
Raised if the eventing function is not found.
Subscription for a consumer on a
EventBus
that can be used
to unsubscribe once done.Deprecated.
Please use
Supplier
instead.An internal strategy to fail fast any request that goes through it.
The
FeatureNegotiatingHandler
is responsible for sending the KV "hello" command
and to handshake enabled features on both sides.Exception which states that the feature is not available for the bucket.
Captures the end of the KV feature negotiation.
A mechanism to help ensure that older clients can be prevented from interacting with transactions created by future
clients that they do not know how to process.
This transaction has been prevented from interacting with documents or metadata owned by another transaction,
due to compatibility issues.
Points in the protocol where forward compatibility can be checked.
Deprecated.
in favor of issuing manager requests using
CoreHttpClient
.This generic error context can be constructed from any request and will pull out as much information
as possible.
Represents a KV GetAndTouch operation.
Represents the response of a
GetAndLockRequest
.Represents a KV GetAndTouch operation.
Represents the response of a
GetAndTouchRequest
.Fetches the collection ID from the cluster based on a
CollectionIdentifier
.Represents a kv get meta operation.
Represents the response of a
GetMetaRequest
.Represents a KV Get (full document) operation.
Represents the response of a
GetRequest
.Deprecated.
In favor of
ClusterTopology
Exception thrown if global configs are supported but the server tells the client that there is currently
non available.
Deprecated.
In favor of
TopologyParser
This event is raised if fetching the global config failed and can be retried.
The
GlobalLoader
is different to the bucket-based loaders in that it tries to fetch a cluster global
configuration which is not bound to a specific bucket.The
GlobalRefresher
keeps the cluster-level global config up-to-date.Helper methods that have to do with certain golang-specific format the server uses.
Various netty IO handler utilities.
The
HealthPinger
allows to "ping" individual services with real operations for their health.This event is raised if the user configures a idleHttpConnectionTimeout over 4.5 seconds, which will have some
negative side effects on most services.
A host (hostname or IP address) and a port number.
Used for locating the services running on a node.
Helper methods that need to be used when dealing with the HTTP protocol.
HttpRequest<H extends ChunkHeader,ROW extends ChunkRow,T extends ChunkTrailer,R extends ChunkedResponse<H,ROW,T>>
Raised when a http config streaming connection is closed because of the configured configIdleRedialTimeout.
Indicates that a document has been modified by a non-transactional write while it is in a transaction.
Indicates an operation failed because there has been an issue with the query planner or similar.
Raised if an individual global config load event failed but it is not raised as a warning because progress
has been made from another host so it can be ignored (but is still relevant for debugging purposes).
Raised if an individual global config refresh event failed, but it is not raised as a warning since we expect
the next attempt(s) to complete.
When a replica get fetches more than one in one shot and an individual item fails it
will be ignored, but this event is logged to aid with debugging.
Raised when a global config could not be loaded.
The reasons why the global config init failed.
This event is raised if the SDK sees a potentially insecurely configured security config.
Uses the KV "add" command to insert documents if they do not already exist.
Indicates an operation failed because there has been an internal error in the server.
A read-only map where the keys are non-negative integers.
This event is created if somewhere in the IO layer an invalid packet
was detected.
Thrown when an environment config property cannot be applied.
If this event is raised, it indicates a serious bug in the system.
The
IoContext
is used to extend the core context with IO related metadata
that is useful during event generation.The
IoEnvironment
holds the I/O event loops and state.Context provided to retry or repeat callbacks.
Approximates Java 9's
java.lang.ref.Cleaner
An object and a cleaning action registered in a Cleaner.
Jitter function that is applied to the backoff delay.
Indicates the analytics server job queue is full
Parses a JSON projections string into a Seq of `PathElement`s.
Create an instance with
JsonStreamParser.builder()
.Builder instances are reusable provided that ALL configuration of the instance
occurs before any call to
JsonStreamParser.Builder.build()
.A
Ketama ring
(or "continuum", if you prefer) with Couchbase-specific parameters defined by
Couchbase SDK RFC 26 (Ketama Hashing)
The parent class for all KV responses passing through the SDK that potentially contain flexible extras.
This loader is responsible for initially loading a configuration through the kv protocol.
The
KeyValueBucketRefresher
keeps configs up-to-date through the KV service.Holds context to encode KV operations based on what got negotiated in the channel.
Raised if an unknown error is decoded and handled through the KV error map.
A
Locator
responsible for locating the right node based on the partition of the
key.This handler is responsible for writing KV requests and completing their associated responses
once they arrive.
Main parent interface for all Key/Value requests.
This event is emitted every configured aggregating meter interval.
Useful when only the latest value of a Flux is interesting,
and processing values is relatively expensive.
Client remembers query plan and sends it on every request.
The
LoggerConfig
allows to customize various aspects of the SDKs logging behavior.Deprecated.
SLF4J is used for all logging.
Consumes
Events
and logs them per configuration.The default metrics implementation which aggregates latency information and emits it at a regular interval.
Allows to configure the
LoggingMeter
.Static utility methods for global log redaction settings.
Runs the algorithm to find 'lost' transactions, distributing the work between clients.
Implements a generic LRU cache which evicts after the max size is reached.
This handler dispatches requests and responses against the cluster manager service.
Parent interface for all requests going to the cluster manager.
Provides utilities for encoding and decoding JSON data.
This exception is usually raised when a JSON encoding or decoding was not successful.
Deprecated.
In favor of
MemcachedBucketTopology
This interface defines different hashing strategies used for ketama hashing in memcached buckets.
The
MemcacheProtocol
class holds static helpers that deal with the encoding
and decoding as well as access of the memcache binary protocol.Contains all known/used kv protocol opcodes.
The
MemcacheProtocolDecodeHandler
is a lightweight decoder that understands the
KV header and aggregates header and value into one buffer before passing it on.This handler makes sure that the KV protocol packets passed around
are not malformed.
The generic interface for all metric implementations in the client.
Generic exception that captures all meter-related errors.
Tracks read and write units used.
Protects against concurrent op cancellation.
Special observe request implementation to handle more than one key at the same time.
Response for the special purpose
MultiObserveViaCasRequest
.Value object to contain partition details and sequence number.
Helper class that language-specific clients may use to implement
MutationState
.Helper class which consolidates names and tags for caching purposes.
A convenient wrapper class around network primitives in Java.
Configuration options for the network resolution setting.
Helps the config parser select the correct alternate addresses.
Deprecated.
This event is sent when a node is created, which happens before network
connections are established.
Sent when a node is created, prior to connecting to services on the node.
This event is generated when a node is correctly disconnected.
Enumerates the reasons why a disconnect nod event could be ignored by the system.
Uniquely identifies a node within the cluster, using the node's
host and manager port from the default network.
Deprecated.
In favor of
HostAndServicePorts
Holds all the different states a
Node
can be in.This message handler can be considered the opposite of the
ChunkedMessageHandler
.A simple noop implementation of the
CircuitBreaker
if disabled by the user.Represents a NOOP KV Request, doing nothing.
A NOOP implementation of a request span, utilized by the
NoopRequestTracer
.A simple NOOP implementation of the tracer, useful if tracing needs to be disabled completely.
The response of a
NoopRequest
.This event is raised if a KV response with "not my vbucket" is received.
Subdocument exception thrown when existing number value in document is too big.
Implements traditional observe-based durability requirements.
Defines the possible disk persistence constraints to observe.
Defines the possible replication constraints to observe.
Raised when a requested subdoc operation does not exist.
The client had to drop the orphan record because there queue is already full with processing other orphaned
events.
Allows to customize the behavior of the
OrphanReporter
.The builder which allows customization of the
OrphanReporterConfig
.Raised when an exception happens during orphan reporting.
Emits orphaned requests which can be used to analyze slow requests.
Emits the over threshold requests which can be used to analyze slow requests.
A holder for a resource that is either "owned" (created and managed
by the SDK) or "external" (created and managed outside the SDK).
Deprecated.
For internal Couchbase code, please use
OwnedOrExternal.owned(Object)
instead.Indicates an operation failed because parsing of the input returned with an error.
Deprecated.
In favor of
PartitionTopology
Deprecated.
In favor of
PartitionMap
A map from partition index to info about the partition.
Knows which nodes host the active and replicas for one partition.
Performs authentication against a Couchbase server cluster using username and password.
Provides customization to the
PasswordAuthenticator
.Subdocument exception thrown when a path already exists and it shouldn't
Subdocument exception thrown when path has a syntax error, or path syntax is incorrect for the operation
(for example, if operation requires an array index).
Subdocument exception thrown when the path structure conflicts with the document structure
(for example, if a path mentions foo.bar[0].baz, but foo.bar is actually a JSON object).
Subdocument exception thrown when a path does not exist in the document.
Subdocument exception thrown when path is too deep to parse.
Interface which provides a common API to initialize endpoint-specific pipelines.
Indicates an operation failed because there has been an issue with the query planner.
Deprecated.
In favor of
HostAndServicePorts
Helps the config parser select only the service ports relevant
to the client's transport security mode (TLS or non-TLS).
Parent class for requests which have their partition already set at creation time.
Prepared statement cache entry.
Indicates an operation failed because there has been an issue with query prepared statements.
Indicates that at least one purpose of the annotated field
is to prevent the value from being garbage collected.
A previous operation in the application's lambda failed, and so the currently-attempt operation is also not
permitted to proceed.
Helper functions to aid with parsing get-with-projections calls.
This context keeps together a bunch of related information needed to turn a raw
config into a parsed one.
This context keeps together a bunch of related information needed to turn a raw
config into a parsed one.
Where the public API requires a
Request
, create one dynamically.Wraps a GRPC ManagedChannel.
Maintains a pool of ProtostellarEndpoints.
Holds onto a GRPC request, along with pertaining mutable and immutable state bound to the request's lifetime.
Determines what to do with a request.
Deprecated.
The SDK never throws this exception.
This error is raised if the operation failed due to hitting a quota-limit on the server side.
Main entry point from higher level languages to perform KV range scans.
This is an internal exception used to signal exceptional states in the range scan orchestrator.
This error is raised if the operation failed due to hitting a rate-limit on the server side.
A mutex pessimistic lock, compatible with reactive.
Provides locking functionality in line with Go's WaitGroups, in a reactive compatible way.
This class provides utility methods when working with reactor.
Client got a new config and completed the reconfiguration properly without issue.
The client ran into an error during a config reconfiguration event.
Deprecated.
This event is never emitted by the SDK.
Wraps a piece of information that is subject to log redaction.
Allows to specify the level of log redaction.
Represents a KV delete operation.
Repeat function that may be used with
Flux.repeatWhen(Function)
,
Mono.repeatWhen(Function)
and Mono.repeatWhenEmpty(Function)
.Context provided to repeat predicate
Repeat.onlyIf(java.util.function.Predicate)
and
the repeat callback Repeat.doOnRepeat(java.util.function.Consumer)
.Uses the KV replace command to replace a document if it exists.
Deprecated.
Please use
CoreGetResult
in new code.Represents a
Request
flowing through the client.Marker interface for different callbacks in the request lifecycle.
Additional context which might be attached to an individual
Request
.This event is raised if a request is not retried anymore.
Wrapper interface for all spans flowing through the SDK.
Provides an abstraction over underlying tracing status codes.
The
RequestTracer
describes the tracing abstraction in the SDK.This interface is the base entity for all Responses flowing through the client.
The
ResponseStatus
describes what kind of response came back for a specific
request.Container for extended response status information.
Deprecated.
Use equivalent features of reactor-core like
RetrySpec
and RetryBackoffSpec
instead.The
RetryAction
describes how and when a request should be retried.Indicates that committing the ATR entry should be retried.
Deprecated.
Use equivalent features of reactor-core like
RetrySpec
and RetryBackoffSpec
instead.Deprecated.
Use equivalent features of reactor-core like
Exceptions.retryExhausted(String, Throwable)
and Exceptions.isRetryExhausted(Throwable)
instead.Indicates that this operation should be retried.
The
RetryOrchestrator
is responsible for checking if a request is eligible for retry
and if so dispatch it properly and update state.Provides more insight into why an operation has been retried.
Indicates that this transaction should be retried.
The transaction is not allowed to rollback in the current state.
A
Locator
which implements node selection on a round-robin basis.If something goes wrong during the SASL authentication process, this event is raised.
This handler is responsible for perform SASL authentication against the KV engine.
This event is raised if we need to re-do the SASL auth for a connection because the mechanisms did not match up
with the best-effort first try.
The
SaslListMechanismsHandler
asks the server KV engine which SASL mechanism it supports.Describes the support SASL authentication mechanisms.
This debug event signals that SASL auth mechanisms have been listed from the server.
This debug event signals that a SASL auth mechanism has been negotiated
between the client and the server.
Clock adapter around
Scheduler
.Deprecated.
The "bucket" method is now part of the Request interface,
so ScopedRequest is no longer needed.
The
SaslClientFactory
supporting various SCRAM-SHA modes.This Memcached Hashing Strategy is compatible with the SDK 2 "DefaultMemcachedHashingStrategy".
The
SecurityConfig
allows to enable transport encryption between the client and the servers.This builder allows to customize the default security configuration.
The
SeedNode
represents a combination of hostname/ip and port that is used during the SDK bootstrap.Used to signal that the seed node used for an operation is outdated and might need to be refreshed.
This event is emitted when seed nodes are updated in the configuration provider.
This event is raised if a seed nodes update cannot be pushed to downstream subscribers.
This event gets created as soon as a bucket has been selected during the
KV bootstrap process for each socket/node.
If selecting a bucket during KV bootstrap fails, this is a really problematic
issue and needs to be looked at.
The
SelectBucketHandler
is responsible for, selecting the right
bucket on this KV connection.Describes all the different negotiation modes
between the server and the SDK.
Thrown when Couchbase Server returns with an Out of Memory error.
The parent interface for all service implementations.
Enumerates the reasons why a add service event could be ignored by the system.
Exception which states that the service is not available for the bucket.
Enumerates the reasons why a remove service event could be ignored by the system.
Holds all states a
Service
can be in.This event is raised every time a
Service
changes its state.Describes the types of services available in a couchbase cluster.
Raised when a core is successfully shut down.
This event is raised when the core is beginning to shut down.
This super simple event bus should be used in testing only to assert certain
events got pushed through.
Specifies the earliest version of Couchbase Server that supports the annotated feature.
Represents a single stateful component.
Wraps a RequestSpan, with the value-add that it automatically records how long the operation took for
transaction logging.
This factory creates
SslHandler
based on a given configuration.This annotation describes the stability guarantees of the annotated
interface, class or method.
A committed interface is the highest grade of stability, and is the preferred attribute
level for consumers of the library.
This is internal API and may not be relied on at all.
No commitment is made about the interface.
Types/Methods/Interfaces marked as volatile can change any time and
for any reason.
Internal optimisation to avoid the cost of completableFuture.completeExceptionally() creating a CompletionException
(including expensive stack creation).
The default strategy, compatible with libcouchbase and related SDKs.
Common interface for stateful components.
A sliding window over the contents of a byte stream.
The
SubDocumentOpResponseStatus
describes what kind of response came back for a specific
subdoc operation request.In sub-doc the lookupIn and mutateIn paths are very similar on the server, so DRY
shared logic between them.
Marker interface to signal that the given request supports synchronous durability.
Deprecated.
the "target" method is now part of the Request interface,
so the TargetedRequest interface is no longer necessary.
Thrown when the server reports a temporary failure.
Used only in testing: injects an error that will be handled as FAIL_AMBIGUOUS.
Used only in testing: injects an error that will be handled as FAIL_HARD.
Used only in testing: injects an error that will be handled as FAIL_OTHER.
Used only in testing: injects a FAIL_TRANSIENT error.
Can be used for testing transactions, but is for internal use only.
The default tracing implementation, which tracks the top N slowest requests per service and dumps them at
configurable intervals.
The builder used to configure the
ThresholdLoggingTracer
.Deprecated.
Deprecated.
The
TimeoutException
signals that an operation timed out before it could be completed.The
Timer
acts as the main timing facility for various operations, for
example to track and time out requests if they run for too long or for rescheduling needs.Configures the internal Timer, which asynchronous retries and timeouts fire on.
This event is raised if too many instances of the SDK are created as configured.
Raised if more SDK instances are created than allowed in configuration.
Generic exception that captures all tracer-related errors.
Holds static tracing and metrics identifiers throughout the SDK.
Contains various utils to set attributes for tracing spans.
Similar to the netty LoggingHandler, but it dumps the traffic into the event bus for later
consumption instead of logging it right away.
Emitted when the lost transactions cleanup process discovered a lost transaction and attempted to clean it up.
Emitted periodically with a summary of cleanup data since the last event.
Emitted periodically with a summary of what will be done soon for cleanup.
All transaction events derive from this.
Transactions does a lot of KV work from core-io.
Stores the transaction links stored on each document in a transaction
A transaction log message.
Used to indicate that we are inside a transaction, and placed in ThreadLocalStorage (or reactive context).
Used to manage ThreadLocalStorage (or reactive context) of TransactionMarker.
This operation (such as a replace, get or insert) either failed or ambiguously succeeded.
Handles cleaning up expired/lost transactions.
An event that's fired when transactions are successfully initialised.
This is a special case of the timeout exception, signaling that the timeout happened with no ambiguous cause.
During connecting to an endpoint, an exception/error was raised which was not expected.
This event is usually raised if the server closes the socket and the client didn't expect it.
This event is raised if the client detects an unknown SASL mechanism it cannot turn into an enum.
Requests implementing this interface will not be reported in various places.
Encodes and decodes the unsigned LEB128 (Little Endian Base 128) format.
If the server sends us unsolicited features during the HELLO negotiation,
this event will be raised - it is a warning severity since it indicates
a server bug.
Uses the KV "set" command to unconditionally replace or insert documents regardless if they
exist or not.
Indicates the target element is not intended for public use,
but some other Couchbase project depends on it.
Represents a user-agent for this client.
Common validators used throughout the client.
Subdocument exception thrown when the provided value cannot be inserted at the given path.
Represents a generic value recorder for the metrics interface.
Subdocument exception thrown when proposed value would make the document too deep to parse.
Thrown when the request is too big for some reason.
Parses the individual response http chunks for a view request.
The
ViewLocator
extends the round-robin locator with some custom checks.There was a problem fulfilling the view request.
Helper class to perform the "wait until ready" logic.
Encapsulates the state of where a wait until ready flow is in.
The "wan-development" environment profile.
Raised if the watchdog in the core identifies an invalid state (and then tries to fix it).
Raised when the watchdog itself runs into an error that is logged.
TransactionOperationFailedException is raised as an opaque signal that something went wrong with a transaction
operation.
Subdocument exception thrown when the virtual attribute cannot be modified.
Deprecated.
Subdocument exception thrown when more than one xattr key has been requested.
Deprecated.
Subdocument exception thrown when an extended attribute cannot be accessed.
Subdocument exception thrown when a macro has been requested which is not recognised by the server.
Subdocument exception thrown when a virtual attribute has been requested which is not recognised by the server.
BucketCapability