Commit graph

567 commits

Author SHA1 Message Date
Denis Yeldandi 4e1c30b60a Added -newer argument, which takes a date/time in RFC3339 format and
exports only files newer than this time
2015-05-20 15:11:12 +03:00
chrislusf 99aee22e08 Adjust admin url pattern 2015-05-17 13:19:43 -07:00
yanyiwu 96b73e3e94 if mt != "application/octet-stream"
became
if !strings.HasPrefix(mt, "application/octet-stream")

In our situation,
    mt can be 'application/octet-stream;charset=ISO-8859-1',
    so I think HasPrefix will be more accurate.
2015-05-16 18:55:58 +08:00
chrislusf 3188382ea7 More debug information for connecting to master 2015-05-14 21:46:59 -07:00
chrislusf b8314fb054 Textual changes. 2015-05-08 23:44:11 -07:00
chrislusf 66317b8438 Increase compact revision during each compaction 2015-05-08 23:43:59 -07:00
chrislusf dac3b592ed Add compact revision in volume super block 2015-05-08 23:34:14 -07:00
chrislusf 49b1ba5bbf break away from code.google.com 2015-05-03 12:37:49 -07:00
yanyiwu dc47db5512 unittest: TestSortVolumeInfos 2015-04-21 01:22:13 +08:00
yanyiwu b7a18580b8 Sort VolumeInfos by VolumeId in Store.Status();
Ordered VolumeInfos is more Human-readable,
especially when there is a lot of volumes.
2015-04-21 01:21:21 +08:00
yanyiwu eaad4fa3c4 BUG FIXED: RoundRobinCounter.Add will cause a out of range crash
when index >= len(rrc.Values)
2015-04-20 22:05:20 +08:00
yanyiwu c65b9588e2 [ui] BUG FIXED: Concurrent Connections incorrect. 2015-04-20 21:50:07 +08:00
yanyiwu 9cd221cc33 More readable peers usage:
other master nodes in comma separated ip:port list, example:
127.0.0.1:9333,127.0.0.1:9334

Add example to prompt ip:port list is split by ','
2015-04-20 14:47:41 +08:00
chrislusf 5c81fa1075 Prepend prefix "0" for odd number of hex characters. 2015-04-19 18:54:05 -07:00
yanyiwu 6f96862662 FIXED: When RaftServer cannot find a leader, Return a more readable error.
Before:
curl -F "file=1234" "http://127.0.0.1:9333/submit"
{"error":"Post http:///dir/assign: http: no Host in request URL"}
After:
curl -F "file=1234" "http://127.0.0.1:9333/submit"
{"error":"Raft Server not initialized!"}
2015-04-19 19:07:06 +08:00
yanyiwu 3f253a587c [ui] seaweedfs logo and icon 2015-04-18 02:26:27 +08:00
Stuart P. Bentley 86e80aa9a0 Fix a couple more weedfs -> SeaweedFS instances
Apparently I forgot to save these files before submitting #121
2015-04-16 21:46:37 +00:00
Stuart P. Bentley 1a194a578c More consistency with SeaweedFS name
Among the changes, this replaces a couple instances of "Seaweed File System"
with "SeaweedFS", for the same reason that nobody says "Mongo Data Base".
2015-04-16 21:11:25 +00:00
chrislusf e736963f3c Merge pull request #119 from stuartpb/fix-namesapce
Fix flat_namespace_filer.go implementing "FlatNamesapceFiler"
2015-04-16 13:27:13 -07:00
Stuart P. Bentley 03d99503bb Fix flat_namespace_filer.go implementing "FlatNamesapceFiler" 2015-04-16 20:18:34 +00:00
Stuart P. Bentley f0c2a2dcb3 Change all chrislusf/weed-fs links to point to chrislu/seaweedfs 2015-04-16 19:18:06 +00:00
chrislusf 41f29e9d8c Adjust versioning. Beta version should not have a date. 2015-04-16 11:51:38 -07:00
chrislusf c1bc529654 Use public url for returned file url result 2015-04-16 11:37:05 -07:00
chrislusf 087b839354 Nomalize url before redirecting. 2015-04-16 10:02:53 -07:00
chrislusf 67146ffa78 Adjust publicUrl to volume server only.
Remove publicUrl from master server.
2015-04-16 09:29:20 -07:00
chrislusf 53b663af35 Adjust publicUrl to volume server only. 2015-04-16 09:16:43 -07:00
chrislusf 2a7972e8ea Avoid system exit if only logging failed. 2015-04-15 18:02:02 -07:00
chrislusf 7cc1f473b6 Adjust log message for glog. 2015-04-15 00:01:32 -07:00
chrislusf 49d639ecab Add error checking for file reads. 2015-04-14 23:05:33 -07:00
chrislusf c28d55d343 0.70 beta start 2015-04-14 10:10:50 -07:00
chrislusf 3a024d62df skip directory listing when paginating files. 2015-04-14 10:09:46 -07:00
Chris Lu 4483732b2c releasing 0.69 2015-04-13 23:50:33 -07:00
chrislusf 830a44a84a Add compression test 2015-04-13 23:39:11 -07:00
chrislusf 98aa9cc068 Adding filer option disableDirListing 2015-04-13 23:38:49 -07:00
yanyiwu fcfa4d4ca9 log image Decode error for some kind of pictures 2015-04-10 22:05:17 +08:00
chrislusf 71e9b302d4 Fix empty public url 2015-04-08 11:08:08 -07:00
chrislusf 3ece066700 change count to uint64 to fix #109
fix https://github.com/chrislusf/weed-fs/issues/109
2015-04-06 14:17:36 -07:00
chrislusf c37a20178e Adjust logging level. 2015-03-29 14:22:54 -07:00
chrislusf b96911c517 remove verbose logging. 2015-03-29 11:44:16 -07:00
chrislusf 1b6ab2f6af Add boltdb for volume needle map
boltdb is fairly slow to write, about 6 minutes for recreating index
for 1553934 files. Boltdb loads 1,553,934 x 16 = 24,862,944bytes from
disk, and generate the boltdb as large as 134,217,728 bytes in 6
minutes.

To compare, for leveldb, it recreates index in leveldb as large as
27,188,148 bytes in 8 seconds.
For in memory version, it loads the index in

To test the memory consumption, the leveldb or boltdb index are
created. And the server is restarted. Using the benchmark tool to read
lots of files. There are 7 volumes in benchmark collection, each with
about 1553K files.
For leveldb, the memory starts at 142,884KB, and stays at 179,340KB.
For boltdb, the memory starts at 73,756KB, and stays at 144,564KB.
For in-memory, the memory starts at 368,152KB, and stays at 448,032KB.
2015-03-29 11:04:32 -07:00
chrislusf 0d23f49f74 removing unused files 2015-03-27 16:35:42 -07:00
chrislusf 020ba6c9a8 add leveldb support for needle map
This supposedly should reduce memory consumption. However, for tests
with millions of, this shows consuming more memories. Need to see
whether this will work out. If not, later boltdb will be tested.
2015-03-27 16:34:58 -07:00
chrislusf 43689146cc fix compilation error 2015-03-24 11:09:29 -07:00
chrislusf f56339f38d [ui] add ui to status page 2015-03-24 10:52:14 -07:00
chrislusf b113760cf4 [ui] format peers 2015-03-24 00:09:20 -07:00
chrislusf 78bc7b393f tweaking ui 2015-03-22 12:50:04 -07:00
chrislusf 23012deccf Add better error message. 2015-03-19 10:48:28 -07:00
chrislusf b75ca9890d Add Initial Seaweed File System UI 2015-03-19 10:39:22 -07:00
chrislusf 62f5e35cbe fix public handler setup 2015-03-13 07:59:29 -07:00
chrislusf 85efc37320 marking weedfs.conf as deprecating.
The conf settings currently is duplicating with command line options.
2015-03-11 10:01:08 -07:00
chrislusf b07d81fb08 follow golint suggestions 2015-03-10 00:20:34 -07:00
chrislusf f511b507a5 Add read only public port on volume server
Add read only public port on volume server
2015-03-09 01:10:04 -07:00
chrislusf d48d76cb4f adding special handling to recover data if possible
For bug #87 and #93, add special handling to recover data if possible.
2015-03-09 01:10:04 -07:00
chrislusf 853701cb6b Avoid wrong way to delete on replication failure
Avoid wrong way to delete on replication failure. This deletion has bug
to write. The better fix is not to use the deletion on failure at all.
2015-03-09 01:10:04 -07:00
chrislusf 9d8a6d2562 adjust log printing 2015-03-09 01:10:04 -07:00
Chris Lu 5f9efceee3 Merge branch 'master' of github.com:chrislusf/weed-fs 2015-02-26 16:51:40 -08:00
Chris Lu 25efb4debe a 0.69 beta release 2015-02-26 16:50:47 -08:00
chrislusf a091e6f3bc display admin url on /dir/status 2015-02-25 23:59:44 -08:00
chrislusf 1704e5f1a6 adjust debug message 2015-02-25 23:59:44 -08:00
chrislusf b2f636ab8c set default volume admin port 2015-02-25 23:59:44 -08:00
chrislusf 4ee766e966 avoid auto unzip tar.gz files
fix https://github.com/chrislusf/weed-fs/issues/90
2015-02-25 23:59:44 -08:00
Chris Lu 89a06a8503 Merge branch 'master' of github.com:chrislusf/weed-fs 2015-02-25 23:59:18 -08:00
Chris Lu a506e7953f Separate read and write volume handlers. 2015-02-25 23:59:07 -08:00
chrislusf 382c521df7 Show returned content when can not parse son 2015-02-20 09:12:02 -08:00
chrislusf 226df38c95 Redirect to publicUrl
Redirect to publicUrl
2015-02-12 21:12:53 -08:00
chrislusf e282a9b06a Fix compilation error 2015-02-12 19:51:48 -08:00
chrislusf 3b1b955fc5 ensure non empty volume publicUrl 2015-02-12 17:51:13 -08:00
chrislusf e0d8259d98 Randomize http redirect.
Randomize http redirect.
Also remove unnecessary empty string checking.
2015-02-12 14:34:05 -08:00
yourchanges 7e0c080581 Move the redirect url perfer to volume server's PublicUrl 2015-02-12 18:46:56 +08:00
yourchanges 000c645d45 Move the redirect url perfer to volume server's PublicUrl (reverted from commit 701bb9af19) 2015-02-12 18:44:45 +08:00
yourchanges 701bb9af19 Move the redirect url perfer to volume server's PublicUrl 2015-02-12 18:37:26 +08:00
yourchanges 2e0d0046c4 Move the redirect url to volume server's PublicUrl (reverted from commit 2df72001b2) 2015-02-12 18:35:29 +08:00
yourchanges 2df72001b2 Move the redirect url to volume server's PublicUrl 2015-02-12 18:15:36 +08:00
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