adelapena commented on code in PR #2391:
URL: https://github.com/apache/cassandra/pull/2391#discussion_r1221527092


##########
src/java/org/apache/cassandra/config/DatabaseDescriptor.java:
##########
@@ -1424,9 +1425,20 @@ private static void 
validateSSTableFormatFactories(Iterable<SSTableFormat.Factor
         if (selectedFormat == null)
             throw new ConfigurationException(String.format("Selected sstable 
format '%s' is not available.", selectedFormatName));
 
+        validateWriteFormatVsStorageCompatibilityMode(selectedFormat, 
getStorageCompatibilityMode());
+
         return selectedFormat;
     }
 
+    @VisibleForTesting
+    public static void 
validateWriteFormatVsStorageCompatibilityMode(SSTableFormat<?, ?> 
selectedFormat, StorageCompatibilityMode mode)
+    {
+        if (selectedFormat.name().equals(BtiFormat.NAME) && mode != 
StorageCompatibilityMode.NONE)

Review Comment:
   `UPGRADING` allows testing a subset of the nodes with bti while keeping the 
other nodes on big. And that composes with other features, like enabling other 
version-dependant properties and tries on a subset of the nodes. 
   
   The original patch for bti was intended to work on the scenario described by 
`UPGRADING`. What cases do you think might not work on a mixed cluster so that 
bti should be disallowed until all nodes are upgraded? 
   
   Wouldn't that force users to go first to `big-oa` on a first restart with 
`UPGRADING`, and then to `bti` on a second restart with `NONE`? If bti is 
supported on `UPGRADING` upgrades could skip the `nc->oa` step.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: pr-unsubscr...@cassandra.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to