prestodb/presto · error · SemanticException

INVALID_SESSION_PROPERTY

INVALID_SESSION_PROPERTY

Error message

Invalid session property '%s'

What it means

SemanticException (INVALID_SESSION_PROPERTY) from ResetSessionTask.execute: the property name in RESET SESSION does not resolve to any known session property for its catalog (or any built-in property), so there is nothing to reset.

Source

Thrown at presto-main-base/src/main/java/com/facebook/presto/execution/ResetSessionTask.java:46

import static com.facebook.presto.metadata.MetadataUtil.getConnectorIdOrThrow;
import static com.facebook.presto.sql.analyzer.SemanticErrorCode.INVALID_SESSION_PROPERTY;
import static com.google.common.util.concurrent.Futures.immediateFuture;

public class ResetSessionTask
        implements SessionTransactionControlTask<ResetSession>
{
    @Override
    public String getName()
    {
        return "RESET SESSION";
    }

    @Override
    public ListenableFuture<?> execute(ResetSession statement, TransactionManager transactionManager, Metadata metadata, AccessControl accessControl, QueryStateMachine stateMachine, List<Expression> parameters, String query)
    {
        List<String> parts = statement.getName().getParts();
        if (parts.size() > 2) {
            throw new SemanticException(INVALID_SESSION_PROPERTY, statement, "Invalid session property '%s'", statement.getName());
        }

        // validate the property name
        if (parts.size() == 1) {
            metadata.getSessionPropertyManager().getSystemSessionPropertyMetadata(parts.get(0))
                    .orElseThrow(() -> new SemanticException(INVALID_SESSION_PROPERTY, statement, "Session property %s does not exist", statement.getName()));
        }
        else {
            ConnectorId connectorId = getConnectorIdOrThrow(stateMachine.getSession(), metadata, parts.get(0), statement, catalogError);
            metadata.getSessionPropertyManager().getConnectorSessionPropertyMetadata(connectorId, parts.get(1))
                    .orElseThrow(() -> new SemanticException(INVALID_SESSION_PROPERTY, statement, "Session property %s does not exist", statement.getName()));
        }

        stateMachine.addResetSessionProperties(statement.getName().toString());

        return immediateFuture(null);
    }
}

View on GitHub (pinned to 55bb57d202)

Solutions

  1. List valid properties with SHOW SESSION and correct the property name
  2. Include the correct catalog prefix for connector-specific properties
  3. Reset properties individually rather than guessing names
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at presto-main-base/src/main/java/com/facebook/presto/execution/ResetSessionTask.java:46 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04). Data as JSON: /api/errors/faa03c96c2851bf0. Report an issue: GitHub.