I see .tsm files but query does not return the data

Hi,

I have influx running on an AWS instance. The instance restarted. And I checked the influx data through influx cli and the previous records were not there. But, I checked it on the wal and data, the tsm files are there. Can anyone please tell me what’s going on here?

@avellable Hi! Can you share your influxdb version, your influxdb config file, and the output of tree /var/lib/influxdb/?

$ influx --version
InfluxDB shell version: 1.2.2

$ sudo tree /var/lib/influxdb/
/var/lib/influxdb/
|-- data
|   `-- _internal
|       `-- monitor
|           `-- 1
|-- meta
|   `-- meta.db
 `-- wal
    `-- _internal
    `-- monitor
        `-- 1
            `-- _00001.wal

But I moved these defaults as,

[meta]
 # Where the metadata/raft database is stored
 dir = "/opt/influx/meta"

[data]
 # The directory where the TSM storage engine stores TSM files.
 dir = "/opt/influx/data"

 # The directory where the TSM storage engine stores WAL files.
 wal-dir = "/opt/influx/wal"

And the tree there looks ok

$ sudo tree /opt/influx/
/opt/influx/
|-- data
|   |-- _internal
|   |   `-- monitor
|   |       |-- 176
|   |       |   |-- 000000004-000000003.tsm
|   |       |   |-- 000000006-000000002.tsm
|   |       |   `-- 000000007-000000001.tsm
|   |       `-- 183
|   |-- dbname1
| .....
....
195 directories, 227 files

I have the same issue when TSI is enabled. When using the default index-version it works as expected.

$ influx --version
InfluxDB shell version: 1.3.0

$ ls -lR /var/lib/influxdb/data/rrdev/data_export/
/var/lib/influxdb/data/rrdev/data_export/:
total 0
drwxr-xr-x 4 root root 136 Jul  9 18:00 23

/var/lib/influxdb/data/rrdev/data_export/23:
total 4
-rw-r--r-- 1 root root 873 Jul  9 18:00 000000003-000000002.tsm
drwxr-xr-x 4 root root 136 Jul  9 17:23 index

/var/lib/influxdb/data/rrdev/data_export/23/index:
total 4
-rw-r--r-- 1 root root   0 Jul  9 17:23 L0-00000001.tsl
-rw-r--r-- 1 root root 403 Jul  9 17:23 MANIFEST

$ ls -lR /var/lib/influxdb/wal/rrdev/data_export/
/var/lib/influxdb/wal/rrdev/data_export/:
total 0
drwx------ 3 root root 102 Jul  9 18:17 23

/var/lib/influxdb/wal/rrdev/data_export/23:
total 0
-rw-r--r-- 1 root root 0 Jul  9 18:17 _00004.wal

$ influx_inspect export -database rrdev -retention data_export -datadir /var/lib/influxdb/data -waldir /var/lib/influxdb/wal -out ~/export.txt && cat ~/export.txt
writing out tsm file data for rrdev/data_export...complete.
writing out wal file data for rrdev/data_export...complete.
# INFLUXDB EXPORT: 1677-09-21T00:12:43Z - 2262-04-11T23:47:16Z
# DDL
CREATE DATABASE rrdev WITH NAME data_export
# DML
# CONTEXT-DATABASE:rrdev
# CONTEXT-RETENTION-POLICY:data_export
# writing tsm data
data_export,measurement_name=sensordata commit_ms=0i 1499620733593000000
data_export,measurement_name=sensordata commit_ms=3545i 1499622533593000000
data_export,measurement_name=sensordata exported_time=0 1499620733593000000
data_export,measurement_name=sensordata exported_time=1.499622544278e+12 1499622533593000000
data_export,measurement_name=sensordata num_measurements=0i 1499620733593000000
data_export,measurement_name=sensordata num_measurements=52174i 1499622533593000000
data_export,measurement_name=sensordata query_ms=0i 1499620733593000000
data_export,measurement_name=sensordata query_ms=5786i 1499622533593000000
data_export,measurement_name=sensordata total_ms=0i 1499620733593000000
data_export,measurement_name=sensordata total_ms=10676i 1499622533593000000
data_export,measurement_name=sensordata write_bytes=0 1499620733593000000
data_export,measurement_name=sensordata write_bytes=1.6282468e+07 1499622533593000000
data_export,measurement_name=sensordata write_ms=0i 1499620733593000000
data_export,measurement_name=sensordata write_ms=4600i 1499622533593000000
# writing wal data

$ curl -s 'http://localhost:8086/query' --data-urlencode "db=rrdev" --data-urlencode "q=SELECT * FROM data_export.data_export"
{"results":[{"statement_id":0}]}

Would have expected to get results from the last query with curl, but got instead an empty result set.

InfluxDB is running inside a docker container.

Here is the influxdb config file:

reporting-disabled = true
bind-address = ":8088"


[meta]
  dir = "/var/lib/influxdb/meta"
  retention-autocreate = false
  logging-enabled = true

[data]
  dir = "/var/lib/influxdb/data"
  wal-dir = "/var/lib/influxdb/wal"
  index-version = 'tsi1'
  query-log-enabled = false
  cache-max-memory-size = 536870912
  cache-snapshot-memory-size = 26214400
  cache-snapshot-write-cold-duration = "10m0s"
  compact-full-write-cold-duration = "4h0m0s"
  max-series-per-database = 1000000
  max-values-per-tag = 100000
  trace-logging-enabled = false

[coordinator]
  write-timeout = "60s"
  max-concurrent-queries = 0
  query-timeout = "60s"
  log-queries-after = "10s"
  max-select-point = 0
  max-select-series = 0
  max-select-buckets = 0

[retention]
  enabled = true
  check-interval = "30m0s"

[shard-precreation]
  enabled = true
  check-interval = "10m0s"
  advance-period = "30m0s"

[admin]
  enabled = false
  bind-address = ":8083"
  https-enabled = false
  https-certificate = "/etc/ssl/influxdb.pem"

[monitor]
  store-enabled = false
  store-database = "_internal"
  store-interval = "10s"

[subscriber]
  enabled = true
  http-timeout = "30s"
  insecure-skip-verify = false
  ca-certs = ""
  write-concurrency = 40
  write-buffer-size = 1000

[http]
  enabled = true
  bind-address = ":8086"
  auth-enabled = true
  log-enabled = false
  write-tracing = false
  pprof-enabled = true
  https-enabled = false
  https-certificate = "/etc/ssl/influxdb.pem"
  https-private-key = ""
  max-row-limit = 1000000
  max-connection-limit = 0
  shared-secret = ""
  realm = "InfluxDB"
  unix-socket-enabled = false
  bind-socket = "/var/run/influxdb.sock"

[continuous_queries]
  log-enabled = false
  enabled = true
  run-interval = "1s"

@hallvar @avellable Can both of you open issues on InfluxDB?