tolbertam commented on code in PR #3367:
URL: https://github.com/apache/cassandra/pull/3367#discussion_r1827044723


##########
src/java/org/apache/cassandra/config/CassandraRelevantProperties.java:
##########
@@ -346,6 +346,17 @@ public enum CassandraRelevantProperties
      */
     
GOSSIP_SETTLE_POLL_SUCCESSES_REQUIRED("cassandra.gossip_settle_poll_success_required",
 "3"),
 
+    /**
+     * If set to true, mutations streamed during anti-entropy repair will be 
replayed via the regular write path for associated views.
+     */
+    
STREAMING_REQUIRES_VIEW_BUILD_DURING_REPAIR("cassandra.streaming.requires_view_build_during_repair",
 "true"),

Review Comment:
   This currently prevents startup if trying to configure an incremental repair 
schedule:
   
   ```
   ERROR [main] 2024-11-03 12:48:38,892 CassandraDaemon.java:900 - Fatal 
configuration error
   org.apache.cassandra.exceptions.ConfigurationException: Cannot run 
incremental repair while materialized view replay is enabled.
           at 
org.apache.cassandra.service.AutoRepairService.checkCanRun(AutoRepairService.java:69)
           at 
org.apache.cassandra.repair.autorepair.AutoRepair.setup(AutoRepair.java:128)
           at 
org.apache.cassandra.service.StorageService.doAutoRepairSetup(StorageService.java:1355)
           at 
org.apache.cassandra.service.StorageService.finishJoiningRing(StorageService.java:1326)
           at 
org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:1214)
           at 
org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:1150)
           at 
org.apache.cassandra.service.StorageService.initServer(StorageService.java:941)
           at 
org.apache.cassandra.service.StorageService.initServer(StorageService.java:859)
           at 
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:421)
           at 
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:744)
           at 
org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:878)
   ```
   
   It seems a bit unnecessary to have to set some system properties to run an 
incremental repair schedule if we aren't using mvs or cdc, was wondering if we 
could make this smarter.  Currently both materialized views and cdc have 
guardrail properties, `materialized_views_enabled` and `cdc_enabled` which both 
default to false.  Can we involve these properties somehow?  If they are not 
set, then we don't need to consider either during streaming.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to