Commit Graph

302 Commits (8bf795dc3cd6af42ffd738310ec769ee7879b486)

Author SHA1 Message Date
Cenk Alti e73e61f238 test(store/watch): add test case for slow event consumers 2014-02-14 16:12:53 -08:00
Brandon Philips 68383b1293 fix(server/v1): don't fail put on new v1 key
We weren't checking for PrevNode being nil in the v1 code path. Do this
and add a test.

Fixes #557
2014-02-10 18:59:56 -08:00
Brian Waldon 60a2709213 chore(gofmt): gofmt compare_and_delete_command.go 2014-02-08 07:28:16 -08:00
Brandon Philips 2a2714a4bf Merge pull request #514 from cenkalti/prevNode
feat(prevNode): add "prevNode" to "Set" response
2014-02-07 12:04:18 -08:00
Xiang Li c844fccf2a fix(watcher_hub) isHidden checks the length of the watchPath before getting subString of keyPath 2014-02-06 11:09:47 -05:00
Xiang Li 1b5f9eb013 test (isHidden) add unit test for isHidden function 2014-02-05 23:32:12 -05:00
Xiang Li 5851cb5b8d chrod(watcher_hub) add comment to isHidden function 2014-02-05 23:31:38 -05:00
Xiang Li ba98de6ef0 fix(watch hidden key) Fix hidden keys preventing deeper recursive watches from receiving events
If a watcher has given the correct hidden directory, we should allow it to watch the non-hidden events under that hidden directory. This pull request achieves this by checking if the path after the watching prefix has a "/_" which indicates a hidden key.
2014-02-05 22:34:41 -05:00
evan-gu 8d2a8e1c7a fix some typos in comments in store.go 2014-02-04 14:17:44 -05:00
Brandon Philips d7d20d1c3d bump(github.com/stretchr/testify): 9cc77fa25329013ce07362c7742952ff887361f2 2014-02-02 16:57:36 -08:00
Brandon Philips 13b6c1e684 chore(*): make everything use goven
for i in github.com/BurntSushi/toml github.com/coreos/go-etcd/etcd github.com/coreos/go-log/log github.com/gorilla/context github.com/rcrowley/go-metrics bitbucket.org/kardianos/osext github.com/coreos/go-systemd/journal github.com/coreos/raft code.google.com/p/goprotobuf/proto ; do goven  -copy -rewrite $i; done
2014-02-01 23:44:18 -08:00
Cenk Alti 354a91290e feat(prevNode): add test for prevNode 2014-01-29 17:52:25 -08:00
Cenk Alti 3ec7004421 feat(prevNode): add "prevNode" to "Set" response 2014-01-29 17:30:33 -08:00
Brandon Philips 1b00c449a5 Revert "Better error message when setting values on directories"
This reverts commit d13dd50d51.
2014-01-23 11:22:11 -08:00
Kelsey Hightower d13dd50d51 Better error message when setting values on directories
Without this commit etcd returns the following error message when
setting values on directories:

    {
      "errorCode":102,
      "message":"Not a file",
      "cause":"/postgres",
      "index":2
    }

While the above error message is accurate it's not very descriptive.
This commit adds a new error code/message which better describes why the
write operation failed. etcd now returns the following:

    {
      "errorCode":109,
      "message":"Cannot set value on directory",
      "cause":"/postgres",
      "index":2
    }
2014-01-22 23:02:33 -08:00
Brandon Philips 19ef1042d6 Merge pull request #497 from philips/store-bench-no-rand
fix(store/store_bench): don't use rand
2014-01-22 13:19:04 -08:00
tobz 641edd4e6e test(store): group together all store tests that deal with hidden keys 2014-01-22 09:29:53 -05:00
tobz 823fdfab12 fix(store): make isHidden see if any portion of the path is hidden, not just the last element 2014-01-22 09:29:33 -05:00
tobz 0cacb6cba4 test(store): exercise watchers receiving notifications of non-hidden keys within hidden directories 2014-01-22 09:20:57 -05:00
tobz 7a948746a8 fix(store): move logic to handle whether or not to notify (re: hidden keys) entirely into watcher hub 2014-01-22 09:02:42 -05:00
tobz 139f59f7d1 fix(store): properly hide hidden keys from watchers, not just gets 2014-01-21 20:26:56 -05:00
Brandon Philips 80c22a4fb2 fix(store/store_bench): don't use rand
rand just introduces more noise to the results, don't use it.
2014-01-21 17:01:26 -08:00
Xiang Li 3a75d0a465 Merge pull request #493 from xiangli-cmu/bench_watcher
test(store_bench_test.go) add watch bench
2014-01-21 07:35:18 -08:00
Xiang Li 17c8f6d2e8 test(store_bench_test.go) add watch bench 2014-01-21 06:51:40 -05:00
Xiang Li d122ed3bcd Merge pull request #492 from rwindelz/fix-ttl
fix(store): TTL should range 1..n rather than 1..n+1
2014-01-20 09:28:38 -08:00
rwindelz a2e5bae951 fix(store): TTL should range 1..n rather than 1..n+1
was experiencing intermittent functional test fails where TTL was eg 101
when 100 was expected
informal testing on a windows platform shows Go times resolving to the
nanosecond but with an accuracy of approximately 1 millisecond
I believe some of the functional test steps would run in under a
millisecond and cause the TTL to be recomputed with the same time.Now()
value resulting in a TTL that was +1 from the expected
2014-01-19 21:45:53 -08:00
Xiang Li 6f8b0dc7ef add delete bench 2014-01-17 15:18:11 +08:00
Xiang Li 21f0c6f9d4 feat(store_bench) add set bench for different value sizes 2014-01-17 14:19:31 +08:00
Xiang Li b226b14eb2 add mem stats for sets benchmark 2014-01-16 16:06:18 +08:00
Xiang Li c2d1dc4f51 add a setWithJson test 2014-01-16 09:16:33 +08:00
Xiang Li 77477b3e43 feat(store/store_bench_test.go) add a benchmark for set operation of store pkg
We randomly generage N 3 level keys. We benchmark the speed of setting each key into etcd store.
2014-01-16 09:03:42 +08:00
Cenk Alti 8597904bc2 feat(stream watchers) fix locking issue 2014-01-10 16:04:23 +02:00
Cenk Alti c247d807af feat(stream watchers) end streaming if too many notifications 2014-01-09 14:15:36 +02:00
Xiang Li 22a25a18b3 feat(stream watchers) add stream watcher support 2014-01-09 15:28:33 +08:00
Xiang Li 6b77b94127 Merge pull request #420 from benbjohnson/logging
Logging
2014-01-08 21:36:52 -08:00
Xiang Li 2bfb8f5e4f Merge pull request #418 from xiangli-cmu/cancel_watcher
cancel watcher
2014-01-08 21:34:32 -08:00
Xiang Li fa3b4a7941 refactor(watcher) change newWatcher to Watch 2014-01-09 13:29:04 +08:00
Ben Johnson d7087ed61a Merge branch 'master' of https://github.com/coreos/etcd into logging 2014-01-02 16:30:09 -07:00
Xiang Li 189b98c03f refactor(node_extern.go) remove unused prevValue field 2014-01-01 20:01:29 +08:00
Xiang Li f46fdbf078 feat(node_extern.go) add prevNode field 2014-01-01 19:50:07 +08:00
Ben Johnson cc10b1084d Merge branch 'master' of https://github.com/coreos/etcd into logging
Conflicts:
	tests/functional/simple_snapshot_test.go
2013-12-30 16:19:57 -07:00
Ben Johnson a9e20aecc6 Raft fixes, integrate logging. 2013-12-29 10:40:10 -07:00
Xiang Li bbbf8fd574 fix(watcher_hub.go) decrease count when remove a watcher 2013-12-28 15:51:16 +08:00
Xiang Li d66dc3c1c7 refactor(watcher_hub.go) refactor notifyWatchers() 2013-12-28 15:49:05 +08:00
Xiang Li 59ccefee0f fix(watchhub.go) add a lock to protect the hashmap 2013-12-28 14:55:50 +08:00
Xiang Li 5e499456f0 init cancel watcher 2013-12-26 22:06:15 +08:00
Xiang Li 715b4d7bfc Merge pull request #408 from xiangli-cmu/compareAndDelete
Compare and delete
2013-12-25 13:16:27 -08:00
Xiang Li bfa7d54b02 refactor(store.go) handle short condition first 2013-12-25 19:01:04 +08:00
Brandon Philips e1d909eb0e test(store/event_test): add a test for a full queue 2013-12-22 15:42:51 -08:00
Brandon Philips 317b34f4a0 refactor(store/event_history): cleanup some comments 2013-12-22 15:42:10 -08:00
Xiang Li 0937b4d266 refactor(event_history.go) remove the extra logic 2013-12-22 15:42:10 -08:00
Xiang Li ef988020b7 fix(event_history) fix a bug in event queue 2013-12-22 15:42:10 -08:00
Xiang Li 9cf1fcc987 refactor(compareAndDelete) 2013-12-20 05:10:22 +08:00
Xiang Li e2fa89d554 merge compareAndDelete 2013-12-19 22:19:49 +08:00
Xiang Li dba5eb57cf fix(store.go) report node.path 2013-12-12 10:12:33 -08:00
Xiang Li a5bca025b1 fix index inconsistence in v1 api 2013-12-11 11:12:39 -08:00
Xiang Li f83e76eb60 Merge https://github.com/coreos/etcd into fix_expire_notify 2013-12-10 15:18:00 -08:00
Xiang Li 06473ba6fe fix(store.go) expire should also notify all the watchers under the path 2013-12-10 15:17:13 -08:00
Xiang Li dd354c9e22 Merge pull request #376 from xiangli-cmu/dir_flag
feat add dir_flag
2013-12-09 08:34:57 -08:00
Xiang Li 59e98fcc62 doc fix grammar issue 2013-12-09 11:33:55 -05:00
Brian Waldon 0fb8fc0b8d fix(v2): Drop prevValue from exported fields 2013-12-06 11:46:23 -08:00
Xiang Li 0762c79e2e refactor remove unused const 2013-12-05 21:04:00 -05:00
Xiang Li d646d7c16a tests add tests for dir flag 2013-12-05 20:46:52 -05:00
Xiang Li e00296960c test fix tests 2013-12-05 18:16:01 -05:00
Xiang Li c305eda344 docs(delete_command.go) document about recursive implies dir 2013-12-05 17:52:32 -05:00
Xiang Li b556252358 tests fix all tests 2013-12-05 17:48:32 -05:00
Xiang Li 4ba7d85d56 refactor(update) more clear dir checking 2013-12-05 17:16:44 -05:00
Xiang Li 40d297be66 feat add dir_flag 2013-12-05 17:10:37 -05:00
Xiang Li c6e1af8321 merge master 2013-12-02 22:36:38 -05:00
Xiang Li b929e71948 tests add root readonly test 2013-12-01 18:16:32 -05:00
Xiang Li 6252037376 fix root should be rdonly 2013-12-01 18:01:24 -05:00
Xiang Li 78e382cb6b test add watcher prefix test 2013-12-01 17:35:22 -05:00
rick d2d7e37990 implement recursive for CompareAndDelete in the store 2013-12-01 13:38:09 -07:00
rick f8985d731f keep the Delete tests together 2013-12-01 13:28:14 -07:00
Xiang Li 5097a2adee fix(event_history.go) should not scan prefix 2013-12-01 00:47:23 -05:00
rick 171072c736 add the CompareAndDelete command 2013-11-30 16:24:23 -07:00
rick 90a8f56c96 add compareAndDelete event action 2013-11-30 10:08:25 -07:00
rick 5b739f6166 track CompareAndDelete stats 2013-11-30 10:05:48 -07:00
rick 702cf1cc36 teach store.Store about CompareAndDelete 2013-11-30 10:02:03 -07:00
Xiang Li 67b4c27d5d refactor change node_repr to node_extern 2013-11-28 21:34:38 -05:00
Xiang Li b7d07ea5c8 refactor event 2013-11-28 11:33:40 -05:00
Xiang Li 08c59895b5 refactor(Node) do not expose node struct 2013-11-28 11:33:23 -05:00
Xiang Li 8a0496cfae bump deps 2013-11-22 08:59:24 -08:00
Ben Johnson ccc27a61f5 Merge branch '0.2' of https://github.com/coreos/etcd into migration-test 2013-11-12 17:29:58 -05:00
Xiang Li 5abbaf59e3 Merge pull request #292 from xiangli-cmu/fix-ttl
WIP: fix ttl
2013-11-11 21:30:32 -08:00
Xiang Li 811c577fe8 test stop mockSync goroutines 2013-11-11 21:31:12 -08:00
Xiang Li fe5fb6cfba style naming the initialization fields for sync command 2013-11-11 21:21:50 -08:00
Xiang Li 8b2e1025ef style remove the extra space 2013-11-11 21:19:30 -08:00
Ben Johnson d8157472fe Merge branch '0.2' of https://github.com/coreos/etcd into migration-test 2013-11-11 18:12:24 -05:00
Xiang Li cb4b6f1fe4 feat add modifiedIndex in kvpair 2013-11-09 20:52:06 -08:00
Xiang Li 06f1b7f2e8 refactor change Index to modifiedIndex 2013-11-09 20:49:19 -08:00
Xiang Li d8e5994c35 feat attach etcd-index,raft-index,raft-term to header 2013-11-09 20:20:47 -08:00
Xiang Li d87e0e93d3 fix get return the last modified index of the node 2013-11-09 19:05:38 -08:00
Xiang Li eca433cee5 fix add sync_command.go 2013-11-09 18:59:43 -08:00
Xiang Li 6156d5c790 refactor separate etcd index from raft index 2013-11-09 17:55:54 -08:00
Xiang Li 0372cdea23 refactor move sync command into etcd 2013-11-08 16:00:58 -08:00
Brandon Philips 6a074d4f6f chore(*.go): add copyright notice 2013-11-08 14:04:15 -08:00
Xiang Li acd940a450 refactor comments on IsPermanent 2013-11-08 13:37:30 -08:00
Xiang Li 4c1d864095 fix cleanup 2013-11-06 21:27:39 -08:00
Xiang Li c307b6abca fix watcher_hub 2013-11-06 21:19:37 -08:00