appsmithorg/appsmith · error · AppsmithPluginException

PE-ARG-5000

PE-ARG-5000

Error message

{} not found in the known column names: {}

What it means

An argument-validation error from `validateProjectionColumns`: you asked the UQI filter to project (display) a column name that does not exist in the auto-derived schema (`schema.keySet()`). The schema is built from the first row of the data, so a projection column must match a key actually present in that row.

Source

Thrown at app/server/appsmith-interfaces/src/main/java/com/appsmith/external/services/ce/FilterDataServiceCE.java:293

            limit = "20";
        }
        values.add(new PreparedStatementValueDTO(limit, DataType.INTEGER));

        // Set offset value and data type for prepared statement substitution
        String offset = paginateBy.get(PAGINATE_OFFSET_KEY);
        if (isBlank(offset)) {
            offset = "0";
        }
        values.add(new PreparedStatementValueDTO(offset, DataType.INTEGER));
    }

    private void validateProjectionColumns(List<String> projectionColumns, Map<String, DataType> schema) {
        if (CollectionUtils.isEmpty(projectionColumns)) {
            return;
        }
        for (String columnName : projectionColumns) {
            if (!schema.containsKey(columnName)) {
                throw new AppsmithPluginException(
                        AppsmithPluginError.PLUGIN_EXECUTE_ARGUMENT_ERROR,
                        columnName + " not found in the known column names: " + schema.keySet());
            }
        }
    }

    private void validateSortByColumns(List<Map<String, String>> sortBy, Map<String, DataType> schema) {
        if (isSortConditionEmpty(sortBy)) {
            return;
        }
        for (Map<String, String> sortCondition : sortBy) {
            String columnName = sortCondition.get(SORT_BY_COLUMN_NAME_KEY);
            if (!isBlank(columnName) && !schema.containsKey(columnName)) {
                throw new AppsmithPluginException(
                        AppsmithPluginError.PLUGIN_EXECUTE_ARGUMENT_ERROR,
                        columnName + " not found in the known column names: " + schema.keySet());
            }
            if (!isBlank(columnName)) {

View on GitHub (pinned to 8cd9021c24)

Solutions

  1. Print `schema.keySet()` (shown in the error) and compare against your projection list.
  2. Correct the spelling/case of the offending column, or remove it from `projectionColumns`.
  3. If the field genuinely exists in the data, ensure the first item in `items` contains it - schema is derived from `items.get(0)`.

Example fix

// before
projectionColumns = ["UserNAme"]  // typo / wrong case

// after
projectionColumns = ["UserName"]   // matches a key in schema.keySet()
Defensive patterns

Strategy: validation

Validate before calling

Map<String, DataType> schema = filterDataService.generateSchema(items, conversionMap);
List<String> projectionColumns = List.of("UserName");
List<String> unknown = projectionColumns.stream()
        .filter(c -> !schema.containsKey(c))
        .collect(Collectors.toList());
if (!unknown.isEmpty()) {
    throw new IllegalArgumentException("Unknown projection columns: " + unknown
            + ". Valid: " + schema.keySet());
}

Prevention

When it happens

Trigger: Calling the filter flow with `projectionColumns` containing a name that is not a key in the generated schema map - typically a typo, a stale field name, or referencing a column that only appears in later rows.

Common situations: Renaming a field upstream and forgetting to update the projection list; case mismatch (schema is case-sensitive under H2 with `DATABASE_TO_UPPER=FALSE`); projecting a computed/aliased field that does not exist in the raw items.

Related errors


AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12). Data as JSON: /api/errors/9102a1b9c5793b3c. Report an issue: GitHub.