Lawrence, Rendall
0fd0e06360
(tested) change DataStorage interface to accept byte array as value
2022-06-23 21:01:05 +03:00
Lawrence, Rendall
8430e1f31f
Initial work on implementing postgresql storage
...
Generated placeholders to use raw sql queries with `pgx` driver
and implemented put/del peer and announce functions
* inline GCAware and StatisticsAware to PeerStorage
* fix redis doc configuration sample
* update dependencies
2022-06-15 21:42:43 +03:00
Lawrence, Rendall
79c92df0f8
(tested) add hooks check when ping http route called
2022-05-14 01:36:21 +03:00
Lawrence, Rendall
463d478dad
(minor) sanitize code
2022-05-02 13:30:11 +03:00
Lawrence, Rendall
c50a532181
(tested) complete replace logrus with zerolog
...
* remove cobra dependency and split execs to mochi and e2e
* add log init synchronization
2022-05-02 03:13:58 +03:00
Lawrence, Rendall
64b27c2df6
(tested) preserve all addresses of peer
...
* add multiple addresses in request structures and frontend parsers
* move per-ip peer fetch/store from storage to internal hooks
* fetch/store both v1 and v2 info hashes
2022-04-27 00:52:17 +03:00
Lawrence, Rendall
b365abd296
(untested) sanitize code
...
* remove peer argument from scrape swarm storage call
* replace Peer field with netip.Addr in ScrapeRequest
* add man for keydb storage
* update readme
2022-04-25 19:05:41 +03:00
Lawrence, Rendall
72a03db654
(tested) fix panic while IPv6Peers/IPv4Peers append
...
* change memory swarm key type to Peer (it became comparable)
2022-04-25 14:27:05 +03:00
Lawrence, Rendall
7471697c20
(tested) combine v4 and v6 peers response in memory store
2022-04-24 23:46:20 +03:00
Lawrence, Rendall
ef03291efe
(tested) rollback to separate v4 and v6 keys in redis/keydb
...
* sanitize log fields
* remove miniredis dependency
* store/collect information about hybrid (v2to1) hashes
2022-04-24 20:32:15 +03:00
Lawrence, Rendall
22f459315b
(wip) implement keydb store
...
* make redis store reusable for keydb
* replace redis HKeys calls in AnnouncePeers with HRandField
* change signature of storage.ScrapeSwarm
2022-04-24 02:23:18 +03:00
Lawrence, Rendall
4131c64e89
(wip) create new driver for KeyDB
...
* move GC and prometheus aware storage functions to separate interfaces
2022-04-23 01:28:06 +03:00
Lawrence, Rendall
3bc2276fb3
(tested) Refactor code
...
* merge 9d04e4c from https://github.com/jzelinskie/chihaya
* sanitize ip address on Scrape requests
* remove NewConnectionID and ValidConnectionID functions from production code
2022-04-21 21:57:18 +03:00
Lawrence, Rendall
f9c72341c0
(minor) refactor redis GC and fix TX calls,
...
add indicator that metrics are running
2022-04-17 00:57:30 +03:00
Lawrence, Rendall
01064fd21a
(tested) split storage to data and peer interfaces,
...
add option for persisting (or not) torrent approval data
2022-04-16 18:50:19 +03:00
Lawrence, Rendall
8cd8343757
(tested) refactor code
...
* add sentinel master parameter into driver config
* replace yaml double deserialization with `mapstructure` in initializers
* replace struct initializers with registered functions
* add torrent approval MD and a sanitize rest MDs
2022-04-16 00:51:48 +03:00
Lawrence, Rendall
397e106396
(tested) fix redis to pass tests
...
* delete info hash count key from redis (replaced with SCARD on infohash set)
* add GC test
* add peer.Addr() functio to always return unwrapped address if 4to6 appear
2022-04-15 01:33:45 +03:00
Lawrence, Rendall
5c2471ca9b
(untested) Merge commit e56ad81 from https://github.com/jzelinskie/chihaya
...
* rename/replace redis keys
2022-04-14 19:14:12 +03:00
Lawrence, Rendall
57d9c8e78e
clear store error in responseHook if ErrResourceDoesNotExist appear
2022-04-14 01:52:52 +03:00
Lawrence, Rendall
781fa9440f
(done) replace redigo with go-redis
...
* replace redis keys with RawString encoded values (delete SerializedPeer)
* merge peers got from pre-hools with store data
2022-04-14 01:13:18 +03:00
Lawrence, Rendall
554ae6fcd6
Reformat comments
2022-04-12 18:32:17 +03:00
Lawrence, Rendall
c1956d68f6
Remove YAML/MD lint configs, reformat stdlib imports
2022-04-12 18:10:51 +03:00
Širhoe Biazhkovič
c7edbb52f2
Merge commits 129aac230aa..828edb8fd8b from https://github.com/chihaya/chihaya
2022-04-12 15:58:14 +03:00
Lawrence, Rendall
4dbbb4ad83
Rename to MoChi
2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
d438ad58fe
Test v2 hashes with qbt
2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
0a5ac35c4d
Fix e2e execution, append 2to1 hash in approvals, update dependencies
2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
9122aefdd7
Fix storage tests
...
* reformat sources #JR1356
2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
beb4736b86
Implement simple PGDC methods for storage
...
* sanitize code a little
* move e2e build to 'e2e' tag
2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
566d99fcd7
Gegin work on shared store for handlers
2021-12-21 15:24:25 +03:00
Širhoe Biazhkovič
823b92fe83
Disable prometheus fot in-memory store if period set to 0
2021-10-20 17:16:11 +03:00
onestraw
e09d11e4b9
fix goimports error
...
Change-Id: I0f6e383ec1081cc47c690fdaab3fd35590a2634b
2018-12-17 16:59:44 +08:00
Justin Li
3c80ed8a8e
Fix goimports violations
2018-10-24 09:25:03 -04:00
Justin Li
d95120c817
Return []error from Stop() channel, allow recursive stop groups
2018-09-09 11:30:15 -04:00
Jimmy Zelinskie
3c052ec98d
storage/memory: multi-line call to New()
2018-06-15 13:33:26 -04:00
Leo Balduf
89bc479a3b
*: make use of timecache
2017-10-15 20:05:39 +02:00
Leo Balduf
5400a99b75
storage: add Benchmarks for ScrapeSwarm, optimize implementations
2017-08-30 08:54:11 +02:00
Leo Balduf
df7b59e2f3
storage: add PeerLifetime to test config
2017-08-17 23:35:20 +02:00
Leo Balduf
8ed171b0ea
pkg/log: create wrapper around logrus
2017-06-26 20:46:40 +02:00
Leo Balduf
1aa6c86d3f
storage: update config defaults
2017-06-25 19:04:24 +02:00
Jimmy Zelinskie
dab03f52dc
storage: share prometheus models
...
Running of the binary actually caused a panic due to multiple calling of
MustRegister(). This fixes that by sharing models in the storage
package.
2017-06-05 22:07:13 -04:00
Jimmy Zelinskie
c41519e73f
storage: sync memory & memorybysubnet
...
This change is a manual merge of all of the optimizations that have been
added to the memory peer store into the memorybysubnet peer store.
This also fixes some inconsistencies between the two.
2017-06-04 16:42:32 -04:00
Jimmy Zelinskie
7786e1a915
storage: enforce all peer stores are loggable
2017-06-04 16:06:01 -04:00
Jimmy Zelinskie
acf7e3c749
storage: register unique Prometheus metrics names
2017-06-03 15:47:58 -04:00
Jimmy Zelinskie
496cc1a31d
storage: dynamically register drivers
2017-06-03 15:47:58 -04:00
Cedric Charly
ce6706b0d5
storage/memory: set default prometheus_reporting_interval
...
When left blank in the config, the default prometheus_reporting_interval value
defaulted to 0, causing a panic during peer store initialization. This
change sets the default value to 1 if not provided.
Fixes #319
2017-06-03 14:21:39 -05:00
Leo Balduf
a70d6dc036
memory: add metrics for peers
2017-05-29 19:04:40 +02:00
Leo Balduf
143ba54695
storage/memory: remove calls to time.Now()
2017-05-12 20:27:31 +02:00
Leo Balduf
71eb9fb767
storage/config: fix example config, add warning for missing shardCount
2017-05-12 13:16:39 +02:00
Jimmy Zelinskie
cb55019ab8
*: add structured logging
2017-05-07 04:30:22 -04:00
Jimmy Zelinskie
ea0dba3a3d
cmd/chihaya: refactor root run command
...
This change refactors a bunch of the state of execution into its own
object. It also attempts to simplify stopping and adjusts some other
packages to integrate with the stopper interface.
Fixes #309 .
2017-05-01 15:56:38 -04:00