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
Chris Lu
8f72a1965f
Fix go vet warnings.
2015-01-12 21:20:11 -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
Chris Lu
5b5d6341e5
Set http status after modifying response headers.
2015-01-08 00:19:32 -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
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
Brian McQueen
d56c748fa8
switch it back to chris's repo
2014-12-14 00:35:26 -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
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
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
f527fc1d5e
adjust visibility
2014-10-25 23:45:31 -07:00
Chris Lu
30bcda7136
fix typo
2014-10-25 18:10:32 -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
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
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
df78466a12
remove uploading stated from volume server.
2014-08-05 18:14:12 -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
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
38231b6891
return image size when client image processing
2014-07-05 00:43:41 -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
e60af7b82e
Add partial content request support.
2014-05-26 21:15:05 -07:00
Chris Lu
625f880b15
Adjust "weed server" parameters.
2014-05-26 17:34:54 -07:00
Chris Lu
34e03e7cf6
iphone usually has upper cased .JPG extension
...
refactor
2014-05-15 01:56:08 -07:00
Chris Lu
dcd12576c6
Add option to auto fix jpg orientation
2014-05-15 01:08:00 -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
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
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
1c30a780a7
fix image serving performance problem introduced in last release.
2014-05-07 12:52:42 -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
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
83c0c9843d
Add option to recursively delete a folder.
2014-04-17 22:33:21 -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
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
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
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
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