{"record":{"id":"4da32f631493b075","repo":"apache/seatunnel","slug":"influxdb-query-returned-no-series-empty-data-us","errorCode":null,"errorMessage":"InfluxDB query returned no series (empty data), using default column index mapping.","messagePattern":"InfluxDB query returned no series \\(empty data\\), using default column index mapping\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"seatunnel-connectors-v2/connector-influxdb/src/main/java/org/apache/seatunnel/connectors/seatunnel/influxdb/source/InfluxDBSource.java","lineNumber":126,"sourceCode":"        if (start > 0) {\n            StringBuilder tmpSql = new StringBuilder(sql);\n            tmpSql.insert(start - 1, QUERY_LIMIT).append(\" \");\n            query = tmpSql.toString();\n        }\n\n        try {\n            QueryResult queryResult = influxdb.query(new Query(query, sourceConfig.getDatabase()));\n\n            List<QueryResult.Result> results = queryResult.getResults();\n            if (CollectionUtils.isEmpty(results)) {\n                log.warn(\n                        \"InfluxDB query returned empty results, using default column index mapping.\");\n                return buildDefaultColumnsIndex();\n            }\n\n            List<QueryResult.Series> serieList = results.get(0).getSeries();\n            if (CollectionUtils.isEmpty(serieList)) {\n                log.warn(\n                        \"InfluxDB query returned no series (empty data), using default column index mapping.\");\n                return buildDefaultColumnsIndex();\n            }\n\n            List<String> fieldNames = new ArrayList<>(serieList.get(0).getColumns());\n\n            return Arrays.stream(catalogTable.getSeaTunnelRowType().getFieldNames())\n                    .map(fieldNames::indexOf)\n                    .collect(Collectors.toList());\n        } catch (Exception e) {\n            throw new InfluxdbConnectorException(\n                    InfluxdbConnectorErrorCode.GET_COLUMN_INDEX_FAILED,\n                    \"Get column index of query result exception\",\n                    e);\n        }\n    }\n\n    /**","sourceCodeStart":108,"sourceCodeEnd":144,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-influxdb/src/main/java/org/apache/seatunnel/connectors/seatunnel/influxdb/source/InfluxDBSource.java#L108-L144","documentation":"Same fallback path as the empty-results warning, but this one fires when the query returned results whose first Result contains no Series — i.e. the database responded but has no data/columns for the query. The connector logs this warning and uses buildDefaultColumnsIndex(), which may misalign field indexes with the real measurement schema.","triggerScenarios":"initColumnsIndex: results non-empty but results.get(0).getSeries() is null/empty — query matched a database/measurement with no points, or a query filtering out all data (e.g. WHERE clause, time range).","commonSituations":"Time-range or WHERE filters excluding all points; writing to a measurement that was never populated; case-sensitive measurement name mismatch; querying before any data ingestion ran.","solutions":["Confirm the measurement has data for the query's time range/filters using the influx CLI","Remove or widen time-range/WHERE filters in the connector query so metadata discovery returns series","Verify measurement name casing matches exactly (InfluxDB measurement names are case-sensitive)","If discovery keeps failing, explicitly configure the SeaTunnel schema (fields and types) instead of relying on automatic index mapping"],"exampleFix":"// before\nquery = \"SELECT * FROM cpu WHERE time > now() - 1s\"  // too narrow, no points\n// after\nquery = \"SELECT * FROM cpu WHERE time > now() - 1h\"","handlingStrategy":"validation","validationCode":"QueryResult qr = influxdb.query(new Query(query, database));\nboolean hasSeries = qr.getResults() != null && !qr.getResults().isEmpty()\n    && qr.getResults().get(0).getSeries() != null && !qr.getResults().get(0).getSeries().isEmpty();\nif (!hasSeries) throw new IllegalStateException(\"Query returned no series: \" + query);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Widen time ranges / relax WHERE filters used for schema discovery","Check measurement name casing matches exactly","Ensure data ingestion has run before starting the source","Configure the schema explicitly if discovery is unreliable"],"tags":["influxdb","source","metadata","empty-result"],"backgroundTag":"empty-result-set","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}