influxdb-client-java
influxdb-client-java copied to clipboard
Java client: SHOW SERIES return empty result
Hi,
During implementation of tool that needs to retrieve schema of InfluxDB 2.7, I have encountered issue where show series return empty result, although underlying CSV contains correct data.
Data retrieved underneath as CSV is in format (note that two columns are empty!):
name,tags,key
,,temperature
,,pressure
I believe issue is in line https://github.com/influxdata/influxdb-client-java/blob/master/client/src/main/java/com/influxdb/client/internal/InfluxQLQueryApiImpl.java#L129 where last line of CSV is detected incorrectly, and instead of
if (csvRecord.size() == 1 || csvRecord.get(0).equals("")) {
it should be
if (csvRecord.size() == 1 && csvRecord.get(0).equals("")) {
Steps to reproduce:
- Run
InfluxQLQueryResult result = client.getInfluxQLQueryApi().query(new InfluxQLQuery("SHOW SERIES", "mydb")); - Observe that
result.getResults().size() == 1, butresult.getResults().get(0).getSeries().size() == 0
Expected behavior:
Object InfluxQLQueryResult should contain list of series retrieved from InfluxDB, as running SHOW SERIES from command line does it.
Actual behavior: First result from InfluxQLQueryResult has no series parsed from InfluxDB query response.
Specifications:
- Client Version: 7.0.0
- InfluxDB Version: 2.7.0
- JDK Version: openjdk version "17.0.8.1" 2023-08-24
- Platform: Linux (Arch)