apache/cassandra · warning
It is not possible to reconfigure password_policy guardrail…
Error message
It is not possible to reconfigure password_policy guardrail because property 'password_policy_reconfiguration_enabled' is set to false.
What it means
PasswordPolicyGuardrail.reconfigure refuses to apply a new configuration at runtime when the DatabaseDescriptor property 'password_policy_reconfiguration_enabled' is false. This is a deliberate safety switch: the password policy is considered a security-critical setting that must not be changed via live updates (e.g. through guardrail JMX/config APIs). The reconfiguration request is logged and dropped.
Solutions
- Set password_policy_reconfiguration_enabled: true in cassandra.yaml (or the equivalent system property) and restart if runtime changes are desired.
- Otherwise, change the password policy directly in cassandra.yaml and perform a rolling restart.
- Update automation to skip password_policy reconfiguration when the flag is disabled to avoid warn-log noise.
Example fix
// before (cassandra.yaml) password_policy_reconfiguration_enabled: false // after password_policy_reconfiguration_enabled: true
Defensive patterns
Strategy: validation
Validate before calling
if (!DatabaseDescriptor.isPasswordPolicyReconfigurationEnabled()) {
throw new UnsupportedOperationException("password_policy_reconfiguration_enabled is false; change cassandra.yaml and restart");
} Try / catch
try { guardrail.reconfigure(newConfig); }
catch (UnsupportedOperationException e) { /* fall back to yaml + restart flow */ } Prevention
- Exclude security-sensitive guardrails from automated runtime reconfiguration.
- Check DatabaseDescriptor flags before calling reconfigure().
- Change such settings via cassandra.yaml with a planned rolling restart.
When it happens
Trigger: Calling reconfigure() on the password_policy guardrail (e.g. via JMX `setGuardrail` / config update) while cassandra.yaml or system property sets password_policy_reconfiguration_enabled: false.
Common situations: Operators attempting to tighten password rules on a running cluster without restart; automation that pushes guardrail config updates and silently expects password policy changes to stick.
Related errors
- It is not possible to reconfigure role_name_policy…
- Allowing java.lang.System.* access in UDFs is dangerous and…
- Can't enable audit log archiving via nodetool unless…
- Can't enable full query log archiving via nodetool unless…
- default_keyspace_rf to be set
AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10).
Data as JSON: /api/errors/dc7744d6ffbdfff5.
Report an issue: GitHub.
Appendix: source
Thrown at src/java/org/apache/cassandra/db/guardrails/PasswordPolicyGuardrail.java:48
public class PasswordPolicyGuardrail extends AbstractCustomGuardrail<String>
{
private static final Logger logger = LoggerFactory.getLogger(PasswordPolicyGuardrail.class);
/**
* @param configSupplier configuration supplier of the custom guardrail
*/
public PasswordPolicyGuardrail(Supplier<CustomGuardrailConfig> configSupplier)
{
super("password_policy", null, configSupplier, true);
}
@Override
void reconfigure(@Nullable Map<String, Object> newConfig)
{
if (!DatabaseDescriptor.isPasswordPolicyReconfigurationEnabled())
{
logger.warn("It is not possible to reconfigure password_policy guardrail because " +
"property 'password_policy_reconfiguration_enabled' is set to false.");
return;
}
super.reconfigure(newConfig);
}
@Override
protected void throwException(String message, String redactedMessage)
{
throw new PasswordGuardrailException(message, redactedMessage);
}
public static class PasswordGuardrailException extends GuardrailViolatedException
{
public final String redactedMessage;
PasswordGuardrailException(String message, String redactedMessage)View on GitHub (pinned to 88fd0f6a0e)