Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0.10.0] panic: interface conversion: interface is float64, not int64 #5478

Closed
rossmcdonald opened this issue Jan 29, 2016 · 6 comments · Fixed by #5493
Closed

[0.10.0] panic: interface conversion: interface is float64, not int64 #5478

rossmcdonald opened this issue Jan 29, 2016 · 6 comments · Fixed by #5493
Assignees
Milestone

Comments

@rossmcdonald
Copy link
Contributor

Version:

vagrant@influx1:~$ influxd version
InfluxDB v0.10.0.n1453795235 (git: master 9d3c9329a69c1dbd2ed7058acd8c2711c781d571, built 2016-01-26T08:01:53.793059)

Query and trace:

[query] 2016/01/29 17:14:04 SELECT last(seriesCreate) FROM _internal.monitor."shard" WHERE path =~ /.*test.*/
panic: interface conversion: interface is float64, not int64

goroutine 274 [running]:
github.com/influxdb/influxdb/tsdb.greaterThan(0x9b1bc0, 0xc208496d60, 0x9b0c40, 0xc208496bc0, 0xc20822f700)
        /tmp/tmp.QSk2v30WJm/src/github.com/influxdb/influxdb/tsdb/functions.go:1723 +0x1d1
github.com/influxdb/influxdb/tsdb.ReduceLast(0xc20822f6a0, 0x2, 0x2, 0x0, 0x0)
        /tmp/tmp.QSk2v30WJm/src/github.com/influxdb/influxdb/tsdb/functions.go:1086 +0x39b
github.com/influxdb/influxdb/tsdb.(*AggregateExecutor).execute(0xc20822e9e0, 0xc2099d6f00, 0xc2099d6c60)
        /tmp/tmp.QSk2v30WJm/src/github.com/influxdb/influxdb/tsdb/aggregate.go:144 +0x1449
created by github.com/influxdb/influxdb/tsdb.(*AggregateExecutor).Execute
        /tmp/tmp.QSk2v30WJm/src/github.com/influxdb/influxdb/tsdb/aggregate.go:48 +0x64
@jwilder
Copy link
Contributor

jwilder commented Jan 29, 2016

Looks similar to #5468. @rossmcdonald Can you reproduce easily?

@rossmcdonald
Copy link
Contributor Author

@jwilder Very easily. I should have also mentioned that this occurred on a cluster. Trying again on a single instance. And this was a fresh 0.10.0 instance, no conversion or anything else was done.

Steps on clustered instance:

influx
create database test
use test
insert sample_num,az=1 value=2
insert sample_num,az=2 value=2
insert sample_num,az=3 value=2
use _internal
select last(seriesCreate) from "shard" where path =~ /.*test.*/
<panic>

@jwilder
Copy link
Contributor

jwilder commented Jan 29, 2016

@joelegasse

@rossmcdonald
Copy link
Contributor Author

@jwilder This doesn't seem to occur on a single-node instance. So potentially meta service related?

InfluxDB shell 0.10.0.n1453795235
> create database test
> use test
Using database test
> insert sample_num,az=1 value=2
> insert sample_num,az=2 value=2
> insert sample_num,az=3 value=2
> use _internal
Using database _internal
> select last(seriesCreate) from "shard" where path =~ /.*test.*/
name: shard
-----------
time            last
1454088368000000000 3

@joelegasse
Copy link
Contributor

This definitely looks like the same underlying issue, the other ticket didn't mention a cluster, but both queries include a where clause. I'll see if that might be doing something strange.

@rossmcdonald
Copy link
Contributor Author

Interestingly, I ran the repro steps on a fresh instance very fast and the server (initially) didn't crash:

[query] 2016/01/29 18:02:46 SELECT last(seriesCreate) FROM _internal.monitor."shard" WHERE path =~ /.*test.*/
[http] 2016/01/29 18:02:46 127.0.0.1 - - [29/Jan/2016:18:02:46 +0000] GET /query?db=_internal&epoch=ns&q=select+last%28seriesCreate%29+from+%22shard%22+where+path+%3D~+%2F.%2Atest.%2A%2F HTTP/1.1 200 40 - InfluxDBShell/0.10.0.n1453795235 80506ade-c6b2-11e5-8058-000000000000 4.952749ms
[query] 2016/01/29 18:02:50 SELECT last(seriesCreate) FROM _internal.monitor."shard" WHERE path =~ /.*test.*/
[http] 2016/01/29 18:02:50 127.0.0.1 - - [29/Jan/2016:18:02:50 +0000] GET /query?db=_internal&epoch=ns&q=select+last%28seriesCreate%29+from+%22shard%22+where+path+%3D~+%2F.%2Atest.%2A%2F HTTP/1.1 200 40 - InfluxDBShell/0.10.0.n1453795235 82a7cc0c-c6b2-11e5-8059-000000000000 3.892318ms
[cluster] 2016/01/29 18:02:51 accept remote connection from 172.28.128.68:50219
[query] 2016/01/29 18:02:59 SELECT seriesCreate FROM _internal.monitor."shard" WHERE path =~ /.*test.*/
[http] 2016/01/29 18:02:59 127.0.0.1 - - [29/Jan/2016:18:02:59 +0000] GET /query?db=_internal&epoch=ns&q=select+seriesCreate+from+%22shard%22+where+path+%3D~+%2F.%2Atest.%2A%2F HTTP/1.1 200 115 - InfluxDBShell/0.10.0.n1453795235 87f64c37-c6b2-11e5-805a-000000000000 3.993275ms
[query] 2016/01/29 18:03:05 SELECT seriesCreate FROM _internal.monitor."shard" WHERE path =~ /.*test.*/
[http] 2016/01/29 18:03:05 127.0.0.1 - - [29/Jan/2016:18:03:05 +0000] GET /query?db=_internal&epoch=ns&q=select+seriesCreate+from+%22shard%22+where+path+%3D~+%2F.%2Atest.%2A%2F HTTP/1.1 200 118 - InfluxDBShell/0.10.0.n1453795235 8bc93e2e-c6b2-11e5-805b-000000000000 3.73771ms
[query] 2016/01/29 18:03:07 SELECT seriesCreate FROM _internal.monitor."shard" WHERE path =~ /.*test.*/
[http] 2016/01/29 18:03:07 127.0.0.1 - - [29/Jan/2016:18:03:07 +0000] GET /query?db=_internal&epoch=ns&q=select+seriesCreate+from+%22shard%22+where+path+%3D~+%2F.%2Atest.%2A%2F HTTP/1.1 200 118 - InfluxDBShell/0.10.0.n1453795235 8ce94ac5-c6b2-11e5-805c-000000000000 5.591682ms
[query] 2016/01/29 18:03:16 SELECT last(seriesCreate) FROM _internal.monitor."shard" WHERE path =~ /.*test.*/
panic: interface conversion: interface is float64, not int64

Only after this log message:

[cluster] 2016/01/29 18:02:51 accept remote connection from 172.28.128.68:50219

Does the query crash the service.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants