diff options
| author | Chris Lu <chris.lu@gmail.com> | 2019-07-21 13:50:24 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2019-07-21 13:50:24 -0700 |
| commit | 644c5c27b432862c81b2d01efac90066f65dff83 (patch) | |
| tree | 90cf6a55f2a67b03b32fb78d71ca1c135f1a32d6 | |
| parent | 33b33660431532129509f327be3a65367abd40f2 (diff) | |
| download | seaweedfs-644c5c27b432862c81b2d01efac90066f65dff83.tar.xz seaweedfs-644c5c27b432862c81b2d01efac90066f65dff83.zip | |
refactoring
| -rw-r--r-- | weed/storage/needle_map_leveldb.go | 8 | ||||
| -rw-r--r-- | weed/storage/volume_vacuum.go | 7 |
2 files changed, 5 insertions, 10 deletions
diff --git a/weed/storage/needle_map_leveldb.go b/weed/storage/needle_map_leveldb.go index aa726e733..ef8571e83 100644 --- a/weed/storage/needle_map_leveldb.go +++ b/weed/storage/needle_map_leveldb.go @@ -101,13 +101,9 @@ func (m *LevelDbNeedleMap) Put(key NeedleId, offset Offset, size uint32) error { return levelDbWrite(m.db, key, offset, size) } -func levelDbWrite(db *leveldb.DB, - key NeedleId, offset Offset, size uint32) error { +func levelDbWrite(db *leveldb.DB, key NeedleId, offset Offset, size uint32) error { - bytes := make([]byte, NeedleIdSize+OffsetSize+SizeSize) - NeedleIdToBytes(bytes[0:NeedleIdSize], key) - OffsetToBytes(bytes[NeedleIdSize:NeedleIdSize+OffsetSize], offset) - util.Uint32toBytes(bytes[NeedleIdSize+OffsetSize:NeedleIdSize+OffsetSize+SizeSize], size) + bytes := needle_map.ToBytes(key, offset, size) if err := db.Put(bytes[0:NeedleIdSize], bytes[NeedleIdSize:NeedleIdSize+OffsetSize+SizeSize], nil); err != nil { return fmt.Errorf("failed to write leveldb: %v", err) diff --git a/weed/storage/volume_vacuum.go b/weed/storage/volume_vacuum.go index 89a0b1a14..5f65dc89e 100644 --- a/weed/storage/volume_vacuum.go +++ b/weed/storage/volume_vacuum.go @@ -9,6 +9,7 @@ import ( "github.com/chrislusf/seaweedfs/weed/stats" idx2 "github.com/chrislusf/seaweedfs/weed/storage/idx" "github.com/chrislusf/seaweedfs/weed/storage/needle" + "github.com/chrislusf/seaweedfs/weed/storage/needle_map" . "github.com/chrislusf/seaweedfs/weed/storage/types" "github.com/chrislusf/seaweedfs/weed/util" ) @@ -182,11 +183,9 @@ func (v *Volume) makeupDiff(newDatFileName, newIdxFileName, oldDatFileName, oldI return fmt.Errorf("oldDatFile %s 's compact revision is %d while newDatFile %s 's compact revision is %d", oldDatFileName, oldDatCompactRevision, newDatFileName, newDatCompactRevision) } - idxEntryBytes := make([]byte, NeedleIdSize+OffsetSize+SizeSize) for key, increIdxEntry := range incrementedHasUpdatedIndexEntry { - NeedleIdToBytes(idxEntryBytes[0:NeedleIdSize], key) - OffsetToBytes(idxEntryBytes[NeedleIdSize:NeedleIdSize+OffsetSize], increIdxEntry.offset) - util.Uint32toBytes(idxEntryBytes[NeedleIdSize+OffsetSize:NeedleIdSize+OffsetSize+SizeSize], increIdxEntry.size) + + idxEntryBytes := needle_map.ToBytes(key, increIdxEntry.offset, increIdxEntry.size) var offset int64 if offset, err = dst.Seek(0, 2); err != nil { |
