{"record":{"id":"107390bf90fe892f","repo":"apache/cassandra","slug":"invalid-value-for-progress-barrier-default-consist","errorCode":null,"errorMessage":"Invalid value for.progress_barrier_default_consistency_level %s. Allowed values: %s","messagePattern":"Invalid value for\\.progress_barrier_default_consistency_level (.+?)\\. Allowed values: (.+?)","errorType":"validation","errorClass":"ConfigurationException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/config/DatabaseDescriptor.java","lineNumber":1262,"sourceCode":"        if (conf.max_space_usable_for_compactions_in_percentage < 0 || conf.max_space_usable_for_compactions_in_percentage > 1)\n            throw new ConfigurationException(\"max_space_usable_for_compactions_in_percentage must be between 0 and 1\", false);\n\n        if (conf.dump_heap_on_uncaught_exception && DatabaseDescriptor.getHeapDumpPath() == null)\n            throw new ConfigurationException(String.format(\"Invalid configuration. Heap dump is enabled but cannot create heap dump output path: %s.\", conf.heap_dump_path != null ? conf.heap_dump_path : \"null\"));\n\n        conf.sai_options.validate();\n\n        List<ConsistencyLevel> progressBarrierCLsArr = Arrays.asList(ALL, EACH_QUORUM, LOCAL_QUORUM, QUORUM, ONE, NODE_LOCAL);\n        Set<ConsistencyLevel> progressBarrierCls = new HashSet<>(progressBarrierCLsArr);\n        if (!progressBarrierCls.contains(conf.progress_barrier_min_consistency_level))\n        {\n            throw new ConfigurationException(String.format(\"Invalid value for progress_barrier_min_consistency_level %s. Allowed values: %s\",\n                                                           conf.progress_barrier_min_consistency_level, progressBarrierCLsArr));\n        }\n\n        if (!progressBarrierCls.contains(conf.progress_barrier_default_consistency_level))\n        {\n            throw new ConfigurationException(String.format(\"Invalid value for.progress_barrier_default_consistency_level %s. Allowed values: %s\",\n                                                           conf.progress_barrier_default_consistency_level, progressBarrierCLsArr));\n        }\n\n        if (conf.native_transport_min_backoff_on_queue_overload.toMilliseconds() <= 0)\n            throw new ConfigurationException(\" be positive\");\n\n        if (conf.native_transport_min_backoff_on_queue_overload.toMilliseconds() >= conf.native_transport_max_backoff_on_queue_overload.toMilliseconds())\n            throw new ConfigurationException(String.format(\"native_transport_min_backoff_on_queue_overload should be strictly less than native_transport_max_backoff_on_queue_overload, but %s >= %s\",\n                                                           conf.native_transport_min_backoff_on_queue_overload,\n                                                           conf.native_transport_max_backoff_on_queue_overload));\n\n        if (conf.use_deterministic_table_id)\n            logger.warn(\"use_deterministic_table_id is no longer supported and should be removed from cassandra.yaml.\");\n\n        // run audit logging options through sanitation and validation\n        if (conf.audit_logging_options != null)\n            setAuditLoggingOptions(conf.audit_logging_options);\n","sourceCodeStart":1244,"sourceCodeEnd":1280,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L1244-L1280","documentation":"progress_barrier_default_consistency_level must be one of the permitted consistency levels (ALL, EACH_QUORUM, LOCAL_QUORUM, QUORUM, ONE, NODE_LOCAL). DatabaseDescriptor throws this ConfigurationException when the configured default value is not in that set (note the message has a stray period: 'for.progress_barrier_default_consistency_level').","triggerScenarios":"applySimpleConfig (via toolInitialization/applyAll) with progress_barrier_default_consistency_level set outside the allowed list (e.g. TWO, THREE, ANY, SERIAL).","commonSituations":"Typo or unsupported CL chosen as the default progress barrier consistency; assuming all consistency levels are valid.","solutions":["Set progress_barrier_default_consistency_level to one of: ALL, EACH_QUORUM, LOCAL_QUORUM, QUORUM, ONE, NODE_LOCAL","Remove the setting to use the default"],"exampleFix":"// before (cassandra.yaml)\nprogress_barrier_default_consistency_level: THREE\n// after\nprogress_barrier_default_consistency_level: LOCAL_QUORUM","handlingStrategy":"validation","validationCode":"java.util.Set<ConsistencyLevel> allowed = java.util.Set.of(ConsistencyLevel.ALL, ConsistencyLevel.EACH_QUORUM, ConsistencyLevel.LOCAL_QUORUM, ConsistencyLevel.QUORUM, ConsistencyLevel.ONE, ConsistencyLevel.NODE_LOCAL); if (!allowed.contains(conf.progress_barrier_default_consistency_level)) throw new IllegalArgumentException(\"progress_barrier_default_consistency_level must be one of \" + allowed);","typeGuard":null,"tryCatchPattern":"try { DatabaseDescriptor.applySimpleConfig(conf); } catch (ConfigurationException e) { log.error(e.getMessage()); }","preventionTips":["Only use the six documented CLs for progress barrier settings","Watch out for the typo'd message text ('for.progress_...') when grepping logs"],"tags":["cassandra","configuration","consistency-level"],"backgroundTag":"invalid-enum-value","analyzedSha":"88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1","analyzedAt":"2026-09-10T07:29:22.284Z","contentChangedAt":"2026-09-10T07:29:22.284Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}