prestodb/presto · error · PrestoException

GENERIC_INTERNAL_ERROR

GENERIC_INTERNAL_ERROR

Error message

Cannot provide null column name for encryption columns

What it means

ColumnWithStructSubfield.valueOf is invoked with a null string when parsing an encrypted-columns property entry; since a column expression cannot be null, this generic-internal-error guard fires. It indicates corrupted or malformed encryption property data reaching the parser.

Source

Thrown at presto-hive-metastore/src/main/java/com/facebook/presto/hive/ColumnEncryptionInformation.java:188

        public String getColumnName()
        {
            return columnName;
        }

        public Optional<String> getSubfieldPath()
        {
            return subfieldPath;
        }

        public Optional<ColumnWithStructSubfield> getChildField()
        {
            return subfieldPath.map(ColumnWithStructSubfield::valueOf);
        }

        public static ColumnWithStructSubfield valueOf(String columnExpression)
        {
            if (columnExpression == null) {
                throw new PrestoException(GENERIC_INTERNAL_ERROR, "Cannot provide null column name for encryption columns");
            }

            List<String> splitParts = Splitter.on('.').limit(2).splitToList(columnExpression);

            if (splitParts.size() == 1) {
                return new ColumnWithStructSubfield(splitParts.get(0), Optional.empty());
            }

            return new ColumnWithStructSubfield(splitParts.get(0), Optional.of(splitParts.get(1)));
        }

        @Override
        public String toString()
        {
            return columnName + subfieldPath.map(path -> "." + path).orElse("");
        }

        @Override

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Correct the encrypted columns table property so it contains no null entries
  2. Inspect how the property value is populated to ensure entries are non-null strings before parsing
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at presto-hive-metastore/src/main/java/com/facebook/presto/hive/ColumnEncryptionInformation.java:188 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/9cf5cc83e2f7033f. Report an issue: GitHub.