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
- Set minimum_assigned_split_weight to a value in (0, 1.0], e.g. 0.09 (the common default).
- Reset the property to default: RESET SESSION hive.minimum_assigned_split_weight;
- Fix the value in the catalog properties file if set there (hive.minimum-assigned-split-weight).
- 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
- Keep minimum_assigned_split_weight within (0, 1.0]; 1.0 means uniform split weight.
- Validate catalog-properties values with a config linter before deploy.
- Don't use 0 to 'disable' the feature — pick a tiny positive value instead.
- RESET SESSION the property if experiments left an invalid value.
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
- INVALID_SESSION_PROPERTY
- INVALID_SESSION_PROPERTY
- Invalid value [%s]. Valid values: %s
- NODE_SELECTION_NOT_SUPPORTED
- HIVE_TOO_MANY_OPEN_PARTITIONS
AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04).
Data as JSON: /api/errors/4aa0c91357818610.
Report an issue: GitHub.