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

Restore functionality panics: close of closed channel (0.9.5-nightly) #4707

Closed
simcap opened this issue Nov 8, 2015 · 0 comments · Fixed by #4715
Closed

Restore functionality panics: close of closed channel (0.9.5-nightly) #4707

simcap opened this issue Nov 8, 2015 · 0 comments · Fixed by #4715

Comments

@simcap
Copy link
Contributor

simcap commented Nov 8, 2015

Retrying a restore (after a fix done for #4671 ). It is still not working though with a different error.

My configuration is:

  • 1 fresh install of a single InfluxDB instance version 0.9.5-nightly-905437c
  • and therefore no clustering

With a backup snapshot I have handy (done successfully) i run this command (with no InfluxDb process running):

sudo /opt/influxdb/influxd restore -config /etc/opt/influxdb/influxdb.conf /tmp/latest-snapshot

I get the following stacktrace:

unpacking: _internal/monitor/10 (33890304 bytes)
unpacking: _internal/monitor/13 (42020864 bytes)
unpacking: _internal/monitor/17 (53149696 bytes)
unpacking: _internal/monitor/21 (62894080 bytes)
unpacking: _internal/monitor/25 (72585216 bytes)
unpacking: _internal/monitor/29 (32546816 bytes)
unpacking: _internal/monitor/4 (18874368 bytes)
unpacking: _internal/monitor/7 (26234880 bytes)
unpacking: meta (1499 bytes)
[metastore] 2015/11/08 13:14:44 Using data dir: /root/.influxdb/meta
[metastore] 2015/11/08 13:14:44 Node at 127.0.0.1:8088 [Follower]
[metastore] 2015/11/08 13:14:46 Node at 127.0.0.1:8088 [Leader]. peers=[]
[metastore] 2015/11/08 13:14:46 Created local node: id=1, host=127.0.0.1:8088
panic: close of closed channel

goroutine 1 [running]:
github.com/influxdb/influxdb/cmd/influxd/restore.(*nopListener).Close(0xc8200283b8, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/cmd/influxd/restore/restore.go:251 +0x30
github.com/influxdb/influxdb/meta.(*raftLayer).Close(0xc82011f8f0, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/meta/store.go:2206 +0x45
github.com/influxdb/influxdb/meta.(*localRaft).close(0xc82016c9b0, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/meta/state.go:213 +0x8e
github.com/influxdb/influxdb/meta.(*Store).close(0xc820080780, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/meta/store.go:471 +0x2fb
github.com/influxdb/influxdb/meta.(*Store).Close(0xc820080780, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/meta/store.go:433 +0x75
github.com/influxdb/influxdb/cmd/influxd/restore.(*Command).unpackMeta(0xc8200154a0, 0xc82000aeb0, 0xc820110a40, 0x4, 0x5db, 0xecdca77a8, 0x15d90e44, 0x10a71e0, 0xc8200f6000, 0x0, ...)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/cmd/influxd/restore/restore.go:196 +0xe4d
github.com/influxdb/influxdb/cmd/influxd/restore.(*Command).unpack(0xc8200154a0, 0xc82000aeb0, 0xc8200f6000, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/cmd/influxd/restore/restore.go:125 +0x547
github.com/influxdb/influxdb/cmd/influxd/restore.(*Command).Restore(0xc8200154a0, 0xc8200f6000, 0x7ffc5c4d0941, 0x14, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/cmd/influxd/restore/restore.go:59 +0x4da
github.com/influxdb/influxdb/cmd/influxd/restore.(*Command).Run(0xc8200154a0, 0xc82000a0c0, 0x3, 0x3, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/cmd/influxd/restore/restore.go:40 +0xc0
main.(*Main).Run(0xc8200ebf00, 0xc82000a0c0, 0x3, 0x3, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/cmd/influxd/main.go:124 +0x1e0f
main.main()
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/cmd/influxd/main.go:46 +0x29b

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
    /root/.gvm/gos/go1.5.1/src/runtime/asm_amd64.s:1696 +0x1

goroutine 5 [syscall]:
os/signal.loop()
    /root/.gvm/gos/go1.5.1/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
    /root/.gvm/gos/go1.5.1/src/os/signal/signal_unix.go:28 +0x37

goroutine 8 [runnable]:
github.com/influxdb/influxdb/cmd/influxd/restore.(*nopListener).Accept(0xc8200283b8, 0x0, 0x0, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/cmd/influxd/restore/restore.go:247 +0x55
github.com/influxdb/influxdb/meta.(*raftLayer).Accept(0xc82011f8f0, 0x0, 0x0, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/meta/store.go:2203 +0x51
github.com/hashicorp/raft.(*NetworkTransport).listen(0xc820164cb0)
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/net_transport.go:362 +0x79
created by github.com/hashicorp/raft.NewNetworkTransportWithLogger
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/net_transport.go:154 +0x279

goroutine 9 [select]:
github.com/hashicorp/raft.(*Raft).leaderLoop(0xc82008e380)
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/raft.go:849 +0xcce
github.com/hashicorp/raft.(*Raft).runLeader(0xc82008e380)
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/raft.go:821 +0x936
github.com/hashicorp/raft.(*Raft).run(0xc82008e380)
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/raft.go:602 +0xbb
github.com/hashicorp/raft.(*Raft).(github.com/hashicorp/raft.run)-fm()
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/raft.go:252 +0x20
github.com/hashicorp/raft.(*raftState).goFunc.func1(0xc82008e380, 0xc8201783e0)
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/state.go:152 +0x44
created by github.com/hashicorp/raft.(*raftState).goFunc
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/state.go:153 +0x4d

goroutine 10 [select]:
github.com/hashicorp/raft.(*Raft).runFSM(0xc82008e380)
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/raft.go:509 +0x10eb
github.com/hashicorp/raft.(*Raft).(github.com/hashicorp/raft.runFSM)-fm()
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/raft.go:253 +0x20
github.com/hashicorp/raft.(*raftState).goFunc.func1(0xc82008e380, 0xc8201783f0)
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/state.go:152 +0x44
created by github.com/hashicorp/raft.(*raftState).goFunc
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/state.go:153 +0x4d

goroutine 11 [select]:
github.com/hashicorp/raft.(*Raft).runSnapshots(0xc82008e380)
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/raft.go:1636 +0x493
github.com/hashicorp/raft.(*Raft).(github.com/hashicorp/raft.runSnapshots)-fm()
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/raft.go:254 +0x20
github.com/hashicorp/raft.(*raftState).goFunc.func1(0xc82008e380, 0xc820178400)
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/state.go:152 +0x44
created by github.com/hashicorp/raft.(*raftState).goFunc
    /tmp/tmp.erw5t5I8Re/src/github.com/hashicorp/raft/state.go:153 +0x4d

goroutine 14 [runnable]:
github.com/influxdb/influxdb/cmd/influxd/restore.(*nopListener).Accept(0xc8200283c0, 0x0, 0x0, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/cmd/influxd/restore/restore.go:247 +0x55
github.com/influxdb/influxdb/meta.(*Store).serveExecListener(0xc820080780)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/meta/store.go:644 +0xae
created by github.com/influxdb/influxdb/meta.(*Store).Open
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/meta/store.go:238 +0x351

goroutine 15 [runnable]:
github.com/influxdb/influxdb/cmd/influxd/restore.(*nopListener).Accept(0xc8200283c8, 0x0, 0x0, 0x0, 0x0)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/cmd/influxd/restore/restore.go:247 +0x55
github.com/influxdb/influxdb/meta.(*Store).serveRPCListener(0xc820080780)
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/meta/store.go:754 +0xa2
created by github.com/influxdb/influxdb/meta.(*Store).Open
    /tmp/tmp.erw5t5I8Re/src/github.com/influxdb/influxdb/meta/store.go:241 +0x3a3
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.

2 participants