aboutsummaryrefslogtreecommitdiff
path: root/go/weed
diff options
context:
space:
mode:
authoryourchanges <yourchanges@gmail.com>2014-10-21 15:50:48 +0800
committeryourchanges <yourchanges@gmail.com>2014-10-21 15:50:48 +0800
commitf7bcd8e958ef185baeca0c455a397d49fcb62256 (patch)
treebb2a2de4fcb7f9ac7e1d65a78e82cbe1f5f17e36 /go/weed
parent78ccbbf3d0766e1ececf91fa00766d1ed33050cc (diff)
parenta3c17f17b144c4298409fddda2d6bc4b39d38ca5 (diff)
downloadseaweedfs-f7bcd8e958ef185baeca0c455a397d49fcb62256.tar.xz
seaweedfs-f7bcd8e958ef185baeca0c455a397d49fcb62256.zip
Merge pull request #1 from chrislusf/master
update
Diffstat (limited to 'go/weed')
-rw-r--r--go/weed/benchmark.go10
-rw-r--r--go/weed/compact.go6
-rw-r--r--go/weed/download.go4
-rw-r--r--go/weed/export.go8
-rw-r--r--go/weed/filer.go8
-rw-r--r--go/weed/fix.go4
-rw-r--r--go/weed/master.go8
-rw-r--r--go/weed/mount_std.go10
-rw-r--r--go/weed/server.go17
-rw-r--r--go/weed/shell.go2
-rw-r--r--go/weed/upload.go8
-rw-r--r--go/weed/version.go6
-rw-r--r--go/weed/volume.go11
-rw-r--r--go/weed/volume_test.go2
-rw-r--r--go/weed/weed.go4
-rw-r--r--go/weed/weed_server/common.go14
-rw-r--r--go/weed/weed_server/filer_server.go4
-rw-r--r--go/weed/weed_server/filer_server_handlers.go19
-rw-r--r--go/weed/weed_server/filer_server_handlers_admin.go2
-rw-r--r--go/weed/weed_server/master_server.go8
-rw-r--r--go/weed/weed_server/master_server_handlers.go6
-rw-r--r--go/weed/weed_server/master_server_handlers_admin.go19
-rw-r--r--go/weed/weed_server/raft_server.go4
-rw-r--r--go/weed/weed_server/raft_server_handlers.go4
-rw-r--r--go/weed/weed_server/volume_server.go5
-rw-r--r--go/weed/weed_server/volume_server_handlers.go12
-rw-r--r--go/weed/weed_server/volume_server_handlers_admin.go12
-rw-r--r--go/weed/weed_server/volume_server_handlers_vacuum.go2
28 files changed, 112 insertions, 107 deletions
diff --git a/go/weed/benchmark.go b/go/weed/benchmark.go
index eab923751..fec8472e5 100644
--- a/go/weed/benchmark.go
+++ b/go/weed/benchmark.go
@@ -2,9 +2,9 @@ package main
import (
"bufio"
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/operation"
- "code.google.com/p/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/operation"
+ "github.com/chrislusf/weed-fs/go/util"
"fmt"
"io"
"math"
@@ -98,7 +98,7 @@ func init() {
}
func runbenchmark(cmd *Command, args []string) bool {
- fmt.Printf("This is Weed File System version %s %s %s\n", util.VERSION, runtime.GOOS, runtime.GOARCH)
+ fmt.Printf("This is Seaweed File System version %s %s %s\n", util.VERSION, runtime.GOOS, runtime.GOARCH)
if *b.cpuprofile != "" {
f, err := os.Create(*b.cpuprofile)
if err != nil {
@@ -201,7 +201,7 @@ func writeFiles(idChan chan int, fileIdLineChan chan string, s *stats) {
start := time.Now()
fileSize := int64(*b.fileSize + rand.Intn(64))
fp := &operation.FilePart{Reader: &FakeReader{id: uint64(id), size: fileSize}, FileSize: fileSize}
- if assignResult, err := operation.Assign(*b.server, 1, "", *b.collection); err == nil {
+ if assignResult, err := operation.Assign(*b.server, 1, "", *b.collection, ""); err == nil {
fp.Server, fp.Fid, fp.Collection = assignResult.PublicUrl, assignResult.Fid, *b.collection
if _, ok := serverLimitChan[fp.Server]; !ok {
serverLimitChan[fp.Server] = make(chan bool, 7)
diff --git a/go/weed/compact.go b/go/weed/compact.go
index 580f3f98d..a99e6c93e 100644
--- a/go/weed/compact.go
+++ b/go/weed/compact.go
@@ -1,8 +1,8 @@
package main
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/storage"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/storage"
)
func init() {
@@ -33,7 +33,7 @@ func runCompact(cmd *Command, args []string) bool {
}
vid := storage.VolumeId(*compactVolumeId)
- v, err := storage.NewVolume(*compactVolumePath, *compactVolumeCollection, vid, nil)
+ v, err := storage.NewVolume(*compactVolumePath, *compactVolumeCollection, vid, nil, nil)
if err != nil {
glog.Fatalf("Load Volume [ERROR] %s\n", err)
}
diff --git a/go/weed/download.go b/go/weed/download.go
index 4309fe5e0..c30d17915 100644
--- a/go/weed/download.go
+++ b/go/weed/download.go
@@ -1,8 +1,8 @@
package main
import (
- "code.google.com/p/weed-fs/go/operation"
- "code.google.com/p/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/operation"
+ "github.com/chrislusf/weed-fs/go/util"
"fmt"
"io"
"io/ioutil"
diff --git a/go/weed/export.go b/go/weed/export.go
index 3f8ff85bb..81bc21f6e 100644
--- a/go/weed/export.go
+++ b/go/weed/export.go
@@ -3,8 +3,8 @@ package main
import (
"archive/tar"
"bytes"
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/storage"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/storage"
"fmt"
"os"
"path"
@@ -27,7 +27,7 @@ var cmdExport = &Command{
UsageLine: "export -dir=/tmp -volumeId=234 -o=/dir/name.tar -fileNameFormat={{.Name}}",
Short: "list or export files from one volume data file",
Long: `List all files in a volume, or Export all files in a volume to a tar file if the output is specified.
-
+
The format of file name in the tar file can be customized. Default is {{.Mime}}/{{.Id}}:{{.Name}}. Also available is {{.Key}}.
`,
@@ -100,7 +100,7 @@ func runExport(cmd *Command, args []string) bool {
var version storage.Version
err = storage.ScanVolumeFile(*exportVolumePath, *exportCollection, vid, func(superBlock storage.SuperBlock) error {
- version = superBlock.Version
+ version = superBlock.Version()
return nil
}, true, func(n *storage.Needle, offset int64) error {
nv, ok := nm.Get(n.Id)
diff --git a/go/weed/filer.go b/go/weed/filer.go
index d7d028d50..7dbecb4d0 100644
--- a/go/weed/filer.go
+++ b/go/weed/filer.go
@@ -1,9 +1,9 @@
package main
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/util"
- "code.google.com/p/weed-fs/go/weed/weed_server"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/weed/weed_server"
"net/http"
"os"
"strconv"
@@ -63,7 +63,7 @@ func runFiler(cmd *Command, args []string) bool {
if nfs_err != nil {
glog.Fatalf(nfs_err.Error())
}
- glog.V(0).Infoln("Start Weed Filer", util.VERSION, "at port", strconv.Itoa(*f.port))
+ glog.V(0).Infoln("Start Seaweed Filer", util.VERSION, "at port", strconv.Itoa(*f.port))
filerListener, e := util.NewListener(
":"+strconv.Itoa(*f.port),
time.Duration(10)*time.Second,
diff --git a/go/weed/fix.go b/go/weed/fix.go
index 02147d796..ad573875a 100644
--- a/go/weed/fix.go
+++ b/go/weed/fix.go
@@ -1,8 +1,8 @@
package main
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/storage"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/storage"
"os"
"path"
"strconv"
diff --git a/go/weed/master.go b/go/weed/master.go
index b95ca5cb1..6617c8ca6 100644
--- a/go/weed/master.go
+++ b/go/weed/master.go
@@ -1,9 +1,9 @@
package main
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/util"
- "code.google.com/p/weed-fs/go/weed/weed_server"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/weed/weed_server"
"github.com/gorilla/mux"
"net/http"
"os"
@@ -63,7 +63,7 @@ func runMaster(cmd *Command, args []string) bool {
listeningAddress := *masterIp + ":" + strconv.Itoa(*mport)
- glog.V(0).Infoln("Start Weed Master", util.VERSION, "at", listeningAddress)
+ glog.V(0).Infoln("Start Seaweed Master", util.VERSION, "at", listeningAddress)
listener, e := util.NewListener(listeningAddress, time.Duration(*mTimeout)*time.Second)
if e != nil {
diff --git a/go/weed/mount_std.go b/go/weed/mount_std.go
index 9376b3f2e..e5fc0986c 100644
--- a/go/weed/mount_std.go
+++ b/go/weed/mount_std.go
@@ -5,17 +5,17 @@ package main
import (
"bazil.org/fuse"
"bazil.org/fuse/fs"
- "code.google.com/p/weed-fs/go/filer"
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/storage"
- "code.google.com/p/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/filer"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/storage"
+ "github.com/chrislusf/weed-fs/go/util"
"fmt"
"os"
"runtime"
)
func runMount(cmd *Command, args []string) bool {
- fmt.Printf("This is Weed File System version %s %s %s\n", util.VERSION, runtime.GOOS, runtime.GOARCH)
+ fmt.Printf("This is Seaweed File System version %s %s %s\n", util.VERSION, runtime.GOOS, runtime.GOARCH)
if *mountOptions.dir == "" {
fmt.Printf("Please specify the mount directory via \"-dir\"")
return false
diff --git a/go/weed/server.go b/go/weed/server.go
index 8b0372159..1d854d641 100644
--- a/go/weed/server.go
+++ b/go/weed/server.go
@@ -1,9 +1,9 @@
package main
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/util"
- "code.google.com/p/weed-fs/go/weed/weed_server"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/weed/weed_server"
"github.com/gorilla/mux"
"net/http"
"os"
@@ -48,6 +48,7 @@ var cmdServer = &Command{
var (
serverIp = cmdServer.Flag.String("ip", "", "ip or server name")
serverPublicIp = cmdServer.Flag.String("publicIp", "", "ip or server name")
+ serverBindIp = cmdServer.Flag.String("ip.bind", "0.0.0.0", "ip address to bind to")
serverMaxCpu = cmdServer.Flag.Int("maxCpu", 0, "maximum number of CPUs. 0 means all available CPUs")
serverTimeout = cmdServer.Flag.Int("idleTimeout", 10, "connection idle seconds")
serverDataCenter = cmdServer.Flag.String("dataCenter", "", "current volume server's data center name")
@@ -152,7 +153,7 @@ func runServer(cmd *Command, args []string) bool {
if nfs_err != nil {
glog.Fatalf(nfs_err.Error())
}
- glog.V(0).Infoln("Start Weed Filer", util.VERSION, "at port", strconv.Itoa(*filerOptions.port))
+ glog.V(0).Infoln("Start Seaweed Filer", util.VERSION, "at port", strconv.Itoa(*filerOptions.port))
filerListener, e := util.NewListener(
":"+strconv.Itoa(*filerOptions.port),
time.Duration(10)*time.Second,
@@ -178,8 +179,8 @@ func runServer(cmd *Command, args []string) bool {
*masterVolumeSizeLimitMB, *volumePulse, *masterConfFile, *masterDefaultReplicaPlacement, *serverGarbageThreshold, serverWhiteList,
)
- glog.V(0).Infoln("Start Weed Master", util.VERSION, "at", *serverIp+":"+strconv.Itoa(*masterPort))
- masterListener, e := util.NewListener(*serverIp+":"+strconv.Itoa(*masterPort), time.Duration(*serverTimeout)*time.Second)
+ glog.V(0).Infoln("Start Seaweed Master", util.VERSION, "at", *serverIp+":"+strconv.Itoa(*masterPort))
+ masterListener, e := util.NewListener(*serverBindIp+":"+strconv.Itoa(*masterPort), time.Duration(*serverTimeout)*time.Second)
if e != nil {
glog.Fatalf(e.Error())
}
@@ -211,9 +212,9 @@ func runServer(cmd *Command, args []string) bool {
*volumeFixJpgOrientation,
)
- glog.V(0).Infoln("Start Weed volume server", util.VERSION, "at", *serverIp+":"+strconv.Itoa(*volumePort))
+ glog.V(0).Infoln("Start Seaweed volume server", util.VERSION, "at", *serverIp+":"+strconv.Itoa(*volumePort))
volumeListener, e := util.NewListener(
- *serverIp+":"+strconv.Itoa(*volumePort),
+ *serverBindIp+":"+strconv.Itoa(*volumePort),
time.Duration(*serverTimeout)*time.Second,
)
if e != nil {
diff --git a/go/weed/shell.go b/go/weed/shell.go
index 6a3331284..c8043e0dd 100644
--- a/go/weed/shell.go
+++ b/go/weed/shell.go
@@ -2,7 +2,7 @@ package main
import (
"bufio"
- "code.google.com/p/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/glog"
"fmt"
"os"
)
diff --git a/go/weed/upload.go b/go/weed/upload.go
index b59313a2a..4eae4d274 100644
--- a/go/weed/upload.go
+++ b/go/weed/upload.go
@@ -1,7 +1,7 @@
package main
import (
- "code.google.com/p/weed-fs/go/operation"
+ "github.com/chrislusf/weed-fs/go/operation"
"encoding/json"
"fmt"
"os"
@@ -12,6 +12,7 @@ var (
uploadReplication *string
uploadCollection *string
uploadDir *string
+ uploadTtl *string
include *string
maxMB *int
)
@@ -24,6 +25,7 @@ func init() {
include = cmdUpload.Flag.String("include", "", "pattens of files to upload, e.g., *.pdf, *.html, ab?d.txt, works together with -dir")
uploadReplication = cmdUpload.Flag.String("replication", "", "replication type")
uploadCollection = cmdUpload.Flag.String("collection", "", "optional collection name")
+ uploadTtl = cmdUpload.Flag.String("ttl", "", "time to live, e.g.: 1m, 1h, 1d, 1M, 1y")
maxMB = cmdUpload.Flag.Int("maxMB", 0, "split files larger than the limit")
}
@@ -67,7 +69,7 @@ func runUpload(cmd *Command, args []string) bool {
if e != nil {
return e
}
- results, e := operation.SubmitFiles(*server, parts, *uploadReplication, *uploadCollection, *maxMB)
+ results, e := operation.SubmitFiles(*server, parts, *uploadReplication, *uploadCollection, *uploadTtl, *maxMB)
bytes, _ := json.Marshal(results)
fmt.Println(string(bytes))
if e != nil {
@@ -84,7 +86,7 @@ func runUpload(cmd *Command, args []string) bool {
if e != nil {
fmt.Println(e.Error())
}
- results, _ := operation.SubmitFiles(*server, parts, *uploadReplication, *uploadCollection, *maxMB)
+ results, _ := operation.SubmitFiles(*server, parts, *uploadReplication, *uploadCollection, *uploadTtl, *maxMB)
bytes, _ := json.Marshal(results)
fmt.Println(string(bytes))
}
diff --git a/go/weed/version.go b/go/weed/version.go
index 2e0a59822..63441509e 100644
--- a/go/weed/version.go
+++ b/go/weed/version.go
@@ -1,7 +1,7 @@
package main
import (
- "code.google.com/p/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/util"
"fmt"
"runtime"
)
@@ -9,8 +9,8 @@ import (
var cmdVersion = &Command{
Run: runVersion,
UsageLine: "version",
- Short: "print Weed File System version",
- Long: `Version prints the Weed File System version`,
+ Short: "print Seaweed File System version",
+ Long: `Version prints the Seaweed File System version`,
}
func runVersion(cmd *Command, args []string) bool {
diff --git a/go/weed/volume.go b/go/weed/volume.go
index 8aa52c43d..17d03f0c5 100644
--- a/go/weed/volume.go
+++ b/go/weed/volume.go
@@ -1,9 +1,9 @@
package main
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/util"
- "code.google.com/p/weed-fs/go/weed/weed_server"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/weed/weed_server"
"net/http"
"os"
"runtime"
@@ -30,6 +30,7 @@ var (
maxVolumeCounts = cmdVolume.Flag.String("max", "7", "maximum numbers of volumes, count[,count]...")
ip = cmdVolume.Flag.String("ip", "", "ip or server name")
publicIp = cmdVolume.Flag.String("publicIp", "", "Publicly accessible <ip|server_name>")
+ bindIp = cmdVolume.Flag.String("ip.bind", "0.0.0.0", "ip address to bind to")
masterNode = cmdVolume.Flag.String("mserver", "localhost:9333", "master server location")
vpulse = cmdVolume.Flag.Int("pulseSeconds", 5, "number of seconds between heartbeats, must be smaller than or equal to the master's setting")
vTimeout = cmdVolume.Flag.Int("idleTimeout", 10, "connection idle seconds")
@@ -84,9 +85,9 @@ func runVolume(cmd *Command, args []string) bool {
*fixJpgOrientation,
)
- listeningAddress := *ip + ":" + strconv.Itoa(*vport)
+ listeningAddress := *bindIp + ":" + strconv.Itoa(*vport)
- glog.V(0).Infoln("Start Weed volume server", util.VERSION, "at", listeningAddress)
+ glog.V(0).Infoln("Start Seaweed volume server", util.VERSION, "at", listeningAddress)
listener, e := util.NewListener(listeningAddress, time.Duration(*vTimeout)*time.Second)
if e != nil {
diff --git a/go/weed/volume_test.go b/go/weed/volume_test.go
index 2499d8543..764362a2b 100644
--- a/go/weed/volume_test.go
+++ b/go/weed/volume_test.go
@@ -1,7 +1,7 @@
package main
import (
- "code.google.com/p/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/glog"
"net/http"
"testing"
"time"
diff --git a/go/weed/weed.go b/go/weed/weed.go
index c739d8e93..c1f5a72de 100644
--- a/go/weed/weed.go
+++ b/go/weed/weed.go
@@ -1,7 +1,7 @@
package main
import (
- "code.google.com/p/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/glog"
"flag"
"fmt"
"io"
@@ -90,7 +90,7 @@ func main() {
}
var usageTemplate = `
-Weed File System : store billions of files and serve them fast!
+Seaweed File System : store billions of files and serve them fast!
Usage:
diff --git a/go/weed/weed_server/common.go b/go/weed/weed_server/common.go
index a547d7462..816107dc5 100644
--- a/go/weed/weed_server/common.go
+++ b/go/weed/weed_server/common.go
@@ -2,11 +2,11 @@ package weed_server
import (
"bytes"
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/operation"
- "code.google.com/p/weed-fs/go/stats"
- "code.google.com/p/weed-fs/go/storage"
- "code.google.com/p/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/operation"
+ "github.com/chrislusf/weed-fs/go/stats"
+ "github.com/chrislusf/weed-fs/go/storage"
+ "github.com/chrislusf/weed-fs/go/util"
"encoding/json"
"fmt"
"net"
@@ -99,14 +99,14 @@ func submitForClientHandler(w http.ResponseWriter, r *http.Request, masterUrl st
}
debug("parsing upload file...")
- fname, data, mimeType, isGzipped, lastModified, pe := storage.ParseUpload(r)
+ fname, data, mimeType, isGzipped, lastModified, _, pe := storage.ParseUpload(r)
if pe != nil {
writeJsonError(w, r, pe)
return
}
debug("assigning file id for", fname)
- assignResult, ae := operation.Assign(masterUrl, 1, r.FormValue("replication"), r.FormValue("collection"))
+ assignResult, ae := operation.Assign(masterUrl, 1, r.FormValue("replication"), r.FormValue("collection"), r.FormValue("ttl"))
if ae != nil {
writeJsonError(w, r, ae)
return
diff --git a/go/weed/weed_server/filer_server.go b/go/weed/weed_server/filer_server.go
index e56cb5964..5ff0ed986 100644
--- a/go/weed/weed_server/filer_server.go
+++ b/go/weed/weed_server/filer_server.go
@@ -1,8 +1,8 @@
package weed_server
import (
- "code.google.com/p/weed-fs/go/filer"
- "code.google.com/p/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/filer"
+ "github.com/chrislusf/weed-fs/go/glog"
"net/http"
"strconv"
)
diff --git a/go/weed/weed_server/filer_server_handlers.go b/go/weed/weed_server/filer_server_handlers.go
index ab30aaaed..e36e7c310 100644
--- a/go/weed/weed_server/filer_server_handlers.go
+++ b/go/weed/weed_server/filer_server_handlers.go
@@ -1,9 +1,9 @@
package weed_server
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/operation"
- "code.google.com/p/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/operation"
+ "github.com/chrislusf/weed-fs/go/util"
"encoding/json"
"errors"
"github.com/syndtr/goleveldb/leveldb"
@@ -103,12 +103,13 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request,
for k, v := range resp.Header {
w.Header()[k] = v
}
+ w.WriteHeader(resp.StatusCode)
io.Copy(w, resp.Body)
}
func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request) {
query := r.URL.Query()
- assignResult, ae := operation.Assign(fs.master, 1, query.Get("replication"), fs.collection)
+ assignResult, ae := operation.Assign(fs.master, 1, query.Get("replication"), fs.collection, query.Get("ttl"))
if ae != nil {
glog.V(0).Infoln("failing to assign a file id", ae.Error())
writeJsonError(w, r, ae)
@@ -130,14 +131,14 @@ func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request) {
}
resp, do_err := util.Do(request)
if do_err != nil {
- glog.V(0).Infoln("failing to connect to volume server", do_err.Error())
+ glog.V(0).Infoln("failing to connect to volume server", r.RequestURI, do_err.Error())
writeJsonError(w, r, do_err)
return
}
defer resp.Body.Close()
resp_body, ra_err := ioutil.ReadAll(resp.Body)
if ra_err != nil {
- glog.V(0).Infoln("failing to upload to volume server", ra_err.Error())
+ glog.V(0).Infoln("failing to upload to volume server", r.RequestURI, ra_err.Error())
writeJsonError(w, r, ra_err)
return
}
@@ -145,12 +146,12 @@ func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request) {
var ret operation.UploadResult
unmarshal_err := json.Unmarshal(resp_body, &ret)
if unmarshal_err != nil {
- glog.V(0).Infoln("failing to read upload resonse", string(resp_body))
+ glog.V(0).Infoln("failing to read upload resonse", r.RequestURI, string(resp_body))
writeJsonError(w, r, unmarshal_err)
return
}
if ret.Error != "" {
- glog.V(0).Infoln("failing to post to volume server", ret.Error)
+ glog.V(0).Infoln("failing to post to volume server", r.RequestURI, ret.Error)
writeJsonError(w, r, errors.New(ret.Error))
return
}
@@ -168,7 +169,7 @@ func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request) {
glog.V(4).Infoln("saving", path, "=>", assignResult.Fid)
if db_err := fs.filer.CreateFile(path, assignResult.Fid); db_err != nil {
operation.DeleteFile(fs.master, assignResult.Fid) //clean up
- glog.V(0).Infoln("failing to write to filer server", db_err.Error())
+ glog.V(0).Infoln("failing to write to filer server", r.RequestURI, db_err.Error())
writeJsonError(w, r, db_err)
return
}
diff --git a/go/weed/weed_server/filer_server_handlers_admin.go b/go/weed/weed_server/filer_server_handlers_admin.go
index b4b8b7221..ff52dff24 100644
--- a/go/weed/weed_server/filer_server_handlers_admin.go
+++ b/go/weed/weed_server/filer_server_handlers_admin.go
@@ -1,7 +1,7 @@
package weed_server
import (
- "code.google.com/p/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/glog"
"net/http"
)
diff --git a/go/weed/weed_server/master_server.go b/go/weed/weed_server/master_server.go
index a89959fa4..401f6cfdb 100644
--- a/go/weed/weed_server/master_server.go
+++ b/go/weed/weed_server/master_server.go
@@ -1,10 +1,10 @@
package weed_server
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/sequence"
- "code.google.com/p/weed-fs/go/topology"
- "code.google.com/p/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/sequence"
+ "github.com/chrislusf/weed-fs/go/topology"
+ "github.com/chrislusf/weed-fs/go/util"
"github.com/goraft/raft"
"github.com/gorilla/mux"
"net/http"
diff --git a/go/weed/weed_server/master_server_handlers.go b/go/weed/weed_server/master_server_handlers.go
index 1b58e6e73..93e9e7d9a 100644
--- a/go/weed/weed_server/master_server_handlers.go
+++ b/go/weed/weed_server/master_server_handlers.go
@@ -1,9 +1,9 @@
package weed_server
import (
- "code.google.com/p/weed-fs/go/operation"
- "code.google.com/p/weed-fs/go/stats"
- "code.google.com/p/weed-fs/go/storage"
+ "github.com/chrislusf/weed-fs/go/operation"
+ "github.com/chrislusf/weed-fs/go/stats"
+ "github.com/chrislusf/weed-fs/go/storage"
"net/http"
"strconv"
"strings"
diff --git a/go/weed/weed_server/master_server_handlers_admin.go b/go/weed/weed_server/master_server_handlers_admin.go
index d50075fd5..c9a8020c2 100644
--- a/go/weed/weed_server/master_server_handlers_admin.go
+++ b/go/weed/weed_server/master_server_handlers_admin.go
@@ -2,11 +2,11 @@ package weed_server
import (
proto "code.google.com/p/goprotobuf/proto"
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/operation"
- "code.google.com/p/weed-fs/go/storage"
- "code.google.com/p/weed-fs/go/topology"
- "code.google.com/p/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/operation"
+ "github.com/chrislusf/weed-fs/go/storage"
+ "github.com/chrislusf/weed-fs/go/topology"
+ "github.com/chrislusf/weed-fs/go/util"
"encoding/json"
"errors"
"io/ioutil"
@@ -55,7 +55,7 @@ func (ms *MasterServer) dirJoinHandler(w http.ResponseWriter, r *http.Request) {
}
}
- ms.Topo.RegisterVolumes(joinMessage)
+ ms.Topo.ProcessJoinMessage(joinMessage)
writeJsonQuiet(w, r, operation.JoinResult{VolumeSizeLimit: uint64(ms.volumeSizeLimitMB) * 1024 * 1024})
}
@@ -144,7 +144,7 @@ func (ms *MasterServer) deleteFromMasterServerHandler(w http.ResponseWriter, r *
}
func (ms *MasterServer) hasWriableVolume(option *topology.VolumeGrowOption) bool {
- vl := ms.Topo.GetVolumeLayout(option.Collection, option.ReplicaPlacement)
+ vl := ms.Topo.GetVolumeLayout(option.Collection, option.ReplicaPlacement, option.Ttl)
return vl.GetActiveVolumeCount(option) > 0
}
@@ -157,9 +157,14 @@ func (ms *MasterServer) getVolumeGrowOption(r *http.Request) (*topology.VolumeGr
if err != nil {
return nil, err
}
+ ttl, err := storage.ReadTTL(r.FormValue("ttl"))
+ if err != nil {
+ return nil, err
+ }
volumeGrowOption := &topology.VolumeGrowOption{
Collection: r.FormValue("collection"),
ReplicaPlacement: replicaPlacement,
+ Ttl: ttl,
DataCenter: r.FormValue("dataCenter"),
Rack: r.FormValue("rack"),
DataNode: r.FormValue("dataNode"),
diff --git a/go/weed/weed_server/raft_server.go b/go/weed/weed_server/raft_server.go
index f67caaebd..e41867076 100644
--- a/go/weed/weed_server/raft_server.go
+++ b/go/weed/weed_server/raft_server.go
@@ -2,8 +2,8 @@ package weed_server
import (
"bytes"
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/topology"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/topology"
"encoding/json"
"errors"
"fmt"
diff --git a/go/weed/weed_server/raft_server_handlers.go b/go/weed/weed_server/raft_server_handlers.go
index 1ce24a963..4d51c0767 100644
--- a/go/weed/weed_server/raft_server_handlers.go
+++ b/go/weed/weed_server/raft_server_handlers.go
@@ -1,8 +1,8 @@
package weed_server
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/operation"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/operation"
"encoding/json"
"github.com/goraft/raft"
"io/ioutil"
diff --git a/go/weed/weed_server/volume_server.go b/go/weed/weed_server/volume_server.go
index b118e8c35..2a9085f3b 100644
--- a/go/weed/weed_server/volume_server.go
+++ b/go/weed/weed_server/volume_server.go
@@ -1,8 +1,8 @@
package weed_server
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/storage"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/storage"
"math/rand"
"net/http"
"strconv"
@@ -35,7 +35,6 @@ func NewVolumeServer(r *http.ServeMux, ip string, port int, publicIp string, fol
}
vs.store = storage.NewStore(port, ip, publicUrl, folders, maxCounts)
- r.HandleFunc("/submit", secure(vs.whiteList, vs.submitFromVolumeServerHandler))
r.HandleFunc("/status", secure(vs.whiteList, vs.statusHandler))
r.HandleFunc("/admin/assign_volume", secure(vs.whiteList, vs.assignVolumeHandler))
r.HandleFunc("/admin/vacuum_volume_check", secure(vs.whiteList, vs.vacuumVolumeCheckHandler))
diff --git a/go/weed/weed_server/volume_server_handlers.go b/go/weed/weed_server/volume_server_handlers.go
index eed198e4a..ce14f6a87 100644
--- a/go/weed/weed_server/volume_server_handlers.go
+++ b/go/weed/weed_server/volume_server_handlers.go
@@ -1,12 +1,12 @@
package weed_server
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/images"
- "code.google.com/p/weed-fs/go/operation"
- "code.google.com/p/weed-fs/go/stats"
- "code.google.com/p/weed-fs/go/storage"
- "code.google.com/p/weed-fs/go/topology"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/images"
+ "github.com/chrislusf/weed-fs/go/operation"
+ "github.com/chrislusf/weed-fs/go/stats"
+ "github.com/chrislusf/weed-fs/go/storage"
+ "github.com/chrislusf/weed-fs/go/topology"
"io"
"mime"
"mime/multipart"
diff --git a/go/weed/weed_server/volume_server_handlers_admin.go b/go/weed/weed_server/volume_server_handlers_admin.go
index 5921a3b96..1118c8017 100644
--- a/go/weed/weed_server/volume_server_handlers_admin.go
+++ b/go/weed/weed_server/volume_server_handlers_admin.go
@@ -1,9 +1,9 @@
package weed_server
import (
- "code.google.com/p/weed-fs/go/glog"
- "code.google.com/p/weed-fs/go/stats"
- "code.google.com/p/weed-fs/go/util"
+ "github.com/chrislusf/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/stats"
+ "github.com/chrislusf/weed-fs/go/util"
"net/http"
"path/filepath"
)
@@ -16,7 +16,7 @@ func (vs *VolumeServer) statusHandler(w http.ResponseWriter, r *http.Request) {
}
func (vs *VolumeServer) assignVolumeHandler(w http.ResponseWriter, r *http.Request) {
- err := vs.store.AddVolume(r.FormValue("volume"), r.FormValue("collection"), r.FormValue("replication"))
+ err := vs.store.AddVolume(r.FormValue("volume"), r.FormValue("collection"), r.FormValue("replication"), r.FormValue("ttl"))
if err == nil {
writeJsonQuiet(w, r, map[string]string{"error": ""})
} else {
@@ -50,10 +50,6 @@ func (vs *VolumeServer) freezeVolumeHandler(w http.ResponseWriter, r *http.Reque
glog.V(2).Infoln("freeze volume =", r.FormValue("volume"), ", error =", err)
}
-func (vs *VolumeServer) submitFromVolumeServerHandler(w http.ResponseWriter, r *http.Request) {
- submitForClientHandler(w, r, vs.masterNode)
-}
-
func (vs *VolumeServer) statsDiskHandler(w http.ResponseWriter, r *http.Request) {
m := make(map[string]interface{})
m["Version"] = util.VERSION
diff --git a/go/weed/weed_server/volume_server_handlers_vacuum.go b/go/weed/weed_server/volume_server_handlers_vacuum.go
index 60a5e9742..b0600d799 100644
--- a/go/weed/weed_server/volume_server_handlers_vacuum.go
+++ b/go/weed/weed_server/volume_server_handlers_vacuum.go
@@ -1,7 +1,7 @@
package weed_server
import (
- "code.google.com/p/weed-fs/go/glog"
+ "github.com/chrislusf/weed-fs/go/glog"
"net/http"
)