diff options
| author | Chris Lu <chris.lu@gmail.com> | 2013-02-26 22:54:22 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2013-02-26 22:54:22 -0800 |
| commit | db8e27be6ec7daa1a188f90f61e385c04cb6b008 (patch) | |
| tree | 33e53b6ec51157709bc6121adeb8b19fe668c79b /go/sequence/sequence.go | |
| parent | bd278337db4e3c1937f2d7cd1623ee9627c77619 (diff) | |
| download | seaweedfs-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.go | 15 |
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) + } } |
