prestodb/presto · error · PrestoException

INVALID_FUNCTION_ARGUMENT

INVALID_FUNCTION_ARGUMENT

Error message

Primary read preference can not specify tag sets

What it means

Configuration error in ReadPreferenceType.getReadPreferenceWithTags: tag sets were supplied for read preference PRIMARY. MongoDB primary reads ignore tags by definition, so combining PRIMARY with tag sets is rejected as an invalid configuration combination.

Source

Thrown at presto-mongodb/src/main/java/com/facebook/presto/mongodb/ReadPreferenceType.java:48

    SECONDARY_PREFERRED(ReadPreference.secondaryPreferred()),
    NEAREST(ReadPreference.nearest());

    private final ReadPreference readPreference;

    ReadPreferenceType(ReadPreference readPreference)
    {
        this.readPreference = requireNonNull(readPreference, "readPreference is null");
    }

    public ReadPreference getReadPreference()
    {
        return readPreference;
    }

    public ReadPreference getReadPreferenceWithTags(List<TagSet> tagSets)
    {
        if (PRIMARY.equals(this)) {
            throw new PrestoException(INVALID_FUNCTION_ARGUMENT, "Primary read preference can not specify tag sets");
        }

        return ReadPreference.valueOf(readPreference.getName(), tagSets);
    }
}

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Remove read-tag sets when using PRIMARY read preference
  2. Switch to SECONDARY or SECONDARY_PREFERRED to use tag sets
  3. Configure mongodb.read-preference and tags consistently
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at presto-mongodb/src/main/java/com/facebook/presto/mongodb/ReadPreferenceType.java:48 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/f407403aecc73a2a. Report an issue: GitHub.