Commit graph

159 commits

Author SHA1 Message Date
chrislusf 5feae4f74c enable collection deletion 2015-10-17 09:02:59 -07:00
chrislusf 91db227b27 avoid using empty fileId to delete
fix https://github.com/chrislusf/seaweedfs/issues/183
2015-08-21 14:09:36 -07:00
chrislusf 7d1e9a6b8a add option to redirect moved or non-local volumes
fix https://github.com/chrislusf/seaweedfs/issues/168
2015-08-03 14:43:15 -07:00
chrislusf 9b8f8f4bb9 add logging 2015-07-11 12:20:09 -07:00
chrislusf 3b2645979d Use request host info for master url if possible
Fix https://github.com/chrislusf/seaweedfs/issues/148
2015-06-24 09:50:41 -07:00
chrislusf 30242409f4 allowing proxy to leader for volume id lookup then redirect to volume server
Fix https://github.com/chrislusf/seaweedfs/issues/154
2015-06-22 11:41:51 -07:00
chrislusf 86cd40fba8 Add "weed backup" command.
This is a pre-cursor for asynchronous replication.
2015-05-26 00:58:41 -07:00
chrislusf d3d23e779a Adjust log message 2015-05-23 10:15:16 -07: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 49b1ba5bbf break away from code.google.com 2015-05-03 12:37:49 -07:00
yanyiwu c65b9588e2 [ui] BUG FIXED: Concurrent Connections incorrect. 2015-04-20 21:50:07 +08: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 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 087b839354 Nomalize url before redirecting. 2015-04-16 10:02:53 -07:00
chrislusf 3a024d62df skip directory listing when paginating files. 2015-04-14 10:09:46 -07:00
chrislusf 98aa9cc068 Adding filer option disableDirListing 2015-04-13 23:38:49 -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 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 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 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 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 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 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
Chris Lu a506e7953f Separate read and write volume handlers. 2015-02-25 23:59:07 -08:00
chrislusf 226df38c95 Redirect to publicUrl
Redirect to publicUrl
2015-02-12 21:12:53 -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 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
Chris Lu f7998f8652 merge conflicts 2015-02-07 15:35:28 -08:00
yanyiwu 7bfa93a283 use sync.RWMutex when masterNode changes 2015-02-04 18:05:18 +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
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
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