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

  1. Set password_policy_reconfiguration_enabled: true in cassandra.yaml (or the equivalent system property) and restart if runtime changes are desired.
  2. Otherwise, change the password policy directly in cassandra.yaml and perform a rolling restart.
  3. 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

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


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)