aboutsummaryrefslogtreecommitdiff
path: root/go/sequence/sequence.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2013-02-26 22:54:22 -0800
committerChris Lu <chris.lu@gmail.com>2013-02-26 22:54:22 -0800
commitdb8e27be6ec7daa1a188f90f61e385c04cb6b008 (patch)
tree33e53b6ec51157709bc6121adeb8b19fe668c79b /go/sequence/sequence.go
parentbd278337db4e3c1937f2d7cd1623ee9627c77619 (diff)
downloadseaweedfs-db8e27be6ec7daa1a188f90f61e385c04cb6b008.tar.xz
seaweedfs-db8e27be6ec7daa1a188f90f61e385c04cb6b008.zip
add lots of error checking by GThomas
Diffstat (limited to 'go/sequence/sequence.go')
-rw-r--r--go/sequence/sequence.go15
1 files changed, 11 insertions, 4 deletions
diff --git a/go/sequence/sequence.go b/go/sequence/sequence.go
index c85289468..0237f1f80 100644
--- a/go/sequence/sequence.go
+++ b/go/sequence/sequence.go
@@ -36,10 +36,15 @@ func NewSequencer(dirname string, filename string) (m *SequencerImpl) {
} else {
decoder := gob.NewDecoder(seqFile)
defer seqFile.Close()
- decoder.Decode(&m.FileIdSequence)
- log.Println("Loading file id sequence", m.FileIdSequence, "=>", m.FileIdSequence+FileIdSaveInterval)
+ if se = decoder.Decode(&m.FileIdSequence); se != nil {
+ log.Printf("error decoding FileIdSequence: %s", se)
+ m.FileIdSequence = FileIdSaveInterval
+ log.Println("Setting file id sequence", m.FileIdSequence)
+ } else {
+ log.Println("Loading file id sequence", m.FileIdSequence, "=>", m.FileIdSequence+FileIdSaveInterval)
+ m.FileIdSequence += FileIdSaveInterval
+ }
//in case the server stops between intervals
- m.FileIdSequence += FileIdSaveInterval
}
return
}
@@ -67,5 +72,7 @@ func (m *SequencerImpl) saveSequence() {
}
defer seqFile.Close()
encoder := gob.NewEncoder(seqFile)
- encoder.Encode(m.FileIdSequence)
+ if e = encoder.Encode(m.FileIdSequence); e != nil {
+ log.Fatalf("Sequence File Save [ERROR] %s\n", e)
+ }
}