diff options
| author | yourchanges <yourchanges@gmail.com> | 2014-10-21 15:50:48 +0800 |
|---|---|---|
| committer | yourchanges <yourchanges@gmail.com> | 2014-10-21 15:50:48 +0800 |
| commit | f7bcd8e958ef185baeca0c455a397d49fcb62256 (patch) | |
| tree | bb2a2de4fcb7f9ac7e1d65a78e82cbe1f5f17e36 /go/weed | |
| parent | 78ccbbf3d0766e1ececf91fa00766d1ed33050cc (diff) | |
| parent | a3c17f17b144c4298409fddda2d6bc4b39d38ca5 (diff) | |
| download | seaweedfs-f7bcd8e958ef185baeca0c455a397d49fcb62256.tar.xz seaweedfs-f7bcd8e958ef185baeca0c455a397d49fcb62256.zip | |
Merge pull request #1 from chrislusf/master
update
Diffstat (limited to 'go/weed')
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" ) |
