Skip to content
This repository has been archived by the owner on Aug 23, 2023. It is now read-only.

Metrictank crashes fetching base index #668

Closed
tehlers320 opened this issue Jun 23, 2017 · 13 comments
Closed

Metrictank crashes fetching base index #668

tehlers320 opened this issue Jun 23, 2017 · 13 comments
Labels

Comments

@tehlers320
Copy link

tehlers320 commented Jun 23, 2017

Version:0.7.2-12-gf9f4389
Query performed:
curl metrictank.test.monitoring.internal.com/metrics/find?query=*
Note... if this is not what builds the base tree the python UI also is failing. Grafana can grab index entries excluding the base entry, you can however fill it out manually and the 2nd/3rd/4th/5th levels work.

thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c [Macaron] 2017-06-23 14:01:04: Started POST /index/find for 192.168.240.35
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c [Macaron] PANIC: runtime error: invalid memory address or nil pointer dereference
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/runtime/panic.go:489 (0x42a57f)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/runtime/panic.go:63 (0x42942e)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/runtime/signal_unix.go:290 (0x43f8ff)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/idx/memory/memory.go:300 (0x9cc879)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/api/cluster.go:64 (0x9b67c8)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/api/routes.go:33 (0x9c8bbb)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/runtime/asm_amd64.s:515 (0x457108)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/reflect/value.go:434 (0x4a322f)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/reflect/value.go:302 (0x4a27f4)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:177 (0x931def)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:137 (0x9317ba)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:113 (0x94f242)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:104 (0x94f166)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/api/middleware/stats.go:72 (0x96d757)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/runtime/asm_amd64.s:514 (0x457088)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/reflect/value.go:434 (0x4a322f)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/reflect/value.go:302 (0x4a27f4)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:177 (0x931def)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:137 (0x9317ba)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:113 (0x94f242)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:104 (0x94f166)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/raintank/gziper/gzip.go:73 (0x9b406d)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/runtime/asm_amd64.s:514 (0x457088)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/reflect/value.go:434 (0x4a322f)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/reflect/value.go:302 (0x4a27f4)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:177 (0x931def)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:137 (0x9317ba)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:113 (0x94f242)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:104 (0x94f166)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/recovery.go:161 (0x960b6b)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/runtime/asm_amd64.s:514 (0x457088)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/reflect/value.go:434 (0x4a322f)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/reflect/value.go:302 (0x4a27f4)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:177 (0x931def)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:137 (0x9317ba)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:113 (0x94f242)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:104 (0x94f166)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/logger.go:43 (0x95fe24)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/runtime/asm_amd64.s:514 (0x457088)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/reflect/value.go:434 (0x4a322f)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/reflect/value.go:302 (0x4a27f4)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:177 (0x931def)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:137 (0x9317ba)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:113 (0x94f242)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/router.go:184 (0x961e39)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/router.go:286 (0x95b2dd)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/macaron.go:177 (0x9536ac)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/net/http/server.go:2568 (0x6db192)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/net/http/server.go:1825 (0x6d7562)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c /usr/local/go/src/runtime/asm_amd64.s:2197 (0x4597d1)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c [Macaron] 2017-06-23 14:01:04: Completed /index/find 500 Internal Server Error in 730.32µs
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c [Macaron] 2017-06-23 14:32:47: Started GET /metrics/find?query=* for 10.1.1.1
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c panic: runtime error: invalid memory address or nil pointer dereference
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x9cc879]
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c goroutine 158327717 [running]:
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c github.com/raintank/metrictank/idx/memory.(*MemoryIdx).Find(0xc42087dec0, 0x1, 0xc5196d98a8, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c   /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/idx/memory/memory.go:300 +0x459
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c github.com/raintank/metrictank/api.(*Server).findSeriesLocal(0xc4207c8000, 0x1, 0xc475ee6980, 0x1, 0x1, 0x0, 0x6434633335366637, 0x8, 0x747365772d73752d, 0xc4cbc5d250, ...)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c   /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/api/graphite.go:92 +0x10a
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c github.com/raintank/metrictank/api.(*Server).findSeries.func1(0xc4207c8000, 0x1, 0xc475ee6980, 0x1, 0x1, 0x0, 0xc475ee6998, 0xc4e52452e0, 0xc4e5245340, 0xc475ee69a0)
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c   /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/api/graphite.go:58 +0x81
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c created by github.com/raintank/metrictank/api.(*Server).findSeries
thebestservers-logs 04541c97da7f2e553d3989a8d25c6047ff87541f98841e2438a5926be8a94b2c   /home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/api/graphite.go:66 +0x484

All 16 master and all 16 slaves crash in this example and it is repeatable but only once the restarted masters are ready.

@shanson7
Copy link
Collaborator

Experiencing the same issue while trying to test the limits of metrictank. Not sure if it's due to corruption, but in my case it's happening while testing out metrictank limits and each tank instance (6 total in our cluster) has ~3.5 million metrics in the index.

Only the master dies in my case.

@shanson7
Copy link
Collaborator

Ended up adding a nil check right before the offending line and rolling it out to my cluster. That seems to catch the symptom, but not the problem.

@shanson7
Copy link
Collaborator

shanson7 commented Jun 26, 2017

In my case, the problem came from a metric with a leading . (e.g. .some.metric.name)

Issue: https://github.com/raintank/metrictank/blob/master/idx/memory/memory.go#L401
The code here assumes that node 0 doesn't have a . prefix, but in the above example some is apparently node 0, then line 404 looks up some rather than .some and just adds that in without a check.

Idk if there are other scenarios where this can happen, but changing that block to do the lookup and continue if doesn't find the node (maybe with a warning) seems like a reasonable workaround.

@Dieterbe
Copy link
Contributor

Dieterbe commented Jul 18, 2017

@shanson7 and @tehlers320 can you guys try out #694
seems to fix it for me. note : only works with carbon input for now.
my suggestion:

  • if one of you can confirm fix, we merge here and also fix upstream (as the file affected is vendored library)
  • we then also rebuild carbon-relay-ng so that it applies the same cleanup for any metrics sent into kafka, to the hosted platform, etc. basically I want to keep this "sloppy dot allowance" only a carbon thing (backwards compat with graphite), and not do it for the other inputs (mdm, structured data ingest, etc) as i would rather not become unnessarily forgiving of messy data in our new formats/protocols, which we can do by cleaning up whenever we turn carbon ingest into our new formats/protocols.

@shanson7
Copy link
Collaborator

It seems like #694 won't prevent crashing from already indexed data. Let me spin it up and test locally.

@Dieterbe
Copy link
Contributor

Dieterbe commented Jul 18, 2017

that's correct. is wiping index and starting over an option for you? otherwise we need to think of ways to upgrade/clean up the live index.

@tehlers320
Copy link
Author

@Dieterbe This is how i resolved this issue for myself. I just wiped the index in cassandra.

@shanson7
Copy link
Collaborator

shanson7 commented Jul 18, 2017

I can wipe the index. It should all just come back anyhow (minus the invalid metrics)

@tehlers320
Copy link
Author

I tried to reproduce this with the docker-cluster and a simple bash script but i'm not seeing the issue re-appear.


#!/bin/bash

PORT=2300

echo "foo.metric.control 1 `date +%s`" | nc localhost $PORT
echo "foo.metric.badvalue1 123df `date +%s`" | nc localhost $PORT
echo "foo.metric.badtimestamp 1 123df" | nc localhost $PORT
echo "foo.metric.nil nil `date +%s`" | nc localhost $PORT
echo "foo..metric.badtree1 1 `date +%s`" | nc localhost $PORT
echo ".foo.metric.badtree2 1 `date +%s`" | nc localhost $PORT

curl -s -H "X-Org-Id: 1" "http://localhost:6060/metrics/index.json"  | python -m json.tool


With 0.7.3-63-g159320c

./testme.sh 
[
    ".foo.metric.badtree2",
    "foo..metric.badtree1",
    "foo.metric.control"
]

With the the proposed patch on my own docker build: 0.7.3-65-g73cd8c5

[
    ".foo.metric.badtree2",
    "foo..metric.badtree1",
    "foo.metric.control"
]

Im sorry i must be missing something.

@tehlers320
Copy link
Author

tehlers320 commented Aug 3, 2017

I figured this out while fiddling with the whisper-writer. I was checking to see if it was writing to the index in a unique... way... i changed the partitions to get a new table entry thinking that i was clever.

By having 2 entries in the index with different partitions but on the same key MT crashes as mentioned in this ticket.

Here is what my table looks like after adding everything to partition 0 on an import:

 select * from metrictank.metric_idx where id = '1.fcc5e1772ffe25a18dc412e5a06afd43' ALLOW FILTERING;

 partition | id                                 | interval | lastupdate | metric                             | mtype | name                               | orgid | tags | unit
-----------+------------------------------------+----------+------------+------------------------------------+-------+------------------------------------+-------+------+---------
         0 | 1.fcc5e1772ffe25a18dc412e5a06afd43 |       10 | 1501747200 | statsd.ip-10-1-1-1.b.numStats | gauge | statsd.ip-10-1-1-1.b.numStats |     1 | null | unknown
        44 | 1.fcc5e1772ffe25a18dc412e5a06afd43 |       10 | 1501747200 | statsd.ip-10-1-1-1.b.numStats | gauge | statsd.ip-10-1-1-1.b.numStats |     1 | null | unknown

However a crash did not occur, here is my error output. Did you implement something to recover from a crash or is this a separate bug?

14:43:40
[Macaron] 2017-08-03 14:43:40: Started POST /index/find for 192.168.240.31
14:43:40
[Macaron] PANIC: runtime error: invalid memory address or nil pointer dereference
14:43:40
/usr/local/go/src/runtime/panic.go:489 (0x42a57f)
14:43:40
/usr/local/go/src/runtime/panic.go:63 (0x42942e)
14:43:40
/usr/local/go/src/runtime/signal_unix.go:290 (0x43f8ff)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/idx/memory/memory.go:291 (0x9cdfb9)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/api/cluster.go:64 (0x9b7728)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/api/routes.go:33 (0x9ca3cb)
14:43:40
/usr/local/go/src/runtime/asm_amd64.s:515 (0x457108)
14:43:40
/usr/local/go/src/reflect/value.go:434 (0x4a33ff)
14:43:40
/usr/local/go/src/reflect/value.go:302 (0x4a29c4)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:177 (0x93304f)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:137 (0x932a1a)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:113 (0x9504a2)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:104 (0x9503c6)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/api/middleware/stats.go:72 (0x96e9b7)
14:43:40
/usr/local/go/src/runtime/asm_amd64.s:514 (0x457088)
14:43:40
/usr/local/go/src/reflect/value.go:434 (0x4a33ff)
14:43:40
/usr/local/go/src/reflect/value.go:302 (0x4a29c4)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:177 (0x93304f)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:137 (0x932a1a)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:113 (0x9504a2)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:104 (0x9503c6)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/raintank/gziper/gzip.go:73 (0x9b4fcd)
14:43:40
/usr/local/go/src/runtime/asm_amd64.s:514 (0x457088)
14:43:40
/usr/local/go/src/reflect/value.go:434 (0x4a33ff)
14:43:40
/usr/local/go/src/reflect/value.go:302 (0x4a29c4)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:177 (0x93304f)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:137 (0x932a1a)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:113 (0x9504a2)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:104 (0x9503c6)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/recovery.go:161 (0x961dcb)
14:43:40
/usr/local/go/src/runtime/asm_amd64.s:514 (0x457088)
14:43:40
/usr/local/go/src/reflect/value.go:434 (0x4a33ff)
14:43:40
/usr/local/go/src/reflect/value.go:302 (0x4a29c4)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:177 (0x93304f)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:137 (0x932a1a)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:113 (0x9504a2)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:104 (0x9503c6)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/logger.go:43 (0x961084)
14:43:40
/usr/local/go/src/runtime/asm_amd64.s:514 (0x457088)
14:43:40
/usr/local/go/src/reflect/value.go:434 (0x4a33ff)
14:43:40
/usr/local/go/src/reflect/value.go:302 (0x4a29c4)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:177 (0x93304f)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/github.com/go-macaron/inject/inject.go:137 (0x932a1a)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/context.go:113 (0x9504a2)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/router.go:184 (0x963099)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/router.go:286 (0x95c53d)
14:43:40
/home/ubuntu/.go_workspace/src/github.com/raintank/metrictank/vendor/gopkg.in/macaron.v1/macaron.go:177 (0x95490c)
14:43:40
/usr/local/go/src/net/http/server.go:2568 (0x6db362)
14:43:40
/usr/local/go/src/net/http/server.go:1825 (0x6d7732)
14:43:40
/usr/local/go/src/runtime/asm_amd64.s:2197 (0x4597d1)

@shanson7
Copy link
Collaborator

shanson7 commented Aug 10, 2017

Ok, I tried this patch out and it works as described.

echo ".bad.test.metric.whatevs 4 date +%s" | nc -c localhost 2003

Ends up as bad.test.metric.whatevs and nothing crashes.

👍

(Sorry for the delay)

@Dieterbe
Copy link
Contributor

@tehlers320 don't modify the index like that. an index entry should only live in 1 partition at a time.

@Dieterbe
Copy link
Contributor

thanks for testing guys. fix is now merged into master.

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

No branches or pull requests

3 participants