Commit graph

56 commits

Author SHA1 Message Date
John Howard
ea4dd1bbf6 boltdb/bolt is not maintained. Used bbolt
Signed-off-by: John Howard <jhoward@microsoft.com>
2018-09-11 12:42:39 -07:00
Santhosh Manohar
ec5fbce415 Merge pull request #140 from aboch/to
Allow client to set boltdb timeout
2016-11-08 17:06:21 -08:00
Alessandro Boch
6c0e0d6250 Allow client to set boltdb timeout
- also in case of no persistent connection

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-11-08 16:51:51 -08:00
Santhosh Manohar
b4c828e6a0 Merge pull request #127 from mrjana/boltdb
Do not return boltdb bucket not found error
2016-04-15 14:08:06 -07:00
Jana Radhakrishnan
a0f6d0798a Do not return boltdb bucket not found error
While doing a boltdb operation and if the bucket is not found
we should not return a boltdb specific bucket not found error
because this causes leaky abstraction where in the user of libkv
needs to know about boltdb and import boltdb dependencies
neither of which is desirable. Replaced all the bucket not found
errors with the more generic `store.ErrKeyNotFound` error which
is more appropriate.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-04-15 13:50:43 -07:00
Alexandre Beslic
2d3c380c0f Merge pull request #121 from Jimdo/etcd_auth
Add support for etcd authentication
2016-04-04 14:49:35 -07:00
Paul Seiffert
deb21faad0 Add support for etcd authentication 2016-03-31 14:55:59 +02:00
Alexandre Beslic
2478cfa966 Merge pull request #115 from allencloud/fix-typo
fix typo
2016-03-07 11:07:56 -08:00
allencloud
cc0ed694ee fix typo
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-05 22:59:26 +08:00
Alexandre Beslic
0dfad687a0 Merge pull request #114 from stweil/master
Fix typo in error text
2016-02-29 10:50:14 -08:00
Stefan Weil
fbdb24ec6a Fix typo in error text
The typo was found and fixed by codespell.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-02-23 22:40:39 +01:00
Alexandre Beslic
dcf8828165 Return store.ErrKeyExists on AtomicPut
When using AtomicPut with 'previous' set at nil, it interprets
that the Key should be created with the AtomicPut. Instead of
returning a generic error, we return store.ErrKeyExists if the
key exists in the store during the operation.

Signed-off-by: Alexandre Beslic <abronan@docker.com>
2015-10-14 09:51:18 -07:00
Alexandre Beslic
99db1f6a07 Merge pull request #86 from sanimej/bugfix
boltDB AtomicDelete fails for non-existent key
2015-10-14 14:55:08 -07:00
Alexandre Beslic
bf2f48aec0 Merge pull request #84 from mavenugo/b-ts
Cherry-pick 2b31300cef639e8c54aaaf52a6f57d1cf11883a3 into master (Synchronize boltbd libkv apis)
2015-10-12 12:09:29 -07:00
Jana Radhakrishnan
002f9c37ca Synchronize boltbd libkv apis
Currently boltdb uses a handle which can be accessed
concurrently from multiple go routines and all of them
trying to open and close the boldb db handle which can
cause havoc. Use a mutex to serialize db access and
handle access.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-10-12 11:51:36 -07:00
Alexandre Beslic
2a86b2bdb9 Merge pull request #79 from sanimej/bolt
Add transient connection option to bolt db
2015-10-08 13:24:52 -07:00
Alexandre Beslic
1f587cf86c Merge pull request #77 from abronan/enhance_documentation
Update README.md and add more documentation under the 'docs' folder
2015-10-07 18:06:06 -07:00
Santhosh Manohar
3e2529e881 Merge pull request #78 from abronan/change_unsupported_errors
Change unsupported call error in boltdb backend to use general store error
2015-10-06 15:33:28 -07:00
Alexandre Beslic
15e5d4067a Change unsupported call error in boltdb backend to use general store error
Signed-off-by: Alexandre Beslic <abronan@docker.com>
2015-10-06 06:05:48 -07:00
Alexandre Beslic
3b5fb3ec87 Remove docs in libkv.go
Signed-off-by: Alexandre Beslic <abronan@docker.com>
2015-10-05 14:32:40 -07:00
Alexandre Beslic
2603af65e5 Migration to the new Etcd client
This commit migrates the old 'go-etcd' client, which is deprecated
to the new 'coreos/etcd/client'.

One notable change is the ability to specify an 'IsDir' parameter
to the 'Put' call. This allows to circumvent the limitations of etcd
regarding the key/directory distinction while setting up Watches on
a directory. A conservative measure to set up a watch that should be
used the same way for etcd/consul/zookeeper is to enforce the 'IsDir'
parameter with 'WriteOptions' on 'Put' to avoid the 'NotANode' error
thrown by etcd on Watch call. Consul and zookeeper are not using the
'IsDir' parameter.

Signed-off-by: Alexandre Beslic <abronan@docker.com>
2015-10-05 05:57:23 -07:00
Santhosh Manohar
f06f78e638 boltDB AtomicDelete fails for non-existent key
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2015-10-03 02:25:19 -07:00
Santhosh Manohar
0b81042dc3 Add transient connection option to bolt db
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2015-09-30 18:37:17 -07:00
Victor Vieux
3c89e44f3e Merge pull request #63 from abronan/consul_ttl_lock
Add TTL to Consul lock using store.LockOptions
2015-09-23 10:46:28 -07:00
Alexandre Beslic
7225aba3af add TTL to consul lock using store.LockOptions and add tests for the Lock ttl behavior
Signed-off-by: Alexandre Beslic <abronan@docker.com>
2015-09-23 02:22:02 -07:00
Santhosh Manohar
1de5aa45ce Merge pull request #62 from chenchun/fix
Fix AtomicPut panic if previous KVPair is not nil and key not exists in boltdb
2015-09-22 05:56:07 -07:00
Chun Chen
1f9cf17713 Fix AtomicPut panic if previous KVPair is not nil and key not exists in boltdb
Signed-off-by: Chun Chen <ramichen@tencent.com>
2015-09-22 14:23:59 +08:00
Alexandre Beslic
79b8613c95 Merge pull request #55 from abronan/etcd_tls
Carry #45: Add etcd TLS client code and update README.md.
2015-09-18 11:11:43 -07:00
Alexandre Beslic
599deba8c7 nits and refactor for etcd tls config
Signed-off-by: Alexandre Beslic <abronan@docker.com>
2015-09-17 09:13:45 -07:00
Adam Thornton
cc9e627f8e Add etcd TLS client code and update README.md.
Signed-off-by: Adam Thornton <adam.thornton@gonkulator.io>
2015-09-17 09:08:53 -07:00
Alexandre Beslic
81a45f92c5 Merge pull request #56 from mavenugo/bolt_to
Honoring ConnectionTimeout in boltdb
2015-09-16 11:15:51 -07:00
Madhu Venugopal
64eb25dff9 Honoring ConnectionTimeout in boltdb
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-09-16 10:52:11 -07:00
Alexandre Beslic
29a75f0428 Merge pull request #51 from abronan/fix_vendor_import
Refactor libkv to not directly import storage backends
2015-09-08 10:18:50 -07:00
Alexandre Beslic
3ec6dfa346 Refactor libkv to not directly import storage backends
Signed-off-by: Alexandre Beslic <abronan@docker.com>
2015-09-07 10:43:01 -07:00
Alexandre Beslic
b1d5d7edeb Merge pull request #47 from chenchun/fix_boltdb
Create dir first before opening data file of boltdb
2015-08-24 11:04:49 -07:00
Chun Chen
f817826408 Create dir first before opening data file of boltdb
Signed-off-by: Chun Chen <ramichen@tencent.com>
2015-08-25 01:41:57 +08:00
Alexandre Beslic
6c6315a1b3 Merge pull request #46 from sanimej/bolt
BoltDB backend support for libkv
2015-08-20 23:54:03 -07:00
Santhosh Manohar
29af4e0f27 BoltDB backend support for libkv
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2015-08-13 21:39:53 -07:00
Alexandre Beslic
e908876506 Merge pull request #33 from abronan/drop_ephemeral
Change Heartbeat/Ephemeral combination to use a single TTL field
2015-08-13 17:09:49 -07:00
Alexandre Beslic
c01507da42 Merge pull request #40 from chenchun/fix_zk_list
Fix zookeeper List function not exist key error
2015-08-12 18:09:27 -07:00
Alexandre Beslic
06f01227c5 change heartbeat/ephemeral combination to use a single ttl field
Signed-off-by: Alexandre Beslic <abronan@docker.com>
2015-08-12 11:12:38 -07:00
Chun Chen
f26e4f4c52 Minor fix of store comment
Signed-off-by: Chun Chen <ramichen@tencent.com>
2015-08-12 18:32:56 +08:00
Alexandre Beslic
518ab82942 Merge pull request #39 from chenchun/better_error_msg
Notify user of supported backend storage
2015-08-11 11:59:53 -07:00
Chun Chen
6b43181cfa Notify user of supported backend storage
Signed-off-by: Chun Chen <ramichen@tencent.com>
2015-08-11 14:37:01 +08:00
Alexandre Beslic
ebeec0dd96 Merge pull request #30 from ahmetalpbalkan/rm-WatchCallback
Remove unused type WatchCallback
2015-07-21 13:50:23 -07:00
Ahmet Alp Balkan
a961b70b2b Remove unused type WatchCallback
Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2015-07-21 13:48:32 -07:00
Alexandre Beslic
0dda8605e6 Merge pull request #19 from erikh/doc-fixes
Doc fixes
2015-06-26 09:39:42 -07:00
Erik Hollensbe
06151b8a4d add top-level godoc: sample some parts of the README
Signed-off-by: Erik Hollensbe <github@hollensbe.org>
2015-06-25 00:05:57 +00:00
Alexandre Beslic
638eb1907e Merge pull request #14 from spikecurtis/etcd-atomic-create
Support "Atomic Create" in etcd
2015-06-18 20:37:29 -07:00
Spike Curtis
a2d4e1c246 API Change: AtomicPut with previous = nil is create.
AtomicPut can now be used to Compare-and-Swap against the state
where the key doesn't yet exist.  E.g. a race where two clients
create the same key: one succeeds, the other fails.

Pass nil for the previous argument of AtomicPut for this
behavior.  Before, this would cause an error.

Implements this change for all three backends.
2015-06-18 11:21:11 -07:00