Repository: cassandra
Updated Branches:
  refs/heads/trunk 12a585c91 -> 4ae229f5c


Upgrade to 4.0 fails with NullPointerException

Patch by Ariel Weisberg; Reviewed by Dinesh Joshi for CASSANDRA-14820


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4ae229f5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4ae229f5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4ae229f5

Branch: refs/heads/trunk
Commit: 4ae229f5cd270c2b43475b3f752a7b228de260ea
Parents: 12a585c
Author: Ariel Weisberg <aweisb...@apple.com>
Authored: Fri Oct 12 12:27:13 2018 -0400
Committer: Ariel Weisberg <aweisb...@apple.com>
Committed: Tue Oct 16 18:47:40 2018 -0400

----------------------------------------------------------------------
 doc/source/cql/ddl.rst                                |  4 ++--
 pylib/cqlshlib/cql3handling.py                        |  2 +-
 pylib/cqlshlib/test/test_cqlsh_completion.py          |  6 +++---
 pylib/cqlshlib/test/test_cqlsh_output.py              |  2 +-
 .../cql3/statements/schema/TableAttributes.java       |  4 ++--
 .../org/apache/cassandra/db/ColumnFamilyStore.java    |  6 +++---
 src/java/org/apache/cassandra/db/TableCQLHelper.java  |  2 +-
 .../org/apache/cassandra/metrics/KeyspaceMetrics.java |  4 ++--
 .../org/apache/cassandra/metrics/TableMetrics.java    |  8 ++++----
 .../org/apache/cassandra/schema/SchemaKeyspace.java   | 10 ++++++----
 .../org/apache/cassandra/schema/TableMetadata.java    |  4 ++--
 src/java/org/apache/cassandra/schema/TableParams.java | 14 +++++++-------
 .../service/AbstractWriteResponseHandler.java         |  4 ++--
 .../service/reads/repair/BlockingReadRepair.java      |  2 +-
 .../org/apache/cassandra/db/TableCQLHelperTest.java   |  4 ++--
 .../service/reads/repair/AbstractReadRepairTest.java  |  4 ++--
 16 files changed, 41 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/doc/source/cql/ddl.rst
----------------------------------------------------------------------
diff --git a/doc/source/cql/ddl.rst b/doc/source/cql/ddl.rst
index 2d9a50a..945e301 100644
--- a/doc/source/cql/ddl.rst
+++ b/doc/source/cql/ddl.rst
@@ -463,7 +463,7 @@ A table supports the following options:
 | ``speculative_retry``          | *simple* | 99PERCENTILE| :ref:`Speculative 
retry options                           |
 |                                |          |             | 
<speculative-retry-options>`.                             |
 
+--------------------------------+----------+-------------+-----------------------------------------------------------+
-| ``speculative_write_threshold``| *simple* | 99PERCENTILE| :ref:`Speculative 
retry options                           |
+| ``additional_write_policy``    | *simple* | 99PERCENTILE| :ref:`Speculative 
retry options                           |
 |                                |          |             | 
<speculative-retry-options>`.                             |
 
+--------------------------------+----------+-------------+-----------------------------------------------------------+
 | ``gc_grace_seconds``           | *simple* | 864000      | Time to wait 
before garbage collecting tombstones         |
@@ -496,7 +496,7 @@ Speculative retry options
 By default, Cassandra read coordinators only query as many replicas as 
necessary to satisfy
 consistency levels: one for consistency level ``ONE``, a quorum for 
``QUORUM``, and so on.
 ``speculative_retry`` determines when coordinators may query additional 
replicas, which is useful
-when replicas are slow or unresponsive.  ``speculative_write_threshold`` 
specifies the threshold at which
+when replicas are slow or unresponsive.  ``additional_write_policy`` specifies 
the threshold at which
 a cheap quorum write will be upgraded to include transient replicas.  The 
following are legal values (case-insensitive):
 
 ============================ ======================== 
=============================================================================

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 405e88e..1d17978 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -49,7 +49,7 @@ class Cql3ParsingRuleSet(CqlParsingRuleSet):
         ('max_index_interval', None),
         ('default_time_to_live', None),
         ('speculative_retry', None),
-        ('speculative_write_threshold', None),
+        ('additional_write_policy', None),
         ('memtable_flush_period_in_ms', None),
         ('cdc', None),
         ('read_repair', None),

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/pylib/cqlshlib/test/test_cqlsh_completion.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/test/test_cqlsh_completion.py 
b/pylib/cqlshlib/test/test_cqlsh_completion.py
index 794c591..db18e3f 100644
--- a/pylib/cqlshlib/test/test_cqlsh_completion.py
+++ b/pylib/cqlshlib/test/test_cqlsh_completion.py
@@ -594,7 +594,7 @@ class TestCqlshCompletion(CqlshCompletionCase):
                                      'memtable_flush_period_in_ms',
                                      'CLUSTERING',
                                      'COMPACT', 'caching', 'comment',
-                                     'min_index_interval', 
'speculative_retry', 'speculative_write_threshold', 'cdc'])
+                                     'min_index_interval', 
'speculative_retry', 'additional_write_policy', 'cdc'])
         self.trycompletions(prefix + ' new_table (col_a int PRIMARY KEY) WITH 
',
                             choices=['bloom_filter_fp_chance', 'compaction',
                                      'compression',
@@ -603,7 +603,7 @@ class TestCqlshCompletion(CqlshCompletionCase):
                                      'memtable_flush_period_in_ms',
                                      'CLUSTERING',
                                      'COMPACT', 'caching', 'comment',
-                                     'min_index_interval', 
'speculative_retry', 'speculative_write_threshold', 'cdc'])
+                                     'min_index_interval', 
'speculative_retry', 'additional_write_policy', 'cdc'])
         self.trycompletions(prefix + ' new_table (col_a int PRIMARY KEY) WITH 
bloom_filter_fp_chance ',
                             immediate='= ')
         self.trycompletions(prefix + ' new_table (col_a int PRIMARY KEY) WITH 
bloom_filter_fp_chance = ',
@@ -650,7 +650,7 @@ class TestCqlshCompletion(CqlshCompletionCase):
                                      'memtable_flush_period_in_ms',
                                      'CLUSTERING',
                                      'COMPACT', 'caching', 'comment',
-                                     'min_index_interval', 
'speculative_retry', 'speculative_write_threshold', 'cdc'])
+                                     'min_index_interval', 
'speculative_retry', 'additional_write_policy', 'cdc'])
         self.trycompletions(prefix + " new_table (col_a int PRIMARY KEY) WITH 
compaction = "
                             + "{'class': 'DateTieredCompactionStrategy', '",
                             choices=['base_time_seconds', 
'max_sstable_age_days',

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/pylib/cqlshlib/test/test_cqlsh_output.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/test/test_cqlsh_output.py 
b/pylib/cqlshlib/test/test_cqlsh_output.py
index 46546f0..fb9fcd6 100644
--- a/pylib/cqlshlib/test/test_cqlsh_output.py
+++ b/pylib/cqlshlib/test/test_cqlsh_output.py
@@ -623,7 +623,7 @@ class TestCqlshOutput(BaseTestCase):
                 AND memtable_flush_period_in_ms = 0
                 AND min_index_interval = 128
                 AND speculative_retry = '99PERCENTILE'
-                AND speculative_write_threshold = '99PERCENTILE';
+                AND additional_write_policy = '99PERCENTILE';
 
         """ % quote_name(get_keyspace()))
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/src/java/org/apache/cassandra/cql3/statements/schema/TableAttributes.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/cassandra/cql3/statements/schema/TableAttributes.java 
b/src/java/org/apache/cassandra/cql3/statements/schema/TableAttributes.java
index 4e66307..126e6d7 100644
--- a/src/java/org/apache/cassandra/cql3/statements/schema/TableAttributes.java
+++ b/src/java/org/apache/cassandra/cql3/statements/schema/TableAttributes.java
@@ -128,8 +128,8 @@ public final class TableAttributes extends 
PropertyDefinitions
         if (hasOption(Option.SPECULATIVE_RETRY))
             
builder.speculativeRetry(SpeculativeRetryPolicy.fromString(getString(Option.SPECULATIVE_RETRY)));
 
-        if (hasOption(Option.SPECULATIVE_WRITE_THRESHOLD))
-            
builder.speculativeWriteThreshold(SpeculativeRetryPolicy.fromString(getString(Option.SPECULATIVE_WRITE_THRESHOLD)));
+        if (hasOption(Option.ADDITIONAL_WRITE_POLICY))
+            
builder.additionalWritePolicy(SpeculativeRetryPolicy.fromString(getString(Option.ADDITIONAL_WRITE_POLICY)));
 
         if (hasOption(Option.CRC_CHECK_CHANCE))
             builder.crcCheckChance(getDouble(Option.CRC_CHECK_CHANCE));

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java 
b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index bc69026..877a3c5 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -204,7 +204,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
 
     public final TableMetrics metric;
     public volatile long sampleReadLatencyNanos;
-    public volatile long transientWriteLatencyNanos;
+    public volatile long additionalWriteLatencyNanos;
 
     private final CassandraTableWriteHandler writeHandler;
     private final CassandraStreamManager streamManager;
@@ -384,7 +384,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
         metric = new TableMetrics(this);
         fileIndexGenerator.set(generation);
         sampleReadLatencyNanos = 
TimeUnit.MILLISECONDS.toNanos(DatabaseDescriptor.getReadRpcTimeout() / 2);
-        transientWriteLatencyNanos = 
TimeUnit.MILLISECONDS.toNanos(DatabaseDescriptor.getWriteRpcTimeout() / 2);
+        additionalWriteLatencyNanos = 
TimeUnit.MILLISECONDS.toNanos(DatabaseDescriptor.getWriteRpcTimeout() / 2);
 
         logger.info("Initializing {}.{}", keyspace.getName(), name);
 
@@ -455,7 +455,7 @@ public class ColumnFamilyStore implements 
ColumnFamilyStoreMBean
         try
         {
             sampleReadLatencyNanos = 
metadata().params.speculativeRetry.calculateThreshold(metric.coordinatorReadLatency.getSnapshot(),
 sampleReadLatencyNanos);
-            transientWriteLatencyNanos = 
metadata().params.speculativeWriteThreshold.calculateThreshold(metric.coordinatorWriteLatency.getSnapshot(),
 transientWriteLatencyNanos);
+            additionalWriteLatencyNanos = 
metadata().params.additionalWritePolicy.calculateThreshold(metric.coordinatorWriteLatency.getSnapshot(),
 additionalWriteLatencyNanos);
         }
         catch (Throwable e)
         {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/src/java/org/apache/cassandra/db/TableCQLHelper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/TableCQLHelper.java 
b/src/java/org/apache/cassandra/db/TableCQLHelper.java
index f97bebc..21ae560 100644
--- a/src/java/org/apache/cassandra/db/TableCQLHelper.java
+++ b/src/java/org/apache/cassandra/db/TableCQLHelper.java
@@ -310,7 +310,7 @@ public class TableCQLHelper
         builder.append("\n\tAND max_index_interval = 
").append(tableParams.maxIndexInterval);
         builder.append("\n\tAND memtable_flush_period_in_ms = 
").append(tableParams.memtableFlushPeriodInMs);
         builder.append("\n\tAND speculative_retry = 
'").append(tableParams.speculativeRetry).append("'");
-        builder.append("\n\tAND speculative_write_threshold = 
'").append(tableParams.speculativeWriteThreshold).append("'");
+        builder.append("\n\tAND additional_write_policy = 
'").append(tableParams.additionalWritePolicy).append("'");
         builder.append("\n\tAND comment = 
").append(singleQuote(tableParams.comment));
         builder.append("\n\tAND caching = 
").append(toCQL(tableParams.caching.asMap()));
         builder.append("\n\tAND compaction = 
").append(toCQL(tableParams.compaction.asMap()));

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/src/java/org/apache/cassandra/metrics/KeyspaceMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/KeyspaceMetrics.java 
b/src/java/org/apache/cassandra/metrics/KeyspaceMetrics.java
index f1df026..ef3338e 100644
--- a/src/java/org/apache/cassandra/metrics/KeyspaceMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/KeyspaceMetrics.java
@@ -104,7 +104,7 @@ public class KeyspaceMetrics
     /** Needed to speculate, but didn't have enough replicas **/
     public final Counter speculativeInsufficientReplicas;
     /** Needed to write to a transient replica to satisfy quorum **/
-    public final Counter speculativeWrites;
+    public final Counter additionalWrites;
     /** Number of started repairs as coordinator on this keyspace */
     public final Counter repairsStarted;
     /** Number of completed repairs as coordinator on this keyspace */
@@ -292,7 +292,7 @@ public class KeyspaceMetrics
         speculativeRetries = createKeyspaceCounter("SpeculativeRetries", 
metric -> metric.speculativeRetries.getCount());
         speculativeFailedRetries = 
createKeyspaceCounter("SpeculativeFailedRetries", metric -> 
metric.speculativeFailedRetries.getCount());
         speculativeInsufficientReplicas = 
createKeyspaceCounter("SpeculativeInsufficientReplicas", metric -> 
metric.speculativeInsufficientReplicas.getCount());
-        speculativeWrites = createKeyspaceCounter("SpeculativeWrites", metric 
-> metric.speculativeWrites.getCount());
+        additionalWrites = createKeyspaceCounter("AdditionalWrites", metric -> 
metric.additionalWrites.getCount());
         repairsStarted = createKeyspaceCounter("RepairJobsStarted", metric -> 
metric.repairsStarted.getCount());
         repairsCompleted = createKeyspaceCounter("RepairJobsCompleted", metric 
-> metric.repairsCompleted.getCount());
         repairTime = Metrics.timer(factory.createMetricName("RepairTime"));

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/src/java/org/apache/cassandra/metrics/TableMetrics.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/metrics/TableMetrics.java 
b/src/java/org/apache/cassandra/metrics/TableMetrics.java
index 52c50b8..41771d1 100644
--- a/src/java/org/apache/cassandra/metrics/TableMetrics.java
+++ b/src/java/org/apache/cassandra/metrics/TableMetrics.java
@@ -214,8 +214,8 @@ public class TableMetrics
     public final Counter speculativeInsufficientReplicas;
     public final Gauge<Long> speculativeSampleLatencyNanos;
 
-    public final Counter speculativeWrites;
-    public final Gauge<Long> speculativeWriteLatencyNanos;
+    public final Counter additionalWrites;
+    public final Gauge<Long> additionalWriteLatencyNanos;
 
     /**
      * Metrics for inconsistencies detected between repaired data sets across 
replicas. These
@@ -843,8 +843,8 @@ public class TableMetrics
         speculativeInsufficientReplicas = 
createTableCounter("SpeculativeInsufficientReplicas");
         speculativeSampleLatencyNanos = 
createTableGauge("SpeculativeSampleLatencyNanos", () -> 
cfs.sampleReadLatencyNanos);
 
-        speculativeWrites = createTableCounter("SpeculativeWrites");
-        speculativeWriteLatencyNanos = 
createTableGauge("SpeculativeWriteLatencyNanos", () -> 
cfs.transientWriteLatencyNanos);
+        additionalWrites = createTableCounter("AdditionalWrites");
+        additionalWriteLatencyNanos = 
createTableGauge("AdditionalWriteLatencyNanos", () -> 
cfs.additionalWriteLatencyNanos);
 
         keyCacheHitRate = 
Metrics.register(factory.createMetricName("KeyCacheHitRate"),
                                            
aliasFactory.createMetricName("KeyCacheHitRate"),

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java 
b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index 22a8c39..d2abc03 100644
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@ -137,7 +137,7 @@ public final class SchemaKeyspace
               + "min_index_interval int,"
               + "read_repair_chance double," // no longer used, left for 
drivers' sake
               + "speculative_retry text,"
-              + "speculative_write_threshold text,"
+              + "additional_write_policy text,"
               + "cdc boolean,"
               + "read_repair text,"
               + "PRIMARY KEY ((keyspace_name), table_name))");
@@ -204,7 +204,7 @@ public final class SchemaKeyspace
               + "min_index_interval int,"
               + "read_repair_chance double," // no longer used, left for 
drivers' sake
               + "speculative_retry text,"
-              + "speculative_write_threshold text,"
+              + "additional_write_policy text,"
               + "cdc boolean,"
               + "read_repair text,"
               + "PRIMARY KEY ((keyspace_name), view_name))");
@@ -565,7 +565,7 @@ public final class SchemaKeyspace
                .add("min_index_interval", params.minIndexInterval)
                .add("read_repair_chance", 0.0) // no longer used, left for 
drivers' sake
                .add("speculative_retry", params.speculativeRetry.toString())
-               .add("speculative_write_threshold", 
params.speculativeWriteThreshold.toString())
+               .add("additional_write_policy", 
params.additionalWritePolicy.toString())
                .add("crc_check_chance", params.crcCheckChance)
                .add("caching", params.caching.asMap())
                .add("compaction", params.compaction.asMap())
@@ -994,7 +994,9 @@ public final class SchemaKeyspace
                           .minIndexInterval(row.getInt("min_index_interval"))
                           .crcCheckChance(row.getDouble("crc_check_chance"))
                           
.speculativeRetry(SpeculativeRetryPolicy.fromString(row.getString("speculative_retry")))
-                          
.speculativeWriteThreshold(SpeculativeRetryPolicy.fromString(row.getString("speculative_write_threshold")))
+                          
.additionalWritePolicy(row.has("additional_write_policy") ?
+                                                     
SpeculativeRetryPolicy.fromString(row.getString("additional_write_policy")) :
+                                                     
SpeculativeRetryPolicy.fromString("99PERCENTILE"))
                           .cdc(row.has("cdc") && row.getBoolean("cdc"))
                           .readRepair(getReadRepairStrategy(row))
                           .build();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/src/java/org/apache/cassandra/schema/TableMetadata.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/schema/TableMetadata.java 
b/src/java/org/apache/cassandra/schema/TableMetadata.java
index 10edf4d..02b851b 100644
--- a/src/java/org/apache/cassandra/schema/TableMetadata.java
+++ b/src/java/org/apache/cassandra/schema/TableMetadata.java
@@ -834,9 +834,9 @@ public final class TableMetadata
             return this;
         }
 
-        public Builder speculativeWriteThreshold(SpeculativeRetryPolicy val)
+        public Builder additionalWritePolicy(SpeculativeRetryPolicy val)
         {
-            params.speculativeWriteThreshold(val);
+            params.additionalWritePolicy(val);
             return this;
         }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/src/java/org/apache/cassandra/schema/TableParams.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/schema/TableParams.java 
b/src/java/org/apache/cassandra/schema/TableParams.java
index 0bba5e1..7c3eaa2 100644
--- a/src/java/org/apache/cassandra/schema/TableParams.java
+++ b/src/java/org/apache/cassandra/schema/TableParams.java
@@ -51,7 +51,7 @@ public final class TableParams
         MEMTABLE_FLUSH_PERIOD_IN_MS,
         MIN_INDEX_INTERVAL,
         SPECULATIVE_RETRY,
-        SPECULATIVE_WRITE_THRESHOLD,
+        ADDITIONAL_WRITE_POLICY,
         CRC_CHECK_CHANCE,
         CDC,
         READ_REPAIR;
@@ -72,7 +72,7 @@ public final class TableParams
     public final int minIndexInterval;
     public final int maxIndexInterval;
     public final SpeculativeRetryPolicy speculativeRetry;
-    public final SpeculativeRetryPolicy speculativeWriteThreshold;
+    public final SpeculativeRetryPolicy additionalWritePolicy;
     public final CachingParams caching;
     public final CompactionParams compaction;
     public final CompressionParams compression;
@@ -93,7 +93,7 @@ public final class TableParams
         minIndexInterval = builder.minIndexInterval;
         maxIndexInterval = builder.maxIndexInterval;
         speculativeRetry = builder.speculativeRetry;
-        speculativeWriteThreshold = builder.speculativeWriteThreshold;
+        additionalWritePolicy = builder.additionalWritePolicy;
         caching = builder.caching;
         compaction = builder.compaction;
         compression = builder.compression;
@@ -121,7 +121,7 @@ public final class TableParams
                             
.memtableFlushPeriodInMs(params.memtableFlushPeriodInMs)
                             .minIndexInterval(params.minIndexInterval)
                             .speculativeRetry(params.speculativeRetry)
-                            
.speculativeWriteThreshold(params.speculativeWriteThreshold)
+                            
.additionalWritePolicy(params.additionalWritePolicy)
                             .extensions(params.extensions)
                             .cdc(params.cdc)
                             .readRepair(params.readRepair);
@@ -264,7 +264,7 @@ public final class TableParams
         private int minIndexInterval = 128;
         private int maxIndexInterval = 2048;
         private SpeculativeRetryPolicy speculativeRetry = 
PercentileSpeculativeRetryPolicy.NINETY_NINE_P;
-        private SpeculativeRetryPolicy speculativeWriteThreshold = 
PercentileSpeculativeRetryPolicy.NINETY_NINE_P;
+        private SpeculativeRetryPolicy additionalWritePolicy = 
PercentileSpeculativeRetryPolicy.NINETY_NINE_P;
         private CachingParams caching = CachingParams.DEFAULT;
         private CompactionParams compaction = CompactionParams.DEFAULT;
         private CompressionParams compression = CompressionParams.DEFAULT;
@@ -335,9 +335,9 @@ public final class TableParams
             return this;
         }
 
-        public Builder speculativeWriteThreshold(SpeculativeRetryPolicy val)
+        public Builder additionalWritePolicy(SpeculativeRetryPolicy val)
         {
-            speculativeWriteThreshold = val;
+            additionalWritePolicy = val;
             return this;
         }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/src/java/org/apache/cassandra/service/AbstractWriteResponseHandler.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/cassandra/service/AbstractWriteResponseHandler.java 
b/src/java/org/apache/cassandra/service/AbstractWriteResponseHandler.java
index 7f51ae7..1470cad 100644
--- a/src/java/org/apache/cassandra/service/AbstractWriteResponseHandler.java
+++ b/src/java/org/apache/cassandra/service/AbstractWriteResponseHandler.java
@@ -298,7 +298,7 @@ public abstract class AbstractWriteResponseHandler<T> 
implements IAsyncCallbackW
                                               
.map(Schema.instance::getColumnFamilyStoreInstance)
                                               .collect(Collectors.toList());
         for (ColumnFamilyStore cf : cfs)
-            timeout = Math.min(timeout, cf.transientWriteLatencyNanos);
+            timeout = Math.min(timeout, cf.additionalWriteLatencyNanos);
 
         // no latency information, or we're overloaded
         if (timeout > TimeUnit.MILLISECONDS.toNanos(mutation.getTimeout()))
@@ -309,7 +309,7 @@ public abstract class AbstractWriteResponseHandler<T> 
implements IAsyncCallbackW
             if (!condition.await(timeout, TimeUnit.NANOSECONDS))
             {
                 for (ColumnFamilyStore cf : cfs)
-                    cf.metric.speculativeWrites.inc();
+                    cf.metric.additionalWrites.inc();
 
                 writePerformer.apply(mutation, 
replicaPlan.withContact(uncontacted),
                                      (AbstractWriteResponseHandler<IMutation>) 
this,

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/src/java/org/apache/cassandra/service/reads/repair/BlockingReadRepair.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/cassandra/service/reads/repair/BlockingReadRepair.java 
b/src/java/org/apache/cassandra/service/reads/repair/BlockingReadRepair.java
index 938abaf..8016b89 100644
--- a/src/java/org/apache/cassandra/service/reads/repair/BlockingReadRepair.java
+++ b/src/java/org/apache/cassandra/service/reads/repair/BlockingReadRepair.java
@@ -74,7 +74,7 @@ public class BlockingReadRepair<E extends Endpoints<E>, P 
extends ReplicaPlan.Fo
     {
         for (BlockingPartitionRepair repair: repairs)
         {
-            repair.maybeSendAdditionalWrites(cfs.transientWriteLatencyNanos, 
TimeUnit.NANOSECONDS);
+            repair.maybeSendAdditionalWrites(cfs.additionalWriteLatencyNanos, 
TimeUnit.NANOSECONDS);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/test/unit/org/apache/cassandra/db/TableCQLHelperTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/TableCQLHelperTest.java 
b/test/unit/org/apache/cassandra/db/TableCQLHelperTest.java
index fff567b..a1cae54 100644
--- a/test/unit/org/apache/cassandra/db/TableCQLHelperTest.java
+++ b/test/unit/org/apache/cassandra/db/TableCQLHelperTest.java
@@ -256,7 +256,7 @@ public class TableCQLHelperTest extends CQLTester
                .maxIndexInterval(7)
                .memtableFlushPeriod(8)
                .speculativeRetry(AlwaysSpeculativeRetryPolicy.INSTANCE)
-               .speculativeWriteThreshold(NeverSpeculativeRetryPolicy.INSTANCE)
+               .additionalWritePolicy(NeverSpeculativeRetryPolicy.INSTANCE)
                .extensions(ImmutableMap.of("ext1", 
ByteBuffer.wrap("val1".getBytes())))
                .recordColumnDrop(ColumnMetadata.regularColumn(keyspace, table, 
"reg1", AsciiType.instance),
                                  FBUtilities.timestampMicros());
@@ -274,7 +274,7 @@ public class TableCQLHelperTest extends CQLTester
         "\tAND max_index_interval = 7\n" +
         "\tAND memtable_flush_period_in_ms = 8\n" +
         "\tAND speculative_retry = 'ALWAYS'\n" +
-        "\tAND speculative_write_threshold = 'NEVER'\n" +
+        "\tAND additional_write_policy = 'NEVER'\n" +
         "\tAND comment = 'comment'\n" +
         "\tAND caching = { 'keys': 'ALL', 'rows_per_partition': 'NONE' }\n" +
         "\tAND compaction = { 'max_threshold': '32', 'min_threshold': '4', 
'sstable_size_in_mb': '1', 'class': 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy' }\n" +

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4ae229f5/test/unit/org/apache/cassandra/service/reads/repair/AbstractReadRepairTest.java
----------------------------------------------------------------------
diff --git 
a/test/unit/org/apache/cassandra/service/reads/repair/AbstractReadRepairTest.java
 
b/test/unit/org/apache/cassandra/service/reads/repair/AbstractReadRepairTest.java
index 5115581..68afedc 100644
--- 
a/test/unit/org/apache/cassandra/service/reads/repair/AbstractReadRepairTest.java
+++ 
b/test/unit/org/apache/cassandra/service/reads/repair/AbstractReadRepairTest.java
@@ -205,7 +205,7 @@ public abstract  class AbstractReadRepairTest
         cfs = ks.getColumnFamilyStore("tbl");
 
         cfs.sampleReadLatencyNanos = 0;
-        cfs.transientWriteLatencyNanos = 0;
+        cfs.additionalWriteLatencyNanos = 0;
 
         target1 = InetAddressAndPort.getByName("127.0.0.255");
         target2 = InetAddressAndPort.getByName("127.0.0.254");
@@ -243,7 +243,7 @@ public abstract  class AbstractReadRepairTest
         assert configured : "configureClass must be called in a @BeforeClass 
method";
 
         cfs.sampleReadLatencyNanos = 0;
-        cfs.transientWriteLatencyNanos = 0;
+        cfs.additionalWriteLatencyNanos = 0;
     }
 
     static ReplicaPlan.ForRangeRead replicaPlan(ConsistencyLevel 
consistencyLevel, EndpointsForRange replicas)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to