diff options
| author | Chris Lu <chris.lu@gmail.com> | 2017-05-26 22:51:25 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2017-05-26 22:51:25 -0700 |
| commit | 82c3ccc8ddb1fea27a15f0610cf7730deb4529bc (patch) | |
| tree | b1deba002de8d716ca395c3b29c43448a4522f7d /weed/command | |
| parent | 80cefade65ecf965cde769240594f17b0a562304 (diff) | |
| download | seaweedfs-82c3ccc8ddb1fea27a15f0610cf7730deb4529bc.tar.xz seaweedfs-82c3ccc8ddb1fea27a15f0610cf7730deb4529bc.zip | |
add btree for volume index
Diffstat (limited to 'weed/command')
| -rw-r--r-- | weed/command/export.go | 2 | ||||
| -rw-r--r-- | weed/command/fix.go | 2 | ||||
| -rw-r--r-- | weed/command/server.go | 4 | ||||
| -rw-r--r-- | weed/command/volume.go | 4 |
4 files changed, 8 insertions, 4 deletions
diff --git a/weed/command/export.go b/weed/command/export.go index 5a7dc71d9..0f7496472 100644 --- a/weed/command/export.go +++ b/weed/command/export.go @@ -118,7 +118,7 @@ func runExport(cmd *Command, args []string) bool { } defer indexFile.Close() - needleMap, err := storage.LoadNeedleMap(indexFile) + needleMap, err := storage.LoadBtreeNeedleMap(indexFile) if err != nil { glog.Fatalf("cannot load needle map from %s: %s", indexFile.Name(), err) } diff --git a/weed/command/fix.go b/weed/command/fix.go index 22480dcd0..f3103c6c2 100644 --- a/weed/command/fix.go +++ b/weed/command/fix.go @@ -43,7 +43,7 @@ func runFix(cmd *Command, args []string) bool { } defer indexFile.Close() - nm := storage.NewNeedleMap(indexFile) + nm := storage.NewBtreeNeedleMap(indexFile) defer nm.Close() vid := storage.VolumeId(*fixVolumeId) diff --git a/weed/command/server.go b/weed/command/server.go index e1152f23f..ad6916b8f 100644 --- a/weed/command/server.go +++ b/weed/command/server.go @@ -72,7 +72,7 @@ var ( volumeDataFolders = cmdServer.Flag.String("dir", os.TempDir(), "directories to store data files. dir[,dir]...") volumeMaxDataVolumeCounts = cmdServer.Flag.String("volume.max", "7", "maximum numbers of volumes, count[,count]...") volumePulse = cmdServer.Flag.Int("pulseSeconds", 5, "number of seconds between heartbeats") - volumeIndexType = cmdServer.Flag.String("volume.index", "memory", "Choose [memory|leveldb|boltdb] mode for memory~performance balance.") + volumeIndexType = cmdServer.Flag.String("volume.index", "memory", "Choose [memory|leveldb|boltdb|btree] mode for memory~performance balance.") volumeFixJpgOrientation = cmdServer.Flag.Bool("volume.images.fix.orientation", true, "Adjust jpg orientation when uploading.") volumeReadRedirect = cmdServer.Flag.Bool("volume.read.redirect", true, "Redirect moved or non-local volumes.") volumeServerPublicUrl = cmdServer.Flag.String("volume.publicUrl", "", "publicly accessible address") @@ -276,6 +276,8 @@ func runServer(cmd *Command, args []string) bool { volumeNeedleMapKind = storage.NeedleMapLevelDb case "boltdb": volumeNeedleMapKind = storage.NeedleMapBoltDb + case "btree": + volumeNeedleMapKind = storage.NeedleMapBtree } volumeServer := weed_server.NewVolumeServer(volumeMux, publicVolumeMux, *serverIp, *volumePort, *volumeServerPublicUrl, diff --git a/weed/command/volume.go b/weed/command/volume.go index 0e69325b6..a4e316ecb 100644 --- a/weed/command/volume.go +++ b/weed/command/volume.go @@ -52,7 +52,7 @@ func init() { v.maxCpu = cmdVolume.Flag.Int("maxCpu", 0, "maximum number of CPUs. 0 means all available CPUs") v.dataCenter = cmdVolume.Flag.String("dataCenter", "", "current volume server's data center name") v.rack = cmdVolume.Flag.String("rack", "", "current volume server's rack name") - v.indexType = cmdVolume.Flag.String("index", "memory", "Choose [memory|leveldb|boltdb] mode for memory~performance balance.") + v.indexType = cmdVolume.Flag.String("index", "memory", "Choose [memory|leveldb|boltdb|btree] mode for memory~performance balance.") v.fixJpgOrientation = cmdVolume.Flag.Bool("images.fix.orientation", true, "Adjust jpg orientation when uploading.") v.readRedirect = cmdVolume.Flag.Bool("read.redirect", true, "Redirect moved or non-local volumes.") v.enableBytesCache = cmdVolume.Flag.Bool("cache.enable", false, "direct cache instead of OS cache, cost more memory.") @@ -126,6 +126,8 @@ func runVolume(cmd *Command, args []string) bool { volumeNeedleMapKind = storage.NeedleMapLevelDb case "boltdb": volumeNeedleMapKind = storage.NeedleMapBoltDb + case "btree": + volumeNeedleMapKind = storage.NeedleMapBtree } volumeServer := weed_server.NewVolumeServer(volumeMux, publicVolumeMux, *v.ip, *v.port, *v.publicUrl, |
