final case class ReprepareOnUpConfig(enabled: Boolean = ReprepareOnUpConfig.Default.enabled, checkSystemTable: Boolean = ReprepareOnUpConfig.Default.checkSystemTable, maxStatements: Int = ReprepareOnUpConfig.Default.maxStatements, maxParallelism: Int = ReprepareOnUpConfig.Default.maxParallelism, timeout: Duration = ReprepareOnUpConfig.Default.timeout) extends Product with Serializable
How the driver replicates prepared statements on a node that just came back up or joined the cluster.
- enabled
Whether the driver tries to prepare on new nodes at all. The reason why you might want to disable it is to optimize reconnection time when you believe nodes often get marked down because of temporary network issues, rather than the node really crashing. In that case, the node still has prepared statements in its cache when the driver reconnects, so re-preparing is redundant. On the other hand, if that assumption turns out to be wrong and the node had really restarted, its prepared statement cache is empty (before CASSANDRA-8831), and statements need to be re-prepared on the fly the first time they get executed; this causes a performance penalty (one extra roundtrip to resend the query to prepare, and another to retry the execution).
- checkSystemTable
Whether to check
system.prepared_statementson the target node before repreparing. This table exists since CASSANDRA-8831 (merged in 3.10). It stores the statements already prepared on the node, and preserves them across restarts. Checking the table first avoids repreparing unnecessarily, but the cost of the query is not always worth the improvement, especially if the number of statements is low. If the table does not exist, or the query fails for any other reason, the error is ignored and the driver proceeds to reprepare statements according to the other parameters.- maxStatements
The maximum number of statements that should be reprepared. 0 or a negative value means no limit.
- maxParallelism
The maximum number of concurrent requests when repreparing.
- timeout
The request timeout. This applies both to querying the system.prepared_statements table (if relevant), and the prepare requests themselves.
- Alphabetic
- By Inheritance
- ReprepareOnUpConfig
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ReprepareOnUpConfig(enabled: Boolean = ReprepareOnUpConfig.Default.enabled, checkSystemTable: Boolean = ReprepareOnUpConfig.Default.checkSystemTable, maxStatements: Int = ReprepareOnUpConfig.Default.maxStatements, maxParallelism: Int = ReprepareOnUpConfig.Default.maxParallelism, timeout: Duration = ReprepareOnUpConfig.Default.timeout)
- enabled
Whether the driver tries to prepare on new nodes at all. The reason why you might want to disable it is to optimize reconnection time when you believe nodes often get marked down because of temporary network issues, rather than the node really crashing. In that case, the node still has prepared statements in its cache when the driver reconnects, so re-preparing is redundant. On the other hand, if that assumption turns out to be wrong and the node had really restarted, its prepared statement cache is empty (before CASSANDRA-8831), and statements need to be re-prepared on the fly the first time they get executed; this causes a performance penalty (one extra roundtrip to resend the query to prepare, and another to retry the execution).
- checkSystemTable
Whether to check
system.prepared_statementson the target node before repreparing. This table exists since CASSANDRA-8831 (merged in 3.10). It stores the statements already prepared on the node, and preserves them across restarts. Checking the table first avoids repreparing unnecessarily, but the cost of the query is not always worth the improvement, especially if the number of statements is low. If the table does not exist, or the query fails for any other reason, the error is ignored and the driver proceeds to reprepare statements according to the other parameters.- maxStatements
The maximum number of statements that should be reprepared. 0 or a negative value means no limit.
- maxParallelism
The maximum number of concurrent requests when repreparing.
- timeout
The request timeout. This applies both to querying the system.prepared_statements table (if relevant), and the prepare requests themselves.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val checkSystemTable: Boolean
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- val enabled: Boolean
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val maxParallelism: Int
- val maxStatements: Int
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val timeout: Duration
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])