Documentation ¶
Index ¶
- Constants
- Variables
- func NewCRDBDatastore(ctx context.Context, url string, options ...Option) (datastore.Datastore, error)
- type Option
- func ConnectRate(rate time.Duration) Option
- func DisableStats(disable bool) Option
- func FollowerReadDelay(delay time.Duration) Option
- func GCWindow(window time.Duration) Option
- func MaxRetries(maxRetries uint8) Option
- func MaxRevisionStalenessPercent(stalenessPercent float64) Option
- func OverlapKey(key string) Option
- func OverlapStrategy(strategy string) Option
- func ReadConnHealthCheckInterval(interval time.Duration) Option
- func ReadConnMaxIdleTime(idle time.Duration) Option
- func ReadConnMaxLifetime(lifetime time.Duration) Option
- func ReadConnMaxLifetimeJitter(jitter time.Duration) Option
- func ReadConnsMaxOpen(conns int) Option
- func ReadConnsMinOpen(conns int) Option
- func RevisionQuantization(bucketSize time.Duration) Option
- func WatchBufferLength(watchBufferLength uint16) Option
- func WatchBufferWriteTimeout(watchBufferWriteTimeout time.Duration) Option
- func WithEnableConnectionBalancing(connectionBalancing bool) Option
- func WithEnablePrometheusStats(enablePrometheusStats bool) Option
- func WriteConnHealthCheckInterval(interval time.Duration) Option
- func WriteConnMaxIdleTime(idle time.Duration) Option
- func WriteConnMaxLifetime(lifetime time.Duration) Option
- func WriteConnMaxLifetimeJitter(jitter time.Duration) Option
- func WriteConnsMaxOpen(conns int) Option
- func WriteConnsMinOpen(conns int) Option
Constants ¶
const (
Engine = "cockroachdb"
)
Variables ¶
var ParseRevisionString = revisions.RevisionParser(revisions.HybridLogicalClock)
Functions ¶
Types ¶
type Option ¶ added in v1.0.0
type Option func(*crdbOptions)
Option provides the facility to configure how clients within the CRDB datastore interact with the running CockroachDB database.
func ConnectRate ¶ added in v1.22.0
ConnectRate is the rate at which new datastore connections can be made.
This is a duration, the rate is 1/period.
func DisableStats ¶ added in v1.11.0
DisableStats disables recording counts to the stats table
func FollowerReadDelay ¶ added in v1.2.0
FollowerReadDelay is the time delay to apply to enable historial reads.
This value defaults to 0 seconds.
func GCWindow ¶
GCWindow is the maximum age of a passed revision that will be considered valid.
This value defaults to 24 hours.
func MaxRetries ¶ added in v1.0.0
MaxRetries is the maximum number of times a retriable transaction will be client-side retried. Default: 5
func MaxRevisionStalenessPercent ¶ added in v1.0.0
MaxRevisionStalenessPercent is the amount of time, expressed as a percentage of the revision quantization window, that a previously computed rounded revision can still be advertised after the next rounded revision would otherwise be ready.
This value defaults to 0.1 (10%).
func OverlapKey ¶ added in v1.0.0
OverlapKey is a key touched on every write if OverlapStrategy is "static" Default: 'key'
func OverlapStrategy ¶ added in v1.0.0
OverlapStrategy is the strategy used to generate overlap keys on write. Default: 'static'
func ReadConnHealthCheckInterval ¶ added in v1.18.0
ReadConnHealthCheckInterval is the frequency at which both idle and max lifetime connections are checked, and also the frequency at which the minimum number of connections is checked.
This happens asynchronously.
This is not the only approach to evaluate these counts; "connection idle/max lifetime" is also checked when connections are released to the pool.
There is no guarantee connections won't last longer than their specified idle/max lifetime. It's largely dependent on the health-check goroutine being able to pull them from the connection pool.
The health-check may not be able to clean up those connections if they are held by the application very frequently.
This value defaults to 30s.
func ReadConnMaxIdleTime ¶ added in v1.18.0
ReadConnMaxIdleTime is the duration after which an idle read connection will be automatically closed by the health check.
This value defaults to having no maximum.
func ReadConnMaxLifetime ¶ added in v1.18.0
ReadConnMaxLifetime is the duration since creation after which a read connection will be automatically closed.
This value defaults to having no maximum.
func ReadConnMaxLifetimeJitter ¶ added in v1.19.0
ReadConnMaxLifetimeJitter is an interval to wait up to after the max lifetime to close the connection.
This value defaults to 20% of the max lifetime.
func ReadConnsMaxOpen ¶ added in v1.18.0
ReadConnsMaxOpen is the maximum size of the connection pool used for reads.
This value defaults to having no maximum.
func ReadConnsMinOpen ¶ added in v1.18.0
ReadConnsMinOpen is the minimum size of the connection pool used for reads.
The health check will increase the number of connections to this amount if it had dropped below.
This value defaults to the maximum open connections.
func RevisionQuantization ¶
RevisionQuantization is the time bucket size to which advertised revisions will be rounded.
This value defaults to 5 seconds.
func WatchBufferLength ¶
WatchBufferLength is the number of entries that can be stored in the watch buffer while awaiting read by the client.
This value defaults to 128.
func WatchBufferWriteTimeout ¶ added in v1.29.0
WatchBufferWriteTimeout is the maximum timeout for writing to the watch buffer, after which the caller to the watch will be disconnected.
func WithEnableConnectionBalancing ¶ added in v1.22.0
WithEnableConnectionBalancing marks whether Prometheus metrics provided by the Postgres clients being used by the datastore are enabled.
Prometheus metrics are disabled by default.
func WithEnablePrometheusStats ¶ added in v1.12.0
WithEnablePrometheusStats marks whether Prometheus metrics provided by the Postgres clients being used by the datastore are enabled.
Prometheus metrics are disabled by default.
func WriteConnHealthCheckInterval ¶ added in v1.18.0
WriteConnHealthCheckInterval is the frequency at which both idle and max lifetime connections are checked, and also the frequency at which the minimum number of connections is checked.
This happens asynchronously.
This is not the only approach to evaluate these counts; "connection idle/max lifetime" is also checked when connections are released to the pool.
There is no guarantee connections won't last longer than their specified idle/max lifetime. It's largely dependent on the health-check goroutine being able to pull them from the connection pool.
The health-check may not be able to clean up those connections if they are held by the application very frequently.
This value defaults to 30s.
func WriteConnMaxIdleTime ¶ added in v1.18.0
WriteConnMaxIdleTime is the duration after which an idle write connection will be automatically closed by the health check.
This value defaults to having no maximum.
func WriteConnMaxLifetime ¶ added in v1.18.0
WriteConnMaxLifetime is the duration since creation after which a write connection will be automatically closed.
This value defaults to having no maximum.
func WriteConnMaxLifetimeJitter ¶ added in v1.19.0
WriteConnMaxLifetimeJitter is an interval to wait up to after the max lifetime to close the connection.
This value defaults to 20% of the max lifetime.
func WriteConnsMaxOpen ¶ added in v1.18.0
WriteConnsMaxOpen is the maximum size of the connection pool used for writes.
This value defaults to having no maximum.
func WriteConnsMinOpen ¶ added in v1.18.0
WriteConnsMinOpen is the minimum size of the connection pool used for writes.
The health check will increase the number of connections to this amount if it had dropped below.
This value defaults to the maximum open connections.