Commit Graph

45 Commits

Author SHA1 Message Date
9f0782bdac fix(providers): upgrade warnings to errors
These errors all mean something is going very wrong.
2020-02-18 12:40:49 -05:00
3e24f352aa provider record keys can be an arbitrary byte array less than 80 bytes instead of only a multihash 2019-12-19 12:00:51 -05:00
a4b38eebee feat(dht): provider records use multihashes instead of CIDs 2019-12-19 12:00:51 -05:00
0d48254082 chore(dep): update
Update deps:

* Switch to multiformats/go-base32
* Regenerate protobuf decoding code
2019-12-02 13:05:53 -05:00
31765355df migrate to consolidated types. (#344) 2019-05-26 23:33:15 +01:00
e7e9186702 providers: run datastore GC concurrently
Motivation: Walking the datastore can take time and currently blocks
adding/removing providers.

We need to do this in the same goroutine to avoid some logical races.
2019-04-19 14:59:58 -07:00
e4d739c96d providers: flush batch on process close 2019-04-18 16:22:35 -07:00
498dd81699 fix(providers): gc
Otherwise, we'll delete everything.
2019-04-18 16:10:29 -07:00
fbb29ea6b6 providers: optimize GC
1. Don't be n^2.
2. Don't bother walking the cache, just drop it.
2019-04-13 09:18:28 -07:00
a3b9767038 providers: use the non-locking LRU
We only access it from a single goroutine.
2019-04-13 09:18:28 -07:00
f4e6d425bd providers: make sure to close provider query, even on error 2019-04-13 09:18:28 -07:00
3c9d044798 providers: add some documentation 2019-04-13 09:18:28 -07:00
24c3841189 providers: delete expired provider records on load 2019-04-13 09:18:28 -07:00
2a3899be0d providers: improve time parsing error checking 2019-04-13 09:18:28 -07:00
069736916d providers: don't load into the cache on write
This is just extra work as we write through anyways.
2019-04-13 09:18:28 -07:00
95a6c2509f providers: use raw cids as map keys 2019-04-13 09:18:28 -07:00
86d78dc072 golangci-lint run -D errcheck (#298) 2019-03-14 11:07:15 +11:00
a303c45371 gx update and fix code to use new Cid type 2018-09-11 21:54:47 -04:00
47e3454f42 Set KeysOnly to true of Datastore.Query()
License: MIT
Signed-off-by: Jason Chang <ridewindx@163.com>
2018-03-08 21:29:49 +08:00
2a04b6ae50 gx publish 3.0.17 2018-02-27 20:27:24 +01:00
87251f9cb3 explain condition 2017-12-07 13:54:48 -08:00
491afc8e27 optimize allocations
Try to preallocate slices up-front instead of repeatedly reallocating.
2017-12-05 15:46:24 -08:00
ce68333cce Use res.NextSync() instead of res.Next() to avoid using a channel. 2016-11-28 20:38:32 -05:00
f3ebd68803 Check Datastore.Query call for errors
License: MIT
Signed-off-by: Vasily Kolobkov <polezaivsani@openmailbox.org>
2016-11-16 15:49:54 +02:00
78f3d979f7 Dispose of ticker on teardown
License: MIT
Signed-off-by: Vasily Kolobkov <polezaivsani@openmailbox.org>
2016-11-16 15:49:54 +02:00
bd6e9b1d2f Load providers from datastore on cache miss
Cache miss might mean that provider records where offloaded to
datastore and need to be brough back up in order to have a consistent
cache entry.
2016-11-16 15:49:54 +02:00
b152b1ed87 use NewKey over RawKey as it doesnt exist yet 2016-11-14 18:32:15 -08:00
1b4f407655 add errors and such to log failure messages 2016-11-14 18:31:44 -08:00
2020aa5d10 use old 'Next' method for now 2016-11-14 17:41:36 -08:00
b17e206c81 use an iterator for provider key sweeping 2016-11-14 17:41:05 -08:00
044ea16a66 Use sync iterator and avoid strings.Split 2016-11-14 17:05:34 -08:00
85fe35e758 reduce overhead casting between ds.Keys and strings 2016-11-11 10:13:12 -08:00
6894f33507 update dependencies after package extraction funtime 2016-10-05 12:34:28 -07:00
1af246f18a remove unneeded debug error message 2016-10-04 11:23:27 -07:00
1ac83501a2 fix providers code, cant use cids as lru keys 2016-09-30 10:56:47 -07:00
e00b3ca0a4 use stdlib context and clean up deps 2016-09-30 10:24:03 -07:00
c372d79e42 switch to strings and cids instead of keys 2016-09-30 10:13:57 -07:00
30d43d22e0 Fix dependencies 2016-09-02 20:21:23 +01:00
5f3e63aa46 Undo gx rewrites and add gx package.json 2016-08-21 17:18:58 +01:00
1bd98f05f4 use batching datastore for providers storage
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-07-26 10:48:25 -07:00
29c36b20d8 update go-datastore changes 0.1.2
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-07-01 22:40:57 -07:00
7c91e7bdd1 encode keys to datastore with base32 standard encoding
Fixes #2601

Also bump version to 0.4.3-dev

License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-07-01 14:15:06 -07:00
36a7fd1b73 routing: Use correct error variable
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-07-01 14:51:19 +02:00
62a938caf8 use no padding encoding
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-06-27 14:43:01 -07:00
c8bc7ce39c Write providers to disk to avoid memory leaks
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-06-25 09:53:59 -07:00