Skip to content

Commit

Permalink
Use reasonable vclock pruning settings by default
Browse files Browse the repository at this point in the history
Setting them all to 0 caused K/V to not be able to update/delete keys
  • Loading branch information
michaelklishin committed Sep 18, 2012
1 parent dd8d466 commit 458fc65
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 9 deletions.
6 changes: 5 additions & 1 deletion ChangeLog.md
@@ -1,6 +1,10 @@
## Changes between Welle 1.3.0 and 1.4.0

No changes yet.
### Reasonable Vlock Pruning Defaults

Welle now uses reasonable vclock pruning setting defaults in `clojurewerkz.welle.buckets/update`.

Kudos to @mefesto for reporting the issue.


## Changes between Welle 1.2.0 and 1.3.0
Expand Down
10 changes: 4 additions & 6 deletions src/clojure/clojurewerkz/welle/conversion.clj
Expand Up @@ -399,12 +399,10 @@
:or {allow-siblings false
n-val 3
enable-search false
;; same as BucketPropertiesBuilder defaults for
;; the respective fields (Java int/long field initial values). MK.
old-vclock 0
young-vclock 0
small-vclock 0
big-vclock 0}}]
old-vclock 86400
young-vclock 20
small-vclock 50
big-vclock 50}}]
(let [bldr (doto (BucketPropertiesBuilder.)
(.r (to-quorum r))
(.w (to-quorum w))
Expand Down
18 changes: 16 additions & 2 deletions test/clojurewerkz/welle/test/kv_test.clj
Expand Up @@ -217,7 +217,7 @@
;; kv/delete
;;

(deftest test-fetching-deleted-value
(deftest test-fetching-deleted-value-with-rw=2
(let [bucket-name "clojurewerkz.welle.kv3"
bucket (wb/update bucket-name :last-write-wins true)
k "delete-me"
Expand All @@ -227,5 +227,19 @@
(is (empty? (kv/fetch bucket-name k :r 2)))
(kv/store bucket-name k v)
(is (first (kv/fetch bucket-name k)))
(kv/delete bucket-name k :w 2)
(kv/delete bucket-name k :rw 2)
(is (empty? (kv/fetch bucket-name k :r 2)))))


(deftest test-fetching-deleted-value-with-bucket-settings
(let [bucket-name "clojurewerkz.welle.kv4"
bucket (wb/update bucket-name :big-vclock 50 :old-vclock 30000)
k "delete-me"
v "another value"]
(drain bucket-name)
(Thread/sleep 150)
(is (nil? (kv/fetch-one bucket-name k :r 2)))
(kv/store bucket-name k v)
(is (kv/fetch-one bucket-name k))
(kv/delete bucket-name k :rw 2)
(is (nil? (kv/fetch-one bucket-name k :r 2)))))

0 comments on commit 458fc65

Please sign in to comment.