From aa00270de8611f05ff3d1e810064f888f12a808e Mon Sep 17 00:00:00 2001 From: Todd Gruben Date: Tue, 2 Dec 2014 21:06:50 +0000 Subject: [PATCH] more cleanup code on panic shutdown --- index/fragment_container.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/index/fragment_container.go b/index/fragment_container.go index 0766703e3..4d0759ff1 100644 --- a/index/fragment_container.go +++ b/index/fragment_container.go @@ -468,6 +468,15 @@ func (self *Fragment) processCommand(req Command) { req.ResponseChannel() <- Result{answer, delta} } func (self *Fragment) ServeFragment(loadChan chan Command) { + ispanic := true + defer func() { + if r := recover(); r != nil { + if ispanic { + self.Persist() + } + } + + }() for { select { case req := <-self.requestChan: @@ -481,6 +490,7 @@ func (self *Fragment) ServeFragment(loadChan chan Command) { case wg := <-self.exit: log.Println("Fragment Shutdown") self.Persist() + ispanic = false wg.Done() } }