Commit graph

264 commits

Author SHA1 Message Date
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
Chris Lu 4d8ce2fe26 adding HEAD support 2013-03-20 22:57:41 -07:00
Chris Lu 437532d559 0.31 is next release 2013-03-20 22:08:54 -07:00
Chris Lu 9da3ea35ac avoid empty data nodes 2013-03-20 05:12:55 -07:00
Chris Lu 0c75e0438e bump to 0.30 since it fixed an important bug 2013-03-20 01:39:20 -07:00
Chris Lu 1aea3512a4 return nil instead of memory access error 2013-03-20 01:23:15 -07:00
Chris Lu 6658d5de45 fix sequence assignment error 2013-03-19 13:37:36 -07:00
Chris Lu 2d0a555270 bump up the version 2013-03-19 11:28:11 -07:00
Chris Lu a1d5a6298c avoid missing configuration file error 2013-03-19 10:36:29 -07:00
Chris Lu 2d4a7ac9f9 avoid error when missing configuration file 2013-03-19 10:35:13 -07:00