Commit graph

143 commits

Author SHA1 Message Date
Chris Lu 179d36ba0e formatting code by: goimports -w=true . 2014-10-26 11:34:55 -07:00
Chris Lu e9a8999f63 print error the correct way. 2014-10-21 01:27:06 -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 7920b4685e Adding unit tests for volume ttl. 2014-09-20 20:51:24 -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 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 4c58cef24a a bit refactoring to prepare for volume format change and backward
compatibility.
2014-08-25 11:37:00 -07:00
Chris Lu 530927db64 Add Etag support 2014-07-22 00:24:50 -07:00
Chris Lu 5f19af8fce compress *.htm file 2014-07-08 09:32:55 -07:00
Chris Lu 4b7b439be9 Reduce memory usage for "weed fix" 2014-05-31 17:10:51 -07:00
Chris Lu faf497feb8 Important Fix: Avoid overwriting the index file!!! 2014-05-29 19:19:03 -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 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 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 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 56a3d30e75 batch delete on volume servers 2014-04-14 01:00:09 -07:00
Chris Lu 6084e7670a fix bug when reading back the replica settings! 2014-04-13 03:06:15 -07:00
Chris Lu 59f6a13609 adding lots of different stats 2014-03-26 13:22:27 -07:00
Chris Lu a0955aa4dd refactor functions 2014-03-23 21:57:10 -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 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 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 3fec41b911 remove unnecessary code 2014-03-18 22:32:29 -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 e6e85a6b2c truncate file content during creating 2014-03-09 18:50:09 -07: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 67125688ed Avoid creating *.dat file when reading and it does not exist 2014-02-06 17:32:06 -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 cda2a6b510 trivial refactoring 2014-01-21 20:51:46 -08:00
Chris Lu 1bf75f7f73 toughen up error handling for invalid fid 2013-12-09 13:53:24 -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 53eacb4341 fix issue 52
keep compact section sorted when input data are not ordered
2013-10-31 12:57:06 -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 59ded34b83 issue 48 weed upload does not set the modified date 2013-10-16 08:39:09 -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 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 48e4ced29d easier for client to delete file 2013-08-14 00:31:02 -07:00
Chris Lu 078118ecba v0.40 2013-08-12 23:48:10 -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 82f6a6838f wording change 2013-08-11 13:15:11 -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 ed154053c8 switching to temporarily use glog library 2013-08-08 23:57:22 -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 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 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 70fe7e6b5d support gzip file upload, fix problem during replication of gzipped data 2013-07-15 11:04:43 -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 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 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 4c1bc99366 avoid writing the same file 2013-07-11 22:44:59 -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 cbd9d14cc4 Issue 27: feature request - Last-Modified header 2013-07-08 23:38:38 -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 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 db8e27be6e add lots of error checking by GThomas 2013-02-26 22:54:22 -08:00
Chris Lu bd278337db checking file name empty 2013-02-26 14:56:18 -08:00
Chris Lu a4cef2fbd4 only cares about error other than EOF 2013-02-11 23:54:21 -08:00
Chris Lu 91492b4947 avoid EOF error on windows. This is a "try to load" function anyway. 2013-02-11 23:38:48 -08:00
Chris Lu b395a5289b do not truncate file if any error happens. Truncating will lose all
files after this file entry.
2013-02-11 22:54:46 -08:00
Chris Lu aecea22666 Issue 15: Stress test corrupts volume 2013-02-10 14:00:06 -08:00
Chris Lu 79d11ac951 go vet 2013-02-10 09:44:44 -08:00
Chris Lu 5071f528f6 testing compilation with remove package 2013-02-10 03:49:51 -08:00