Commit Graph

544 Commits

Author SHA1 Message Date
chrislusf
eff83a87d1 Add publicUrl for master server 2015-02-11 21:04:43 -08:00
Chris Lu
f7998f8652 merge conflicts 2015-02-07 15:35:28 -08:00
chrislusf
714ccb6e2b Fix compilation error due to upstream API change.
Fix compilation error due to upstream API change.
2015-02-05 23:11:27 -08:00
chrislusf
09f98630c0 Avoid checking folder if not using filer. fix #80
Fix https://github.com/chrislusf/weed-fs/issues/80
2015-02-05 10:12:35 -08:00
yanyiwu
7bfa93a283 use sync.RWMutex when masterNode changes 2015-02-04 18:05:18 +08:00
chrislusf
1791de4ae4 Avoid creating filer folder if not starting it. 2015-02-02 16:26:12 -08:00
chrislusf
e381356af9 change CLI option from publicIp to publicUrl
Now the publicUrl is free style text.
2015-02-02 15:51:25 -08:00
chrislusf
cc724305b6 Using Url instead of PublicUrl for volume server
Originally there are only url(ip + port), and publicUrl. Because ip was
used to listen for http service, it has less flexibility and volume
server has to be accessed via publicUrl.

Recently we added ip.bind, for binding http service.

With this change, url can be used to connect to volume servers. And
publicUrl becomes a free style piece of url information, it does not
even need to be unique.
2015-02-02 10:16:50 -08:00
chrislusf
0e23ee4dce Update volume server's master node when masters change. 2015-01-31 12:47:04 -08:00
yanyiwu
2f10f2960b use proto "github.com/golang/protobuf/proto" 2015-01-30 15:09:37 +08:00
Chris Lu
b2ad9a1110 Fix compilation error. 2015-01-18 17:11:37 -08:00
Chris Lu
7b4a53b2c1 Add optional admin port to volume server, to seperate admin operations from normal file operations. 2015-01-18 17:03:38 -08:00
yourchanges
a86042e413 fix the #59 and #56 2015-01-16 17:30:23 +08:00
Chris Lu
41bd5179f3 Resolve Conflicts 2015-01-14 09:56:13 -08:00
Chris Lu
af416189f1 Cleanup error printing. 2015-01-13 17:04:41 -08:00
Lei Xue
029e3a3822 fix some typos 2015-01-13 18:46:56 +08:00
Chris Lu
5afdc469a3 Separate into admin and public mux for volume servers. 2015-01-13 00:45:26 -08:00
Chris Lu
09bc196958 Refactoring volume server options. 2015-01-13 00:36:44 -08:00
Chris Lu
ef191f2901 Refactoring volume server options. 2015-01-13 00:27:51 -08:00
Chris Lu
8f72a1965f Fix go vet warnings. 2015-01-12 21:20:11 -08:00
Chris Lu
d102443630 v0.68 2015-01-12 21:07:06 -08:00
Chris Lu
352ef2830c Add caching volume locations to batch volume id lookup. 2015-01-11 23:01:31 -08:00
yourchanges
7481b7376d Fix the first form multi-part item is not a "file type part" problem in "ParseUpload()" 2015-01-10 03:22:16 +08:00
yanyiwu
543f5af5af add w.Write for FilerServer HTTP response 2015-01-09 19:24:49 +08:00
yanyiwu
fe91fd00ad fix bug: 'http: multiple response.WriteHeader calls' 2015-01-08 19:04:10 +08:00
Brian McQueen
e7741db9a2 fixed description error in redis.database 2015-01-08 00:44:41 -08:00
Brian McQueen
cec2b3724c add server options to set redis and cassandra in the filer and corrected filer option description text 2015-01-08 00:41:27 -08:00
Chris Lu
5b5d6341e5 Set http status after modifying response headers. 2015-01-08 00:19:32 -08:00
yanyiwu
cacfc85869 add some String() to make codes easier to read and debug 2015-01-08 15:54:50 +08:00
yanyiwu
7d810a15c0 fix bug about : writed needle into localfile twice when replicating, because of the ip is not equal : ":8080" != "127.0.0.1:8080" 2015-01-07 16:47:57 +08:00
Chris Lu
e4531fc1e6 Add Redis support for Distributed Filer store. 2015-01-06 20:15:13 -08:00
Chris Lu
d77f3120c3 Adjust function name. 2015-01-06 19:34:11 -08:00
Chris Lu
c25c9aff41 Merge branch 'master' of github.com:chrislusf/weed-fs 2015-01-06 19:26:58 -08:00
Chris Lu
cceb5768c7 Adjust function name. 2015-01-06 19:26:48 -08:00
yanyiwu
0b192917f8 fix bug about the collection in volume is wrong when curl -F "file=@/tmp/test.jpg" "localhost:9333/submit?collection=picture" 2015-01-06 19:31:26 +08:00
Chris Lu
49784d7f28 Add support for distributed filer metadata store. 2015-01-05 23:03:27 -08:00
Chris Lu
165734ce11 Refactoring for supporing cassandra as filer meta data store 2015-01-05 14:58:30 -08:00
Chris Lu
a3e4145e8a refactoring for later security changes 2015-01-05 14:20:04 -08:00
yanyiwu
5b7628cf08 use github.com/golang/protobuf/proto instead of code.google.com/p/goprotobuf/proto 2014-12-26 16:59:53 +08:00
yanyiwu
5a40f539f2 fix bug: upload a file which already existed return a wrong file size. 2014-12-26 15:36:33 +08:00
yanyiwu
089eb8ad39 add String function for needle to print 2014-12-26 13:29:44 +08:00
Brian McQueen
d56c748fa8 switch it back to chris's repo 2014-12-14 00:35:26 -08:00
Brian McQueen
57ec736941 make it turn on the filer when filer.redirectOnRead is set 2014-12-14 00:33:16 -08:00
Brian McQueen
c0dfdf4392 switch to my forked repo 2014-12-14 00:20:21 -08:00
Brian McQueen
a3583e4e7c Merge branch 'master' of https://github.com/chrislusf/weed-fs 2014-12-14 00:13:51 -08:00
chrislusf
e431d4121e Add optional http redirect for filer GET requests. 2014-12-08 20:34:27 -08:00
chrislusf
124c232a3b Merge branch 'master' of https://github.com/chrislusf/weed-fs 2014-12-08 20:29:38 -08:00
chrislusf
52180f386b Add read-write lock to guard topology changes on new collections and ttls. 2014-12-08 20:29:25 -08:00
chrislusf
ba972694c7 Add filer option to redirect instead of proxying to volume server on file GET requests. 2014-12-08 20:27:26 -08:00
Chris Lu
482e3fb973 Improve Benchmark tool's performance. 2014-12-05 12:00:13 -08:00
chrislusf
7a6394378c Remove a volume server concurrent connection limit. 2014-12-04 21:22:09 -08:00
chrislusf
89fd1e4b6e Add more thread safe counters. Tighten thread synchronization. 2014-12-04 18:30:44 -08:00
Chris Lu
6c5a3d3dbf Increase performance by reusing []byte, reducing GC. 2014-11-30 21:55:53 -08:00
Chris Lu
ca67ed69a1 Change name to Seaweed. 2014-11-28 17:02:10 -08:00
Chris Lu
8af4753002 Write request id to first 8 bytes of a file, instead of whole file, for
better write performance.
2014-11-28 16:34:03 -08:00
Chris Lu
7ce628bf09 Clean raft configurations if "peers" option is set. 2014-10-27 01:09:45 -07:00
Chris Lu
179d36ba0e formatting code by: goimports -w=true . 2014-10-26 11:34:55 -07:00
Chris Lu
a5d6e70299 fix commenting error. 2014-10-26 11:25:02 -07:00
Chris Lu
f527fc1d5e adjust visibility 2014-10-25 23:45:31 -07:00
Chris Lu
30bcda7136 fix typo 2014-10-25 18:10:32 -07:00
Chris Lu
b5aa2ef605 Add master bind ip address option. 2014-10-21 01:28:17 -07:00
Chris Lu
670b240a26 Fix help text error. 2014-10-21 01:27:40 -07:00
Chris Lu
e9a8999f63 print error the correct way. 2014-10-21 01:27:06 -07:00
bmcquee
bd664def45 Revert "fix func name HasWriableVolume"
This reverts commit bff7b71389.
2014-10-19 23:08:01 -07:00
bmcquee
02ae8b98a5 Revert "change wriable to writeable"
This reverts commit 626b896448.
2014-10-19 23:07:58 -07:00
bmcquee
626b896448 change wriable to writeable 2014-10-19 23:01:15 -07:00
bmcquee
7ca10d8dcf add another logging line verbosity 2 2014-10-19 20:03:00 -07:00
bmcquee
bff7b71389 fix func name HasWriableVolume 2014-10-19 08:51:07 -07:00
wyy
4126280d55 use github.com/chrislusf instead of github.com/aszxqw 2014-09-25 16:57:22 +08:00
wyy
1cd19447e3 use github.com/aszxqw instead of code.google.com/p 2014-09-25 00:47:09 +08:00
Chris Lu
a2f8d985fb Fix typo. 2014-09-20 23:34:13 -07:00
Chris Lu
ba179b1542 Add "-ip.bind" option when starting volume servers.
Also some Weed->Seaweed changes.
2014-09-20 23:30:35 -07:00
Chris Lu
ca16cfa147 adjust for external API changes 2014-09-20 22:10:58 -07:00
Chris Lu
794b755f1d rename to Seaweed File System 2014-09-20 21:18:26 -07:00
Chris Lu
7920b4685e Adding unit tests for volume ttl. 2014-09-20 20:51:24 -07:00
Chris Lu
f7094d7a99 version 0.64 2014-09-20 12:39:42 -07:00
Chris Lu
b9aee2defb add TTL support
The volume TTL and file TTL are not necessarily the same. as long as
file TTL is smaller than volume TTL, it'll be fine.

volume TTL is used when assigning file id, e.g.
http://.../dir/assign?ttl=3h

file TTL is used when uploading
2014-09-20 12:38:59 -07:00
Chris Lu
a092794804 use error to report error 2014-09-04 19:34:43 -07:00
Chris Lu
4be5ccd0c8 resolve directory log file error
avoid possible race condition
2014-09-04 19:26:31 -07:00
Chris Lu
69343c5951 adding ttl field to volume super block 2014-08-31 23:25:54 -07:00
Chris Lu
57a4549d86 wrap etag value with double quotes 2014-08-26 10:15:12 -07:00
Chris Lu
ce4acecaa8 Fix filer proxing http status code
Double quote etag value.
2014-08-25 12:02:04 -07:00
Chris Lu
4c58cef24a a bit refactoring to prepare for volume format change and backward
compatibility.
2014-08-25 11:37:00 -07:00
Chris Lu
df78466a12 remove uploading stated from volume server. 2014-08-05 18:14:12 -07:00
Chris Lu
bcd36dedb4 released 0.62 with solaris support 2014-07-24 12:24:01 -07:00
Chris Lu
530927db64 Add Etag support 2014-07-22 00:24:50 -07:00
Chris Lu
5d88cec2df 1. pass through http response headers
2. set http status 201 for creating files
2014-07-21 14:25:51 -07:00
Chris Lu
a3fb644d86 fix wrong error printing that caused panic 2014-07-21 13:42:15 -07:00
Chris Lu
b8bef16c98 test move function 2014-07-20 23:48:48 -07:00
Chris Lu
5f975f5ce8 fix test error due to changed api 2014-07-20 23:45:32 -07:00
Chris Lu
df2d3ea7c0 fix old tests that's found not working during travis integration. 2014-07-20 23:41:25 -07:00
Chris Lu
a0b2582a75 comments change 2014-07-20 23:17:29 -07:00
Chris Lu
77fd5ecd98 Add /admin/mv to move a file or a folder 2014-07-20 23:12:49 -07:00
Chris Lu
4ac8f2e59d adjust file name 2014-07-20 17:42:09 -07:00
Chris Lu
5f19af8fce compress *.htm file 2014-07-08 09:32:55 -07:00
Chris Lu
413e5c145c lowercase when checking file name extensions. 2014-07-05 18:01:17 -07:00
Chris Lu
38231b6891 return image size when client image processing 2014-07-05 00:43:41 -07:00
Chris Lu
fd9f924ad7 add a convenient function to preprocess images on client side. 2014-07-04 18:03:48 -07:00
Chris Lu
d85b1d70db released 0.61, prepare for 0.62 beta 2014-06-17 11:45:21 -07:00
Chris Lu
cb28c26398 Setting application/json for json result.
Setting application/javascript for jsonp result.
2014-06-13 18:16:03 -07:00
Chris Lu
d7f6af09e6 Better guessing mime type with octstream 2014-06-08 21:02:20 -07:00
Chris Lu
d2f3cab8e1 Remove glog from http_util for better reusability. 2014-06-07 13:27:28 -07:00
Chris Lu
a437d77431 only set lookup cache when successful 2014-06-02 09:22:23 -07:00
Chris Lu
4b7b439be9 Reduce memory usage for "weed fix" 2014-05-31 17:10:51 -07:00
Chris Lu
08cbb2c345 start to code for 0.61 release 2014-05-29 23:24:41 -07:00
Chris Lu
faf497feb8 Important Fix: Avoid overwriting the index file!!! 2014-05-29 19:19:03 -07:00
Chris Lu
5f58da8de7 0.60 beta start 2014-05-27 09:10:32 -07:00
Chris Lu
e60af7b82e Add partial content request support. 2014-05-26 21:15:05 -07:00
Chris Lu
3e5b4da361 fix compilation error 2014-05-26 17:36:41 -07:00
Chris Lu
625f880b15 Adjust "weed server" parameters. 2014-05-26 17:34:54 -07:00
Chris Lu
b5f99b26eb Add volume id lookup caching 2014-05-25 14:01:54 -07:00
Chris Lu
38260fcfb1 rename to _vacuum.go 2014-05-19 21:17:04 -07:00
Chris Lu
fe3f06435e Refactor out volume vacuum. 2014-05-19 20:54:39 -07:00
Chris Lu
e7aaa24da8 Refactor out volume vacuum. 2014-05-19 19:24:35 -07:00
Chris Lu
e8e8d11bd3 Refactor out weedfs vacuum. 2014-05-19 19:18:39 -07:00
Chris Lu
c1307103b2 fix orientation for all jpg files 2014-05-16 01:10:46 -07:00
Chris Lu
34e03e7cf6 iphone usually has upper cased .JPG extension
refactor
2014-05-15 01:56:08 -07:00
Chris Lu
8ff0d17d6a defauting images.fix.orientation option to true 2014-05-15 01:16:56 -07:00
Chris Lu
dcd12576c6 Add option to auto fix jpg orientation 2014-05-15 01:08:00 -07:00
Chris Lu
025589adf8 Add auto fixing jpg file orientation. 2014-05-15 00:30:46 -07:00
Chris Lu
f7d6909b6f 1. refactor, move image resizing to its own package
2. make code compile
2014-05-14 23:44:19 -07:00
Chris Lu
5367d96512 0.59 beta 2014-05-13 19:26:05 -07:00
Chris Lu
dac95464b8 better handling of os signals 2014-05-13 15:04:04 -07:00
Chris Lu
029923329d add os.Kill signal to handle.
go fmt some code.
2014-05-13 11:32:10 -07:00
Chris Lu
dc24bad791 releasing 0.58 to handle control+c interrupts.
compilable now. but FUSE mount is not working.
2014-05-13 11:25:48 -07:00
Chris Lu
750e1aaaa5 Add control+c or INT handling 2014-05-13 00:05:18 -07:00
Chris Lu
7e0ae72b07 Add control+c or INT handling 2014-05-13 00:04:28 -07:00
Chris Lu
982aaa41b9 Add control+c or INT handling 2014-05-13 00:03:10 -07:00
Chris Lu
68ceea3f8d support file names with a comma inside. 2014-05-12 22:59:00 -07:00
Chris Lu
328aa48c6a Can compile now. not working just yet. 2014-05-12 22:57:23 -07:00
Chris Lu
8ceaaa6c4f version upgrade 2014-05-08 09:40:01 -07:00
Chris Lu
1c30a780a7 fix image serving performance problem introduced in last release. 2014-05-07 12:52:42 -07:00
Chris Lu
729716ab7a Add cpu profiling option. 2014-05-07 10:17:06 -07:00
Chris Lu
87b98711f7 A hidden feature: dynamically resize image.
Adding width=xxx or height=xxx, or both, can dynamically resize a
gif,jpg,png. But the performance is bad. So, not recommending, but you
can use it if you insist. :)
2014-04-25 22:28:01 -07:00
Chris Lu
d344e87de0 Adjust command line options.
1. switch to use -publicIp instead of -publicUrl
2. -ip can be empty. It will listen to all available interfaces.
3. For "weed master", these options are changed:
  -masterPort => -master.port
  -peers => -master.peers
  -mdir => -master.dir
  -volumeSizeLimitMB => -master.volumeSizeLimitMB
  -conf => -master.conf
  -defaultReplicaPlacement => -master.defaultReplicaPlacement
  -port => -volume.port
  -max => -volume.max
2014-04-25 22:09:42 -07:00
Chris Lu
8c04c5ed5f remove the println 2014-04-22 23:10:01 -07:00
Chris Lu
1818a2a2da Change to protocol buffer for volume-join-masster message
Reduced size to about 1/5 of the previous json format message
2014-04-21 02:11:10 -07:00
Chris Lu
637469e656 log the volume server connected to which master server 2014-04-20 23:28:05 -07:00
Chris Lu
5f2604b1f7 start 0.56 beta 2014-04-17 22:40:28 -07:00
Chris Lu
5c0c5a4913 cut 0.55 2014-04-17 22:40:06 -07:00
Chris Lu
83c0c9843d Add option to recursively delete a folder. 2014-04-17 22:33:21 -07:00
Chris Lu
e378f9892d Avoid showing the first directory when listing the root directory 2014-04-17 22:32:21 -07:00
Chris Lu
3ee017d350 0.55 beta 2014-04-17 00:32:45 -07:00
Chris Lu
3b5035c468 1. v0.54
2. go vet found many printing format errors
2014-04-17 00:16:44 -07:00
Chris Lu
51939efeac 1. volume server now sends master server its max file key, so that
master server does not need to store the sequence on disk any more
2. fix raft server's failure to init cluster during bootstrapping
2014-04-16 23:43:27 -07:00
Chris Lu
9653a54766 added typed join result 2014-04-16 17:29:58 -07:00
Chris Lu
da0480ad72 adjust to upgraded Raft library 2014-04-15 17:56:47 -07:00
Chris Lu
4ecf5956d7 Add types to uploading 2014-04-15 10:01:13 -07:00
Chris Lu
7ad6cd35e8 Use type ClusterStatusResult for writing and reading results 2014-04-15 09:30:08 -07:00
Chris Lu
cb56322937 minor textual change 2014-04-15 09:20:28 -07:00
Chris Lu
68021c6fc3 Use type AssignResult when writing and reading result. 2014-04-15 09:20:04 -07:00
Chris Lu
cbc5a76e80 Added batch file deleting. 2014-04-15 09:09:40 -07:00
Chris Lu
b771f060f1 rename variable name 2014-04-14 01:07:11 -07:00
Chris Lu
2eb9014606 rename file from lookup_volume_id.go to lookup.go 2014-04-14 01:05:57 -07:00
Chris Lu
56a3d30e75 batch delete on volume servers 2014-04-14 01:00:09 -07:00
Chris Lu
460923f094 use fileId as the official name for the file identifier 2014-04-14 00:28:48 -07:00
Chris Lu
85894160c6 refactor: split master handler into 2 files 2014-04-14 00:23:52 -07:00
Chris Lu
7337c29b90 refactor: split volume handlers into 3 files 2014-04-14 00:13:18 -07:00
Chris Lu
5878f7c3a1 refactor lookup result types into package "operation" 2014-04-13 23:56:15 -07:00
Chris Lu
f20ef922fd 1. add batched volume lookup handler
2. working-in-progress batch delete
2014-04-13 23:41:34 -07:00
Chris Lu
161526555f remove unused code additional functions for glog 2014-04-13 10:20:43 -07:00
Chris Lu
963023898e adding instructions on how to use logging 2014-04-13 10:18:10 -07:00
Chris Lu
931bf2a50a releasing 0.53, and then move to 0.54 beta 2014-04-13 03:10:59 -07:00
Chris Lu
0abd809663 Correct logic to allocate volume slots 2014-04-13 03:06:58 -07:00
Chris Lu
6084e7670a fix bug when reading back the replica settings! 2014-04-13 03:06:15 -07:00
Chris Lu
47620bb27a correct assign logic for rack level. Still need to fix data center
level.
2014-04-13 02:26:22 -07:00
Chris Lu
ae2ef6e41d mostly working correctly, but may have failed volume growing attempts
when slots are tight.
2014-04-13 02:16:45 -07:00
Chris Lu
f7f582ec86 1. refactoring, merge "replication" logic into "topology" package
2. when growing volumes, additional preferred "rack" and "dataNode"
paraemters are also provided. Previously only "dataCenter" paraemter is
provided.
2014-04-13 01:29:52 -07:00
Chris Lu
008aee0dc1 Add retrying logic to wait for other peers during cluster bootstrapping. 2014-04-11 16:23:58 -07:00
Chris Lu
7c82e2316b starting 0.53 beta 2014-04-10 13:47:39 -07:00
Chris Lu
79142614ea 0.52 version 2014-04-10 13:47:12 -07:00
Chris Lu
5f4dc11409 1. root dir has id of 0
2. only delete empty folders
3. correct listing files under a folder
2014-04-09 21:01:48 -07:00
Chris Lu
abde40377c a correct implementation of filer 2014-04-09 09:44:58 -07:00
Chris Lu
67be8a5af8 adding filer!!! 2014-03-30 20:57:25 -07:00
Chris Lu
d6aa6239de fix to avoid empty sub directory 2014-03-30 13:32:24 -07:00
Chris Lu
51fafdb525 more robust filer 2014-03-30 13:26:44 -07:00
Chris Lu
2861275fb6 working filer server! 2014-03-30 11:28:04 -07:00
Chris Lu
259c7d66f7 all in progress version will just be beta 2014-03-28 12:19:11 -07:00
Chris Lu
25a3c47def Issue 65: weed-fs 0.51 does not compile under windows 2014-03-28 12:18:01 -07:00
Chris Lu
59f6a13609 adding lots of different stats 2014-03-26 13:22:27 -07:00
Chris Lu
39b774a131 1. adding statistics reporting
2. refactor version to util package
2014-03-25 13:46:59 -07:00
Chris Lu
6e0601a73b 0.51 2014-03-24 10:06:23 -07:00
Chris Lu
a0955aa4dd refactor functions 2014-03-23 21:57:10 -07:00
Chris Lu
b1f083cb60 fix delayed deletion 2014-03-23 21:56:24 -07:00
Chris Lu
5c6a166761 better delayed deletion 2014-03-20 13:58:56 -07:00
Chris Lu
7251e357e7 enhance deletion operation 2014-03-20 13:30:34 -07:00
Chris Lu
7c5c94785c switch to idle timeout instead of read timeout 2014-03-20 11:07:15 -07:00
Chris Lu
c22e5c1c51 now the volume compaction bug is fixed. 2014-03-19 04:48:58 -07:00
Chris Lu
0563773944 switch to ReadAt() for thread-safe read
fix bugs during volume compaction
2014-03-19 04:48:13 -07:00
Chris Lu
463589da01 adjusting logs 2014-03-19 04:46:42 -07:00
Chris Lu
96b67a7c35 adjusting logs 2014-03-19 04:45:25 -07:00
Chris Lu
252e553ef2 add deletion during benchmarking 2014-03-19 04:44:59 -07:00
Chris Lu
b2e8bfb54e adjusting logs 2014-03-19 04:43:21 -07:00
Chris Lu
76bf72e8ef adjust log level 2014-03-19 04:42:57 -07:00
Chris Lu
37dd41ab91 print out log message 2014-03-19 04:41:41 -07:00
Chris Lu
3dbebfd1e1 Thread-safe fixes:
1. avoid sharing []byte
2. switch to use ReadAt()
2014-03-19 04:41:16 -07:00
Chris Lu
e5e6eeda83 found bugs with 0.50, backing off for now 2014-03-19 01:30:53 -07:00
Chris Lu
d8bc540130 Last important fix is version-bump-up-worthy: prevent heartbeat lost
when vacuuming
2014-03-18 23:50:03 -07:00
Chris Lu
af32b52727 1. no locks for all read operations! Switching to pread for all reads.
2. prevent heartbeat lost when vacuuming, by removing locks on Size()
function
2014-03-18 23:48:01 -07:00
Chris Lu
2841d59fb0 randomize the file size a little bit 2014-03-18 23:45:02 -07:00