aboutsummaryrefslogtreecommitdiff
path: root/weed/command
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2017-05-26 22:51:25 -0700
committerChris Lu <chris.lu@gmail.com>2017-05-26 22:51:25 -0700
commit82c3ccc8ddb1fea27a15f0610cf7730deb4529bc (patch)
treeb1deba002de8d716ca395c3b29c43448a4522f7d /weed/command
parent80cefade65ecf965cde769240594f17b0a562304 (diff)
downloadseaweedfs-82c3ccc8ddb1fea27a15f0610cf7730deb4529bc.tar.xz
seaweedfs-82c3ccc8ddb1fea27a15f0610cf7730deb4529bc.zip
add btree for volume index
Diffstat (limited to 'weed/command')
-rw-r--r--weed/command/export.go2
-rw-r--r--weed/command/fix.go2
-rw-r--r--weed/command/server.go4
-rw-r--r--weed/command/volume.go4
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,