From bab0485616d8b662beb1405e4e651d8c0dc0422e Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Wed, 28 Aug 2019 12:07:47 +0200 Subject: [PATCH 1/4] Update go-ds-crdt --- go.mod | 8 ++++---- go.sum | 17 ++++++++--------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index 9c9a84e4..ea235d61 100644 --- a/go.mod +++ b/go.mod @@ -22,13 +22,13 @@ require ( github.com/hashicorp/raft-boltdb v0.0.0-20190605210249-ef2e128ed477 github.com/hsanjuan/ipfs-lite v0.1.4 github.com/imdario/mergo v0.3.7 - github.com/ipfs/go-bitswap v0.1.6 // indirect + github.com/ipfs/go-bitswap v0.1.8 // indirect github.com/ipfs/go-block-format v0.0.2 github.com/ipfs/go-blockservice v0.1.2 // indirect github.com/ipfs/go-cid v0.0.3 github.com/ipfs/go-datastore v0.1.0 github.com/ipfs/go-ds-badger v0.0.5 - github.com/ipfs/go-ds-crdt v0.1.3 + github.com/ipfs/go-ds-crdt v0.1.4 github.com/ipfs/go-fs-lock v0.0.1 github.com/ipfs/go-ipfs-api v0.0.1 github.com/ipfs/go-ipfs-blockstore v0.1.0 // indirect @@ -92,8 +92,8 @@ require ( go.opencensus.io v0.22.0 golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 // indirect golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 // indirect - golang.org/x/image v0.0.0-20190823064033-3a9bac650e44 // indirect - golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 // indirect + golang.org/x/image v0.0.0-20190828090100-23ea20f87cfc // indirect + golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 // indirect golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456 // indirect golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 // indirect gonum.org/v1/gonum v0.0.0-20190704103327-70ddf0df3d53 diff --git a/go.sum b/go.sum index 37c28a9d..27471b92 100644 --- a/go.sum +++ b/go.sum @@ -201,8 +201,8 @@ github.com/ipfs/go-bitswap v0.1.3 h1:jAl9Z/TYObpGeGATUemnOZ7RYb0F/kzNVlhcYZesz+0 github.com/ipfs/go-bitswap v0.1.3/go.mod h1:YEQlFy0kkxops5Vy+OxWdRSEZIoS7I7KDIwoa5Chkps= github.com/ipfs/go-bitswap v0.1.5 h1:pgajlrTCFbbPgYJ234M1pssneLuIsVuxtfpx1I4cz3Y= github.com/ipfs/go-bitswap v0.1.5/go.mod h1:TOWoxllhccevbWFUR2N7B1MTSVVge1s6XSMiCSA4MzM= -github.com/ipfs/go-bitswap v0.1.6 h1:3jj6/69bsqAFmNViEXU8MWUDE8iE1mrqVPaKaIChu7k= -github.com/ipfs/go-bitswap v0.1.6/go.mod h1:oRNdV7SkA9glUUMHd6O2ztSwimBDLFdIF0fYIuDEzVo= +github.com/ipfs/go-bitswap v0.1.8 h1:38X1mKXkiU6Nzw4TOSWD8eTVY5eX3slQunv3QEWfXKg= +github.com/ipfs/go-bitswap v0.1.8/go.mod h1:TOWoxllhccevbWFUR2N7B1MTSVVge1s6XSMiCSA4MzM= github.com/ipfs/go-block-format v0.0.1/go.mod h1:DK/YYcsSUIVAFNwo/KZCdIIbpN0ROH/baNLgayt4pFc= github.com/ipfs/go-block-format v0.0.2 h1:qPDvcP19izTjU8rgo6p7gTXZlkMkF5bz5G3fqIsSCPE= github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY= @@ -234,8 +234,8 @@ github.com/ipfs/go-ds-badger v0.0.2 h1:7ToQt7QByBhOTuZF2USMv+PGlMcBC7FW7FdgQ4FCs github.com/ipfs/go-ds-badger v0.0.2/go.mod h1:Y3QpeSFWQf6MopLTiZD+VT6IC1yZqaGmjvRcKeSGij8= github.com/ipfs/go-ds-badger v0.0.5 h1:dxKuqw5T1Jm8OuV+lchA76H9QZFyPKZeLuT6bN42hJQ= github.com/ipfs/go-ds-badger v0.0.5/go.mod h1:g5AuuCGmr7efyzQhLL8MzwqcauPojGPUaHzfGTzuE3s= -github.com/ipfs/go-ds-crdt v0.1.3 h1:Apna77eKvw6Vmb1YJtXdJ+KZN8RFjRZQREMk+LrslXI= -github.com/ipfs/go-ds-crdt v0.1.3/go.mod h1:SaXm2oxzu+ouZ6HZ7e1Ss1O1wz/T+wGhcX4i922J95I= +github.com/ipfs/go-ds-crdt v0.1.4 h1:5gE6Ymt0Ke0KJUHWA6GoFsKpocbeUbRD/N7TbocQcvE= +github.com/ipfs/go-ds-crdt v0.1.4/go.mod h1:SaXm2oxzu+ouZ6HZ7e1Ss1O1wz/T+wGhcX4i922J95I= github.com/ipfs/go-ds-leveldb v0.0.1/go.mod h1:feO8V3kubwsEF22n0YRQCffeb79OOYIykR4L04tMOYc= github.com/ipfs/go-fs-lock v0.0.1 h1:XHX8uW4jQBYWHj59XXcjg7BHlHxV9ZOYs6Y43yb7/l0= github.com/ipfs/go-fs-lock v0.0.1/go.mod h1:DNBekbboPKcxs1aukPSaOtFA3QfSdi5C855v0i9XJ8Y= @@ -851,8 +851,8 @@ golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9t golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81 h1:00VmoueYNlNz/aHIilyyQz/MHSqGoWJzpFv/HW8xpzI= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190823064033-3a9bac650e44 h1:1/e6LjNi7iqpDTz8tCLSKoR5dqrX4C3ub4H31JJZM4U= -golang.org/x/image v0.0.0-20190823064033-3a9bac650e44/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190828090100-23ea20f87cfc h1:KDZtcnWVXXn4htf5vPv8h8r4Cd81EpFoDrCGnVXTZbE= +golang.org/x/image v0.0.0-20190828090100-23ea20f87cfc/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -886,8 +886,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 h1:fHDIZ2oxGnUZRN6WgWFCbYBjH9uqVPRCUVUDhs0wnbA= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= @@ -950,7 +950,6 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522 h1:bhOzK9QyoD0ogCnFro1m2mz41+Ib0oOhfJnBp5MR4K4= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= From 1b91303fe052a831a43002dff311bf5e5ea3c3b2 Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Wed, 28 Aug 2019 12:08:41 +0200 Subject: [PATCH 2/4] Do not allocate an unused item for the trackedPinsMap --- cluster.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cluster.go b/cluster.go index 587aef71..dc75369b 100644 --- a/cluster.go +++ b/cluster.go @@ -953,9 +953,9 @@ func (c *Cluster) StateSync(ctx context.Context) error { } trackedPins := c.tracker.StatusAll(ctx) - trackedPinsMap := make(map[string]int) - for i, tpin := range trackedPins { - trackedPinsMap[tpin.Cid.String()] = i + trackedPinsMap := make(map[string]struct{}) + for _, tpin := range trackedPins { + trackedPinsMap[tpin.Cid.String()] = struct{}{} } // Track items which are not tracked From a399d893b7b11ad4b1b37feddeead7fc26448a22 Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Wed, 28 Aug 2019 12:09:04 +0200 Subject: [PATCH 3/4] Remove mdns debug logging Leftover --- cluster.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cluster.go b/cluster.go index dc75369b..2e957c09 100644 --- a/cluster.go +++ b/cluster.go @@ -132,7 +132,6 @@ func NewCluster( var mdns discovery.Service if cfg.MDNSInterval > 0 { - logger.Info("MDNS", cfg.MDNSInterval) mdns, err := discovery.NewMdnsService(ctx, host, cfg.MDNSInterval, mdnsServiceTag) if err != nil { cancel() From b247783dd8aa069e130058908a3fd9191e6eab63 Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Wed, 28 Aug 2019 12:09:31 +0200 Subject: [PATCH 4/4] Badger: Do not compact L0 on close by default If this goes wrong probably database goes to hell. We want to stop the daemon as quickly as possible. --- datastore/badger/config.go | 1 + 1 file changed, 1 insertion(+) diff --git a/datastore/badger/config.go b/datastore/badger/config.go index d048f7b9..faf47853 100644 --- a/datastore/badger/config.go +++ b/datastore/badger/config.go @@ -28,6 +28,7 @@ var ( func init() { DefaultBadgerOptions = badger.DefaultOptions("") + DefaultBadgerOptions.CompactL0OnClose = false } // Config is used to initialize a BadgerDB datastore. It implements the