I left InfluxDB running overnight collecting lots of statistics. The next morning it was stuck in the following crash loop. It does not look like the InfluxDB process ever quit, it just repeatedly threw http panics, rendering it inaccessible. Upon restarting InfluxDB, it complained about not having enough open file descriptors (Even though our limit was set to 1000 max open file descriptors). Once we increased that limit to 2000 and restarted InfluxDB again, it is working,
Having infinitely repeating internal crashes that render InfluxDB unusable is not desirable because it is hard to tell if/what is going wrong.
2014/07/30 10:43:26 http: panic serving 172.18.1.42:39119: write /opt/influxdb/shared/data/wal/log.36560005: bad file descriptor
goroutine 113160540 [running]:
net/http.func路009()
/home/vagrant/bin/go/src/pkg/net/http/server.go:1093 +0xae
runtime.panic(0x87abc0, 0xc21478f660)
/home/vagrant/bin/go/src/pkg/runtime/panic.c:248 +0x106
wal.(*WAL).AssignSequenceNumbersAndLog(0xc210071e00, 0xc2145d0680, 0x7f4074dcae48, 0xc21003cc40, 0x906700, ...)
/home/vagrant/influxdb/src/wal/wal.go:404 +0x10a
cluster.(*ShardData).Write(0xc21003cc40, 0xc2145d0680, 0xc3e3651f60, 0x5c00000000000000)
/home/vagrant/influxdb/src/cluster/shard.go:199 +0x96
coordinator.(*CoordinatorImpl).write(0xc2100fdc80, 0xc214846b26, 0xa, 0xc2145d0580, 0xf, ...)
/home/vagrant/influxdb/src/coordinator/coordinator.go:726 +0x650
coordinator.(*CoordinatorImpl).CommitSeriesData(0xc2100fdc80, 0xc214846b26, 0xa, 0xc2145d0500, 0xf, ...)
/home/vagrant/influxdb/src/coordinator/coordinator.go:691 +0x955
coordinator.(*CoordinatorImpl).WriteSeriesData(0xc2100fdc80, 0x7f4074db5650, 0xc210185a00, 0xc214846b26, 0xa, ...)
/home/vagrant/influxdb/src/coordinator/coordinator.go:488 +0x277
api/http.func路005(0x7f4074db5650, 0xc210185a00, 0xc214846b33, 0x4, 0xc214846b3a)
/home/vagrant/influxdb/src/api/http/api.go:371 +0x334
api/http.yieldUser(0x7f4074db5650, 0xc210185a00, 0x7f40660c9c18, 0xc214846b3a, 0x4, ...)
/home/vagrant/influxdb/src/api/http/api.go:477 +0x3b
api/http.(*HttpServer).tryAsClusterAdmin(0xc2100c25a0, 0x7f4074db15c8, 0xc3e3a1c820, 0xc21058c680, 0x7f40660c9c18)
/home/vagrant/influxdb/src/api/http/api.go:539 +0x34a
api/http.(*HttpServer).tryAsDbUserAndClusterAdmin(0xc2100c25a0, 0x7f4074db15c8, 0xc3e3a1c820, 0xc21058c680, 0x7f40660c9c18)
/home/vagrant/influxdb/src/api/http/api.go:709 +0x268
api/http.(*HttpServer).writePoints(0xc2100c25a0, 0x7f4074db15c8, 0xc3e3a1c820, 0xc21058c680)
/home/vagrant/influxdb/src/api/http/api.go:378 +0x1e5
api/http.*HttpServer.(api/http.writePoints)路fm(0x7f4074db15c8, 0xc3e3a1c820, 0xc21058c680)
/home/vagrant/influxdb/src/api/http/api.go:106 +0x44
api/http.func路032(0x7f4074db15c8, 0xc3e3a1c820, 0xc21058c680)
/home/vagrant/influxdb/src/api/http/cors.go:14 +0x1d0
net/http.HandlerFunc.ServeHTTP(0xc2101e33a0, 0x7f4074db15c8, 0xc3e3a1c820, 0xc21058c680)
/home/vagrant/bin/go/src/pkg/net/http/server.go:1220 +0x40
github.com/bmizerany/pat.(*PatternServeMux).ServeHTTP(0xc21023ca20, 0x7f4074db15c8, 0xc3e3a1c820, 0xc21058c680)
/home/vagrant/influxdb/src/github.com/bmizerany/pat/mux.go:109 +0x1be
net/http.serverHandler.ServeHTTP(0xc210152640, 0x7f4074db15c8, 0xc3e3a1c820, 0xc21058c680)
/home/vagrant/bin/go/src/pkg/net/http/server.go:1597 +0x16e
net/http.(*conn).serve(0xc210a45c80)
/home/vagrant/bin/go/src/pkg/net/http/server.go:1167 +0x7b7
created by net/http.(*Server).Serve
/home/vagrant/bin/go/src/pkg/net/http/server.go:1644 +0x28b
2014/07/30 10:43:30 http: panic serving 172.18.1.44:35200: write /opt/influxdb/shared/data/wal/log.36560005: bad file descriptor
goroutine 113160715 [running]:
net/http.func路009()
/home/vagrant/bin/go/src/pkg/net/http/server.go:1093 +0xae
runtime.panic(0x87abc0, 0xc2b8ecd750)
/home/vagrant/bin/go/src/pkg/runtime/panic.c:248 +0x106
wal.(*WAL).AssignSequenceNumbersAndLog(0xc210071e00, 0xc210d44f00, 0x7f4074dcae48, 0xc21003cc40, 0x906700, ...)
/home/vagrant/influxdb/src/wal/wal.go:404 +0x10a
cluster.(*ShardData).Write(0xc21003cc40, 0xc210d44f00, 0xc2146216a0, 0xff00000000000000)
/home/vagrant/influxdb/src/cluster/shard.go:199 +0x96
coordinator.(*CoordinatorImpl).write(0xc2100fdc80, 0xc2b90185c6, 0xa, 0xc210d44e80, 0xf, ...)
/home/vagrant/influxdb/src/coordinator/coordinator.go:726 +0x650
coordinator.(*CoordinatorImpl).CommitSeriesData(0xc2100fdc80, 0xc2b90185c6, 0xa, 0xc210d44e00, 0xf, ...)
/home/vagrant/influxdb/src/coordinator/coordinator.go:691 +0x955
coordinator.(*CoordinatorImpl).WriteSeriesData(0xc2100fdc80, 0x7f4074db5650, 0xc210185a00, 0xc2b90185c6, 0xa, ...)
/home/vagrant/influxdb/src/coordinator/coordinator.go:488 +0x277
api/http.func路005(0x7f4074db5650, 0xc210185a00, 0xc2b90185d3, 0x4, 0xc2b90185da)
/home/vagrant/influxdb/src/api/http/api.go:371 +0x334
api/http.yieldUser(0x7f4074db5650, 0xc210185a00, 0x7f4067777c18, 0xc2b90185da, 0x4, ...)
/home/vagrant/influxdb/src/api/http/api.go:477 +0x3b
api/http.(*HttpServer).tryAsClusterAdmin(0xc2100c25a0, 0x7f4074db15c8, 0xc2b8fa1320, 0xc422315a90, 0x7f4067777c18)
/home/vagrant/influxdb/src/api/http/api.go:539 +0x34a
api/http.(*HttpServer).tryAsDbUserAndClusterAdmin(0xc2100c25a0, 0x7f4074db15c8, 0xc2b8fa1320, 0xc422315a90, 0x7f4067777c18)
/home/vagrant/influxdb/src/api/http/api.go:709 +0x268
api/http.(*HttpServer).writePoints(0xc2100c25a0, 0x7f4074db15c8, 0xc2b8fa1320, 0xc422315a90)
/home/vagrant/influxdb/src/api/http/api.go:378 +0x1e5
api/http.*HttpServer.(api/http.writePoints)路fm(0x7f4074db15c8, 0xc2b8fa1320, 0xc422315a90)
/home/vagrant/influxdb/src/api/http/api.go:106 +0x44
api/http.func路032(0x7f4074db15c8, 0xc2b8fa1320, 0xc422315a90)
/home/vagrant/influxdb/src/api/http/cors.go:14 +0x1d0
net/http.HandlerFunc.ServeHTTP(0xc2101e33a0, 0x7f4074db15c8, 0xc2b8fa1320, 0xc422315a90)
/home/vagrant/bin/go/src/pkg/net/http/server.go:1220 +0x40
github.com/bmizerany/pat.(*PatternServeMux).ServeHTTP(0xc21023ca20, 0x7f4074db15c8, 0xc2b8fa1320, 0xc422315a90)
/home/vagrant/influxdb/src/github.com/bmizerany/pat/mux.go:109 +0x1be
net/http.serverHandler.ServeHTTP(0xc210152640, 0x7f4074db15c8, 0xc2b8fa1320, 0xc422315a90)
/home/vagrant/bin/go/src/pkg/net/http/server.go:1597 +0x16e
net/http.(*conn).serve(0xc210d44b80)
/home/vagrant/bin/go/src/pkg/net/http/server.go:1167 +0x7b7
created by net/http.(*Server).Serve
/home/vagrant/bin/go/src/pkg/net/http/server.go:1644 +0x28b