prestodb/presto · error · PrestoException

INVALID_SESSION_PROPERTY

INVALID_SESSION_PROPERTY

Error message

%s must be > 0 and <= 1.0: %s

What it means

The minimum_assigned_split_weight session property is validated when the HiveSessionProperties session property definition is constructed. A value must be a finite number strictly greater than 0 and at most 1.0; otherwise INVALID_SESSION_PROPERTY is thrown with the property name and offending value.

Source

Thrown at presto-hive/src/main/java/com/facebook/presto/hive/HiveSessionProperties.java:592

                        "Enable estimating split weights based on size in bytes",
                        hiveClientConfig.isSizeBasedSplitWeightsEnabled(),
                        false),
                booleanProperty(
                        DYNAMIC_SPLIT_SIZES_ENABLED,
                        "Enable dynamic sizing of splits based on column statistics",
                        hiveClientConfig.isDynamicSplitSizesEnabled(),
                        false),
                new PropertyMetadata<>(
                        MINIMUM_ASSIGNED_SPLIT_WEIGHT,
                        "Minimum assigned split weight when size based split weighting is enabled",
                        DOUBLE,
                        Double.class,
                        hiveClientConfig.getMinimumAssignedSplitWeight(),
                        false,
                        value -> {
                            double doubleValue = ((Number) value).doubleValue();
                            if (!Double.isFinite(doubleValue) || doubleValue <= 0 || doubleValue > 1) {
                                throw new PrestoException(INVALID_SESSION_PROPERTY, format("%s must be > 0 and <= 1.0: %s", MINIMUM_ASSIGNED_SPLIT_WEIGHT, value));
                            }
                            return doubleValue;
                        },
                        value -> value),
                booleanProperty(
                        USE_RECORD_PAGE_SOURCE_FOR_CUSTOM_SPLIT,
                        "Use record page source for custom split",
                        hiveClientConfig.isUseRecordPageSourceForCustomSplit(),
                        false),
                integerProperty(
                        MAX_INITIAL_SPLITS,
                        "Hive max initial split count",
                        hiveClientConfig.getMaxInitialSplits(),
                        true),
                booleanProperty(
                        FILE_SPLITTABLE,
                        "If a hive file is splittable when coordinator schedules splits",
                        hiveClientConfig.isFileSplittable(),

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Set minimum_assigned_split_weight to a value in (0, 1.0], e.g. 0.09 (the common default).
  2. Reset the property to default: RESET SESSION hive.minimum_assigned_split_weight;
  3. Fix the value in the catalog properties file if set there (hive.minimum-assigned-split-weight).
  4. If the intent is uniform split weight, use 1.0, not 0.

Example fix

-- before
SET SESSION hive.minimum_assigned_split_weight = 0;
-- after
SET SESSION hive.minimum_assigned_split_weight = 0.09;
Defensive patterns

Strategy: validation

Validate before calling

double v = Double.parseDouble(rawValue);
if (!Double.isFinite(v) || v <= 0 || v > 1) {
    throw new IllegalArgumentException("minimum_assigned_split_weight must be in (0, 1.0]: " + rawValue);
}

Try / catch

catch (PrestoException e) {
    if ("INVALID_SESSION_PROPERTY".equals(e.getErrorCode().getName())
            && e.getMessage().contains("minimum_assigned_split_weight")) {
        // set the property to a value in (0, 1.0]
    }
}

Prevention

When it happens

Trigger: User sets session property <catalog>.minimum_assigned_split_weight to 0, a negative number, a value > 1, NaN, or infinity — validation lambda rejects it at set-property time.

Common situations: Typo in the value (e.g. "0", "1.5", "-0.1"), attempting to disable split weighting by setting 0, copy-pasted config from another connector with different ranges.

Related errors


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