Commit graph

365 commits

Author SHA1 Message Date
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