Commit Graph

573 Commits

Author SHA1 Message Date
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
Chris Lu
3fec41b911 remove unnecessary code 2014-03-18 22:32:29 -07:00
Chris Lu
92afbb858a adjusting volumeSizeLimitMB default value and descriptions 2014-03-17 15:10:12 -07:00
Chris Lu
988f9d60d5 so many bug fixes, well worth an version bump 2014-03-16 13:51:32 -07:00
Chris Lu
f8b1d48f82 deal with empty learder() cases 2014-03-16 13:50:46 -07:00
Chris Lu
1040761ab6 avoid herding effect by double checking 2014-03-16 13:50:20 -07:00
Chris Lu
1c044280d6 reusing http connections in raft server 2014-03-16 13:49:49 -07:00
Chris Lu
41143b3b78 toughen weedfs clustering, adding synchronizing max volume id among
peers in order to avoid the same volume id being assigned twice
1. moving raft.Server to topology
2. adding max volume id command for raft
2014-03-15 23:03:49 -07:00
Chris Lu
fb75fe852c ignore "-peers" option if cluster is already bootstrapped 2014-03-15 00:36:51 -07:00
Chris Lu
6cedaf4356 fix glog format 2014-03-15 00:34:21 -07:00
Chris Lu
0c42c69e94 less greedy concurrency level, reducing open files 2014-03-14 01:53:47 -07:00
Chris Lu
eec67d6008 fix bug on volume growing failure where free space equals what's
required.
more meaningful volume allocation errors
2014-03-13 12:13:39 -07:00
Chris Lu
946aa6d1e7 error message change 2014-03-13 12:11:50 -07:00
Chris Lu
7621b9b8a9 help content textual changes 2014-03-13 12:11:26 -07:00
Chris Lu
7a8bc2e19e avoid sharing same err variable 2014-03-12 15:17:23 -07:00
Chris Lu
097aac2328 adjusting default read time out 2014-03-12 15:05:07 -07:00
Chris Lu
24cc55b444 1. increase default concurrency level
2. efficient stats collection and calculation
3. accurate error count
2014-03-12 14:10:28 -07:00
Chris Lu
d30052ce85 adjusting error message 2014-03-12 14:08:57 -07:00
Chris Lu
ff0560ee03 adjust error message 2014-03-12 14:07:30 -07:00
Chris Lu
c3ce024fc1 reusing http connections 2014-03-12 14:07:01 -07:00
Chris Lu
054374c765 in progress, trying to make benchmark working better to reuse http
connections.
2014-03-12 10:30:57 -07:00
Chris Lu
466a55b06d fix error message 2014-03-12 10:25:05 -07:00
Chris Lu
6f2d590617 fix error message 2014-03-12 06:23:07 -07:00
Chris Lu
c169429c33 fix https://code.google.com/p/weed-fs/issues/detail?id=64 2014-03-12 06:19:30 -07:00
Chris Lu
c81f85e16d add percentage of benchmark progress
plan to release v0.48
2014-03-10 13:34:06 -07:00
Chris Lu
45757b8b55 minor output format change 2014-03-10 13:22:08 -07:00
Chris Lu
1f0a564e43 adding progress report during benchmarking 2014-03-10 13:21:21 -07:00
Chris Lu
cd10c277b2 can now delete a collection! Is this a dangerous feature? Only enabling
deleting "benchmark" collections for now.
2014-03-10 11:43:54 -07:00
Chris Lu
a121453188 benchmarking writing data to a specific collection 2014-03-09 23:54:07 -07:00
Chris Lu
eac9c4d86b better benchmarking statistics 2014-03-09 23:12:05 -07:00
Chris Lu
86b17e8972 a kind of working benchmark 2014-03-09 19:42:50 -07:00
Chris Lu
c830b60f36 refactoring 2014-03-09 18:50:45 -07:00
Chris Lu
e6e85a6b2c truncate file content during creating 2014-03-09 18:50:09 -07:00
Chris Lu
7283d68e32 fixed redirection error 2014-03-03 08:20:46 -08:00
Chris Lu
ab9206c38e spelling error with parameter name! 2014-03-02 23:32:54 -08:00
Chris Lu
27c74a7e66 Major:
change replication_type to ReplicaPlacement, hopefully cleaner code
works for 9 possible ReplicaPlacement
xyz
x : number of copies on other data centers
y : number of copies on other racks
z : number of copies on current rack
x y z each can be 0,1,2

Minor:
weed server "-mdir" default to "-dir" if empty
2014-03-02 22:16:54 -08:00
Chris Lu
edae676913 1. volume server auto detect clustered master nodes
2. remove operation package dependency on storage
2014-02-14 17:10:49 -08:00
Chris Lu
ef4c2c0d1e cleaner cluster messages 2014-02-09 23:37:29 -08:00
Chris Lu
67125688ed Avoid creating *.dat file when reading and it does not exist 2014-02-06 17:32:06 -08:00
Chris Lu
91829057c5 set to 400 Bad Request when failed to parse file id, recommended by
claudiu
2014-02-06 12:03:25 -08:00
Chris Lu
f68e15da89 set to 404 when failed to read file id 2014-02-06 12:00:58 -08:00
Chris Lu
d0147a16a9 avoid index out of range exception 2014-02-06 11:44:54 -08:00
Chris Lu
59b9fd26fc fix replication type parameter name 2014-02-06 11:44:18 -08:00
Chris Lu
6d7556b31f help message adjustment 2014-02-05 11:47:26 -08:00
Chris Lu
69a7de1ad8 optimize for submission from clustered master nodes 2014-02-05 10:49:05 -08:00
Chris Lu
0e5c4e432d report when size is closing to the volume limit
fix error
2014-02-05 10:36:37 -08:00
Chris Lu
2a8c60f71b be lenient when writing, but report right away when volume size limit is
exceeded
2014-02-05 10:22:32 -08:00
Chris Lu
2cba123474 bump up to 0.46 2014-02-05 01:55:37 -08:00
Chris Lu
e7585548a4 working auto fail-over master node 2014-02-05 01:54:52 -08:00
Chris Lu
d6fbd741fd a stable working clustering master node implementation 2014-02-05 00:25:23 -08:00
Chris Lu
1d5c44e2df adjust description text 2014-02-05 00:13:25 -08:00
Chris Lu
af4b9c3aee go fmt 2014-02-04 01:11:28 -08:00
Chris Lu
6887e55f6a minor adjustment for weed master nodes clustering 2014-02-04 01:10:07 -08:00
Chris Lu
260fcd8e1e reduce the default volume size to 32000MB from 32768MB
this avoids problems with busy writing systems from having too many file
id assigned while the volume is close to the overflow limit.
2014-01-29 13:34:46 -08:00
Chris Lu
bf56bce5e9 Issue 62: Latest raft update breaks the build 2014-01-28 11:15:24 -08:00
Chris Lu
cda2a6b510 trivial refactoring 2014-01-21 20:51:46 -08:00
Chris Lu
bd6e1a8a70 Issue 60: weed export -collection doesn't work 2014-01-21 20:51:07 -08:00
Chris Lu
1bf75f7f73 toughen up error handling for invalid fid 2013-12-09 13:53:24 -08:00
Chris Lu
512899e6a6 disable raft logging 2013-12-09 13:34:28 -08:00
Chris Lu
da9abc2a93 a start for distributed master support, not working yet 2013-12-09 13:34:05 -08:00
Chris Lu
11e91bd549 mux router cannot handle "/" correctly. switching it off for volume
servers
2013-12-09 13:27:09 -08:00
Chris Lu
2e2f426fe2 clean up etcd backing for sequence persistent storage. It uses some OS
specific calls and is not OS-agnostic.
2013-12-03 23:30:55 -08:00
Chris Lu
5fdb1d89ce adding "server" command to start both volume server and an embedded
master server
2013-12-03 23:22:26 -08:00
Chris Lu
eeeccf2f78 ssue 59: Multi Ip Enviromment support + publicUrl is disregarded by
master
2013-12-02 22:58:27 -08:00
Chris Lu
e449a4a517 use glog 2013-12-02 01:59:04 -08:00
Chris Lu
a234789c59 switch to glog debugging 2013-12-02 01:54:05 -08:00
Chris Lu
c38eee73ca refactoring to separate master and volume server, so that these servers
can be embedded into other applications
2013-12-02 01:37:36 -08:00
Chris Lu
bc2f3b26e7 refactoring, start to use gorilla/mux 2013-12-01 14:41:47 -08:00
Chris Lu
1645d3c185 avoid nil cases when error 2013-11-19 02:12:56 -08:00
Chris Lu
bd0c7a3d28 comment out etcd support due to its os specific system calls 2013-11-19 01:43:16 -08:00
Chris Lu
fa1bb3cee3 version 0.45! 2013-11-18 23:54:01 -08:00
Chris Lu
ac66eee045 added download command to download file by fileid 2013-11-18 23:41:00 -08:00
Chris Lu
47aea42d66 fix filename not set error 2013-11-18 23:16:21 -08:00
Chris Lu
8111f7663d formatting 2013-11-18 23:04:33 -08:00
Chris Lu
d0473e27d9 refactor api: lookup file id 2013-11-18 23:03:59 -08:00
Chris Lu
c4a4d3609b fix duplicated file id list entries when uploading large file 2013-11-18 23:03:06 -08:00
Chris Lu
0e5e0a3754 add option to split large files into parts and then upload 2013-11-18 21:47:31 -08:00
Chris Lu
aed74b5568 adjust function name 2013-11-18 15:05:11 -08:00
Chris Lu
3b68711139 support for collections! 2013-11-12 02:21:22 -08:00
Chris Lu
8f0e2f31af remove unused parameter pulse 2013-11-12 02:19:06 -08:00
Chris Lu
5eac4f043a remove a comment 2013-11-12 02:16:07 -08:00
Chris Lu
0702eee3b1 adjust logging 2013-11-10 01:47:27 -08:00
Chris Lu
1888d01fa0 adding etcd storage support for cluster meta data. Currently just
sequence. More to come...
2013-11-10 01:31:50 -08:00
Chris Lu
5cb6590eae add metastore, switching sequence to use it
metastore is for storing metadata. This will be used later when moving
to distributed master mode.
2013-11-05 01:59:00 -08:00
Chris Lu
b579451db9 this is a fix important enough for a version bump 2013-10-31 12:57:32 -07:00
Chris Lu
53eacb4341 fix issue 52
keep compact section sorted when input data are not ordered
2013-10-31 12:57:06 -07:00
Chris Lu
cca1df83da debug message 2013-10-31 12:56:05 -07:00
Chris Lu
3185eebf2e add test case for issue 52 2013-10-31 12:55:51 -07:00
Chris Lu
3422272a50 fix test 2013-10-31 12:55:34 -07:00
Chris Lu
9e9b2c0703 log changes 2013-10-31 12:55:19 -07:00
Chris Lu
54723c3713 Issue 51: Assign on empty cluster sometime fails under high concurrency
load

Contributed by philoops
2013-10-29 12:48:31 -07:00
Chris Lu
c43dcfa3e2 prepare for v0.43 release 2013-10-16 08:39:36 -07:00
Chris Lu
59ded34b83 issue 48 weed upload does not set the modified date 2013-10-16 08:39:09 -07:00
Chris Lu
030905714b issue 49: unwritable volume become writable after compacting 2013-10-16 08:30:29 -07:00
Chris Lu
3f5f8657d2 add a command to force compaction of a volume, removing deleted files 2013-09-28 22:18:52 -07:00
Chris Lu
738e528329 v0.42
Changes: 
* fixed issue 45
2013-09-19 11:38:52 -07:00
Chris Lu
69ac6b6bf6 Issue 45 in weed-fs: [Compact issue] Offset overflow
New issue 45 by hieu.hcmus@gmail.com: [Compact issue] Offset overflow
http://code.google.com/p/weed-fs/issues/detail?id=45

You are using uint32(Maximum 4Gb) to store needle offset(Maximum 32Gb)
when compacting.
Currently It is ok if the volume size is < 4gb
Change variable "offset" in ScanVolumeFile function to uint64 to fix the
issue.
2013-09-19 11:06:14 -07:00
Chris Lu
82b74c7940 issue 43 "go fmt" chagnes from "Ryan S. Brown" <sb@ryansb.com>
some basic changes to parse upload url
2013-09-01 23:58:21 -07:00
Chris Lu
2e70cc8be7 default to use os.TempDir() instead of hard coded "/tmp" 2013-08-28 10:39:15 -07:00
Chris Lu
37b231b5dc Only limit input parameter to io.Reader 2013-08-14 11:31:39 -07:00
Chris Lu
8e1ac16d16 refactoring submit operation 2013-08-14 10:07:42 -07:00
Chris Lu
48e4ced29d easier for client to delete file 2013-08-14 00:31:02 -07:00
Chris Lu
d5e7c1de0a refactoring code
reusable code by go clients
2013-08-13 23:26:51 -07:00
Chris Lu
f7c1a15ad1 correctly print strings in error 2013-08-13 18:21:54 -07:00
Chris Lu
e45c6b5e21 add white list to both master and volume servers
prepare for v0.41
2013-08-13 09:31:19 -07:00
Chris Lu
3572e1140e adjusting parameter names 2013-08-13 09:22:06 -07:00
Chris Lu
078118ecba v0.40 2013-08-12 23:48:10 -07:00
Chris Lu
11b4e0c77d fix syntax error 2013-08-12 21:43:13 -07:00
Chris Lu
e0951dd44f added write whiteList, to make it a bit easier to secure volume servers
on hosting environments.
2013-08-12 21:27:47 -07:00
Chris Lu
44c4e74655 correct and more cleaner logic to fall back to read only mode
checking file permissions directly since the try and catch exception
approach does not work consistently as seen in bug #41
2013-08-12 16:53:32 -07:00
Chris Lu
a74978baeb ensure unwritable volumes are not in writables list 2013-08-12 16:39:49 -07:00
Chris Lu
82f6a6838f wording change 2013-08-11 13:15:11 -07:00
Chris Lu
0deda9b638 prepare to release 0.38 2013-08-11 11:50:18 -07:00
Chris Lu
7cef280bdc handle cases when .idx files are also readonly
adjusting log level
2013-08-11 11:38:55 -07:00
Chris Lu
27f04a382a avoid changing max size 2013-08-09 00:17:07 -07:00
Chris Lu
ed154053c8 switching to temporarily use glog library 2013-08-08 23:57:22 -07:00
Chris Lu
b27947b355 copying from glog project. Need to adjust several APIs 2013-08-08 23:24:44 -07:00
Chris Lu
c2a6012ba5 avoid verbose log message when some volumes are full 2013-08-08 15:04:00 -07:00
Chris Lu
f457eef144 add /submit handler for both master and volume server 2013-08-06 13:23:10 -07:00
Chris Lu
d51c8d37bd Issue 6: upload file without id specified 2013-08-06 12:13:10 -07:00
Chris Lu
952974491b refactor "content upload" out of needle creation 2013-08-06 11:23:24 -07:00
Chris Lu
54906c48f3 report errors when upload timeouts 2013-08-05 13:37:41 -07:00
Chris Lu
e94d52c1af replicate mime type 2013-07-29 10:09:36 -07:00
Chris Lu
fb53ec30f7 release 0.37 2013-07-28 22:54:06 -07:00
Chris Lu
8f0b527b28 a little more concise 2013-07-28 22:53:25 -07:00
Chris Lu
81debd73d4 Issue 37: Replicate delete
Reported by hieu.hcmus, Today (24 minutes ago)


What steps will reproduce the problem?
1.Create 2 volumes server same rack, replication type = 001
2.Upload a file
3.Delete file

What is the expected output? What do you see instead?
Expected output: File is deleted in both volume server
But: file is only deleted in one volume server

What version of the product are you using? On what operating system?
0.36
Please provide any additional information below.

After remove NeedleValue from NeedleMap, the size = 0 and it causes the
error.

I uploaded the patch to fix this error
2013-07-28 22:49:17 -07:00
Chris Lu
63ebafa113 fix when volume growth are partial successful in automatic mode 2013-07-24 10:31:51 -07:00
Chris Lu
3ae2eabf09 add more description to upload command 2013-07-20 15:14:12 -07:00
Chris Lu
1b3f204220 release 0.36 2013-07-20 14:53:20 -07:00
Chris Lu
123b0cc2df fix for issue #35 2013-07-19 20:38:00 -07:00
Chris Lu
ff1c04c486 fix issue 34 2013-07-19 19:37:10 -07:00
Chris Lu
dd2245956f better locking to prevent any possible memory access error 2013-07-15 21:34:43 -07:00
Chris Lu
b409ccc5ab upload respect master default replication setting 2013-07-15 21:34:04 -07:00
Chris Lu
5e3b6e968a escaping upload file name special characters
if already gzipped, avoid gzipping again
2013-07-15 17:26:00 -07:00
Chris Lu
dd66193bfb remove logging 2013-07-15 16:44:24 -07:00
Chris Lu
524a44f027 bump up the versoin 2013-07-15 16:27:11 -07:00
Chris Lu
70fe7e6b5d support gzip file upload, fix problem during replication of gzipped data 2013-07-15 11:04:43 -07:00
Chris Lu
c6bd4e656e add support for http://localhost:8080/vid/key_cookie
or
http://localhost:8080/vid/key_cookie.txt
2013-07-13 23:46:12 -07:00
Chris Lu
de368ef3c3 adjust usage 2013-07-13 23:19:21 -07:00
Chris Lu
d9c25ccbb0 upload files recursively matching a pattern 2013-07-13 23:17:41 -07:00
Chris Lu
ddf4f27a56 better error message if directory is not found 2013-07-13 22:01:48 -07:00
Chris Lu
76ba0021e5 prepare for 0.34 release 2013-07-13 19:46:26 -07:00
Chris Lu
ac15868694 clean up log fmt usage. Move to log for important data changes,
warnings.
2013-07-13 19:44:24 -07:00
Chris Lu
ae3245f1dc Fix a file name parsing error 2013-07-13 15:57:44 -07:00
Chris Lu
72490bc00f Consistent result format when error happens 2013-07-13 14:35:29 -07:00
Chris Lu
208ed2a991 Add support to upload a directory recursively. 2013-07-13 14:14:16 -07:00
Chris Lu
1165632fa0 use bytes.Equal() instead, Thanks for Thomas' suggestion 2013-07-13 13:51:47 -07:00
Chris Lu
d4105f9b46 add support for multiple folders and multiple max limit: eg
-dir=folder1,folder2,folder3 -max=7,8,9
2013-07-13 11:38:01 -07:00
Chris Lu
175456870a bump up to 0.33 2013-07-12 14:35:29 -07:00
Chris Lu
49cc81fdab added support for /vid/keycookie/filename.txt format for HTTP GET 2013-07-12 14:19:11 -07:00
Chris Lu
4c280bc317 ensure append only for deleted files 2013-07-12 00:55:21 -07:00
Chris Lu
90018be9d2 write file info only when data is not empty 2013-07-12 00:30:45 -07:00
Chris Lu
b87ec11c1c empty deleted file 2013-07-11 23:38:44 -07:00
Chris Lu
b0e5112702 "weed upload" return message changes 2013-07-11 22:45:29 -07:00
Chris Lu
4c1bc99366 avoid writing the same file 2013-07-11 22:44:59 -07:00
Chris Lu
db46565d18 ensure mime type checking by lower cased file name extension 2013-07-11 21:16:54 -07:00
Chris Lu
1ac71a111f Issue 28: [HELP NEEDED] weed upload does not send correct mime type to
weedfs

Fix is provided by claudiu.raveica
2013-07-11 19:14:55 -07:00
Chris Lu
3afc2d2ce6 remove unused code 2013-07-10 00:27:01 -07:00
Chris Lu
4c200acd7d 1. ensure replicated file has the same timestamp
2. upload can specify modified time by &ts=...
3. correctly return code 304
2013-07-10 00:25:14 -07:00
Chris Lu
53b6831f73 bump up version number to 0.32 2013-07-09 10:50:48 -07:00
Chris Lu
cbd9d14cc4 Issue 27: feature request - Last-Modified header 2013-07-08 23:38:38 -07:00
Chris Lu
53ae13a012 change default number of volumes to 7, so that the first volume growth
would not fail.
2013-07-08 01:58:28 -07:00
Chris Lu
e30e325770 Issue 26: Could not download uploaded files
Fix is provided by hieu.hcmus, He convinced me of the fix. Thanks!
2013-07-05 16:05:35 -07:00
Chris Lu
d1fcf1fd67 add error when size limit is reached 2013-07-03 22:14:16 -07:00
Chris Lu
50269b74ce add dataCenter option when assign file keys
add dataCenter option when starting volume servers
some work related to freeze a volume. Not tested yet.
2013-06-19 18:10:38 -07:00
Chris Lu
715d327df0 Tamás Gulácsi contributed cdb map for read only extremely low memory
implementation.
2013-05-05 11:19:41 -07:00
Chris Lu
fb635146a1 refactoring needle mapper interface to separate index file storage logic
out
2013-04-18 00:23:14 -07:00
Chris Lu
915b16f97a refactoring, same logic, but the store replication logic is moved to a
stand-alone file, for later easier improvements
2013-04-16 00:10:21 -07:00
Chris Lu
e4da140d0a rename volume_location.go to volume_location_list.go 2013-04-15 15:19:14 -07:00
Chris Lu
3222d40871 fix compilation error 2013-04-14 19:37:29 -07:00
Chris Lu
95dc977608 accurate error messages during writing 2013-04-14 19:34:37 -07:00
Chris Lu
a4369b35a7 merge changes from about dealing with read only volumes.
97482255d5.diff
2013-04-14 19:30:26 -07:00