From 6d9412511fd39a1dcf03a711c820eb12c677fe9c Mon Sep 17 00:00:00 2001 From: capt4ce Date: Fri, 8 May 2020 13:25:36 +0800 Subject: [PATCH 1/4] add badger metrics to prometheus --- common/constant/api.go | 2 +- common/database/badgerdb.go | 27 +++++++++++++++++++++-- common/kvdb/kvdb.go | 2 +- common/monitoring/metricsMonitoring.go | 30 ++++++++++++++++++++++++++ common/schema | 2 +- core/service/blockMainService.go | 2 +- core/service/mempoolCoreService.go | 2 +- go.mod | 1 + go.sum | 10 +++++++++ main.go | 5 ++--- 10 files changed, 73 insertions(+), 10 deletions(-) diff --git a/common/constant/api.go b/common/constant/api.go index 3525c4b8c..4e363b1ae 100644 --- a/common/constant/api.go +++ b/common/constant/api.go @@ -1,6 +1,6 @@ package constant var ( - MaxAPIRequestPerSecond uint32 = 10 + MaxAPIRequestPerSecond uint32 = 50 MaxAPILimitPerPage uint32 = 500 ) diff --git a/common/database/badgerdb.go b/common/database/badgerdb.go index 9bd5c9034..6a715ddd0 100644 --- a/common/database/badgerdb.go +++ b/common/database/badgerdb.go @@ -1,14 +1,19 @@ package database import ( + "expvar" "fmt" + "net/http" "os" "path/filepath" + "strconv" + "strings" "github.com/zoobc/zoobc-core/common/blocker" + "github.com/zoobc/zoobc-core/common/monitoring" - "github.com/dgraph-io/badger" - "github.com/dgraph-io/badger/options" + "github.com/dgraph-io/badger/v2" + "github.com/dgraph-io/badger/v2/options" ) var ( @@ -26,6 +31,24 @@ type ( BadgerDB struct{} ) +func InstrumentBadgerMetrics(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + badgerMetrics := make(map[string]float64) + + expvar.Do(func(kv expvar.KeyValue) { + isBadger := strings.Contains(kv.Key, "badger") + if isBadger { + parsedValue, err := strconv.ParseFloat(kv.Value.String(), 64) + if err == nil { + badgerMetrics[kv.Key] = parsedValue + } + } + }) + monitoring.SetBadgerMetrics(badgerMetrics) + next.ServeHTTP(w, r) + }) +} + // NewBadgerDB create new / fetch existing singleton BadgerDB instance. func NewBadgerDB() *BadgerDB { if badgerDbInstance == nil { diff --git a/common/kvdb/kvdb.go b/common/kvdb/kvdb.go index 79f7e2063..10eb1b798 100644 --- a/common/kvdb/kvdb.go +++ b/common/kvdb/kvdb.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/dgraph-io/badger" + "github.com/dgraph-io/badger/v2" ) type ( diff --git a/common/monitoring/metricsMonitoring.go b/common/monitoring/metricsMonitoring.go index 8dd352861..cc32f7487 100644 --- a/common/monitoring/metricsMonitoring.go +++ b/common/monitoring/metricsMonitoring.go @@ -4,11 +4,14 @@ import ( "database/sql" "fmt" "math" + "net/http" "reflect" + "sync" "github.com/zoobc/zoobc-core/common/chaintype" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/zoobc/zoobc-core/common/model" ) @@ -36,6 +39,9 @@ var ( apiRunningGaugeVector *prometheus.GaugeVec snapshotDownloadRequestCounter *prometheus.CounterVec dbStatGaugeVector *prometheus.GaugeVec + + badgerMetrics map[string]prometheus.Gauge + badgerMetricsLock sync.Mutex ) const ( @@ -64,6 +70,10 @@ const ( P2pRequestFileDownloadClient = "P2pRequestFileDownloadClient" ) +func Handler() http.Handler { + return promhttp.Handler() +} + func SetMonitoringActive(isActive bool) { isMonitoringActive = isActive @@ -389,3 +399,23 @@ func SetDatabaseStats(dbStat sql.DBStats) { dbStatGaugeVector.WithLabelValues("ConnectionsInUse").Set(float64(dbStat.InUse)) dbStatGaugeVector.WithLabelValues("ConnectionsWaitCount").Set(float64(dbStat.WaitCount)) } + +func SetBadgerMetrics(metrics map[string]float64) { + if badgerMetrics == nil { + badgerMetrics = make(map[string]prometheus.Gauge) + } + + for key, val := range metrics { + if _, ok := badgerMetrics[key]; !ok { + badgerMetricsLock.Lock() + if _, ok := badgerMetrics[key]; !ok { + badgerMetrics[key] = prometheus.NewGauge(prometheus.GaugeOpts{ + Name: key, + }) + prometheus.MustRegister(badgerMetrics[key]) + } + badgerMetricsLock.Unlock() + } + badgerMetrics[key].Set(val) + } +} diff --git a/common/schema b/common/schema index bc6bed528..36078eb40 160000 --- a/common/schema +++ b/common/schema @@ -1 +1 @@ -Subproject commit bc6bed5283da24c6ff7f868373ac425eb3565bd7 +Subproject commit 36078eb4028ac749d7491cd8cc1e2965cd14944a diff --git a/core/service/blockMainService.go b/core/service/blockMainService.go index 4904e3118..4f2312d42 100644 --- a/core/service/blockMainService.go +++ b/core/service/blockMainService.go @@ -11,7 +11,7 @@ import ( "strconv" "sync" - "github.com/dgraph-io/badger" + "github.com/dgraph-io/badger/v2" log "github.com/sirupsen/logrus" "github.com/zoobc/zoobc-core/common/blocker" "github.com/zoobc/zoobc-core/common/chaintype" diff --git a/core/service/mempoolCoreService.go b/core/service/mempoolCoreService.go index 2b745257e..7f70459c1 100644 --- a/core/service/mempoolCoreService.go +++ b/core/service/mempoolCoreService.go @@ -5,7 +5,7 @@ import ( "sort" "time" - "github.com/dgraph-io/badger" + "github.com/dgraph-io/badger/v2" log "github.com/sirupsen/logrus" "github.com/zoobc/zoobc-core/common/blocker" "github.com/zoobc/zoobc-core/common/chaintype" diff --git a/go.mod b/go.mod index cd52b9e14..01fb69606 100644 --- a/go.mod +++ b/go.mod @@ -8,6 +8,7 @@ require ( github.com/btcsuite/btcd v0.20.1-beta github.com/btcsuite/btcutil v1.0.1 github.com/dgraph-io/badger v1.6.0 + github.com/dgraph-io/badger/v2 v2.0.3 github.com/go-ole/go-ole v1.2.4 // indirect github.com/golang/mock v1.3.1-0.20190508161146-9fa652df1129 github.com/golang/protobuf v1.3.3 diff --git a/go.sum b/go.sum index aeb92719b..618588945 100644 --- a/go.sum +++ b/go.sum @@ -5,6 +5,8 @@ github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/DATA-DOG/go-sqlmock v1.4.1 h1:ThlnYciV1iM/V0OSF/dtkqWb6xo5qITT1TJBG1MRDJM= github.com/DATA-DOG/go-sqlmock v1.4.1/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DataDog/zstd v1.4.1 h1:3oxKN3wbHibqx897utPC2LTQU4J+IHWWJO+glkAkpFM= +github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= @@ -54,6 +56,10 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgraph-io/badger v1.6.0 h1:DshxFxZWXUcO0xX476VJC07Xsr6ZCBVRHKZ93Oh7Evo= github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= +github.com/dgraph-io/badger/v2 v2.0.3 h1:inzdf6VF/NZ+tJ8RwwYMjJMvsOALTHYdozn0qSl6XJI= +github.com/dgraph-io/badger/v2 v2.0.3/go.mod h1:3KY8+bsP8wI0OEnQJAKpd4wIJW/Mm32yw2j/9FUVnIM= +github.com/dgraph-io/ristretto v0.0.2-0.20200115201040-8f368f2f2ab3 h1:MQLRM35Pp0yAyBYksjbj1nZI/w6eyRY/mWoM1sFf4kU= +github.com/dgraph-io/ristretto v0.0.2-0.20200115201040-8f368f2f2ab3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= @@ -87,6 +93,8 @@ github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -200,6 +208,7 @@ github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIK github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= @@ -313,6 +322,7 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= diff --git a/main.go b/main.go index d79e909b9..b10069c44 100644 --- a/main.go +++ b/main.go @@ -17,8 +17,7 @@ import ( "syscall" "time" - "github.com/dgraph-io/badger" - "github.com/prometheus/client_golang/prometheus/promhttp" + "github.com/dgraph-io/badger/v2" log "github.com/sirupsen/logrus" "github.com/spf13/viper" "github.com/ugorji/go/codec" @@ -424,7 +423,7 @@ func startNodeMonitoring() { monitoring.SetNodePublicKey(defaultSignatureType.GetPublicKeyFromSeed(nodeSecretPhrase)) go func() { mux := http.NewServeMux() - mux.Handle("/metrics", promhttp.Handler()) + mux.Handle("/metrics", database.InstrumentBadgerMetrics(monitoring.Handler())) err := http.ListenAndServe(fmt.Sprintf(":%d", monitoringPort), mux) if err != nil { panic(fmt.Sprintf("failed to start monitoring service: %s", err)) From ad97048d7e3ebff2061f183178bbe32d3d02459e Mon Sep 17 00:00:00 2001 From: capt4ce Date: Fri, 8 May 2020 14:04:41 +0800 Subject: [PATCH 2/4] explicitly use badger v2 --- common/database/badgerdb.go | 2 +- common/kvdb/kvdb.go | 2 +- common/kvdb/kvdb_test.go | 2 +- core/service/blockMainService.go | 2 +- core/service/mempoolCoreService.go | 2 +- go.sum | 3 +++ main.go | 2 +- 7 files changed, 9 insertions(+), 6 deletions(-) diff --git a/common/database/badgerdb.go b/common/database/badgerdb.go index 6a715ddd0..d334e8e12 100644 --- a/common/database/badgerdb.go +++ b/common/database/badgerdb.go @@ -12,7 +12,7 @@ import ( "github.com/zoobc/zoobc-core/common/blocker" "github.com/zoobc/zoobc-core/common/monitoring" - "github.com/dgraph-io/badger/v2" + badger "github.com/dgraph-io/badger/v2" "github.com/dgraph-io/badger/v2/options" ) diff --git a/common/kvdb/kvdb.go b/common/kvdb/kvdb.go index 10eb1b798..dd109206e 100644 --- a/common/kvdb/kvdb.go +++ b/common/kvdb/kvdb.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/dgraph-io/badger/v2" + badger "github.com/dgraph-io/badger/v2" ) type ( diff --git a/common/kvdb/kvdb_test.go b/common/kvdb/kvdb_test.go index fbb91f78d..cc2e6c6f6 100644 --- a/common/kvdb/kvdb_test.go +++ b/common/kvdb/kvdb_test.go @@ -7,7 +7,7 @@ import ( "github.com/zoobc/zoobc-core/common/database" - "github.com/dgraph-io/badger" + badger "github.com/dgraph-io/badger/v2" ) func getMockedKVDb() *badger.DB { diff --git a/core/service/blockMainService.go b/core/service/blockMainService.go index 4f2312d42..58eba9d7c 100644 --- a/core/service/blockMainService.go +++ b/core/service/blockMainService.go @@ -11,7 +11,7 @@ import ( "strconv" "sync" - "github.com/dgraph-io/badger/v2" + badger "github.com/dgraph-io/badger/v2" log "github.com/sirupsen/logrus" "github.com/zoobc/zoobc-core/common/blocker" "github.com/zoobc/zoobc-core/common/chaintype" diff --git a/core/service/mempoolCoreService.go b/core/service/mempoolCoreService.go index 7f70459c1..91256c989 100644 --- a/core/service/mempoolCoreService.go +++ b/core/service/mempoolCoreService.go @@ -5,7 +5,7 @@ import ( "sort" "time" - "github.com/dgraph-io/badger/v2" + badger "github.com/dgraph-io/badger/v2" log "github.com/sirupsen/logrus" "github.com/zoobc/zoobc-core/common/blocker" "github.com/zoobc/zoobc-core/common/chaintype" diff --git a/go.sum b/go.sum index 618588945..3848a8e0e 100644 --- a/go.sum +++ b/go.sum @@ -7,6 +7,7 @@ github.com/DATA-DOG/go-sqlmock v1.4.1 h1:ThlnYciV1iM/V0OSF/dtkqWb6xo5qITT1TJBG1M github.com/DATA-DOG/go-sqlmock v1.4.1/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/zstd v1.4.1 h1:3oxKN3wbHibqx897utPC2LTQU4J+IHWWJO+glkAkpFM= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= @@ -208,6 +209,7 @@ github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIK github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= @@ -322,6 +324,7 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= diff --git a/main.go b/main.go index b10069c44..68c30772e 100644 --- a/main.go +++ b/main.go @@ -17,7 +17,7 @@ import ( "syscall" "time" - "github.com/dgraph-io/badger/v2" + badger "github.com/dgraph-io/badger/v2" log "github.com/sirupsen/logrus" "github.com/spf13/viper" "github.com/ugorji/go/codec" From 2f30ce2d208e0df268a81002c01ea6df4c8684c0 Mon Sep 17 00:00:00 2001 From: capt4ce Date: Fri, 8 May 2020 14:10:45 +0800 Subject: [PATCH 3/4] remove badgerdb v1 --- core/service/blockMainService_test.go | 2 +- core/service/blockSpineService_test.go | 2 +- core/service/mempoolCoreService_test.go | 2 +- core/util/receiptUtil_test.go | 2 +- go.mod | 1 - go.sum | 4 ---- 6 files changed, 4 insertions(+), 9 deletions(-) diff --git a/core/service/blockMainService_test.go b/core/service/blockMainService_test.go index b2cebcbb3..6dd70bddf 100644 --- a/core/service/blockMainService_test.go +++ b/core/service/blockMainService_test.go @@ -12,7 +12,7 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/dgraph-io/badger" + "github.com/dgraph-io/badger/v2" log "github.com/sirupsen/logrus" "github.com/zoobc/zoobc-core/common/chaintype" "github.com/zoobc/zoobc-core/common/constant" diff --git a/core/service/blockSpineService_test.go b/core/service/blockSpineService_test.go index 7b4226c08..68c3f4430 100644 --- a/core/service/blockSpineService_test.go +++ b/core/service/blockSpineService_test.go @@ -12,7 +12,7 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/dgraph-io/badger" + "github.com/dgraph-io/badger/v2" log "github.com/sirupsen/logrus" "github.com/zoobc/zoobc-core/common/chaintype" "github.com/zoobc/zoobc-core/common/constant" diff --git a/core/service/mempoolCoreService_test.go b/core/service/mempoolCoreService_test.go index 3cfe75328..063220b2c 100644 --- a/core/service/mempoolCoreService_test.go +++ b/core/service/mempoolCoreService_test.go @@ -9,7 +9,7 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/dgraph-io/badger" + "github.com/dgraph-io/badger/v2" log "github.com/sirupsen/logrus" "github.com/zoobc/zoobc-core/common/blocker" "github.com/zoobc/zoobc-core/common/chaintype" diff --git a/core/util/receiptUtil_test.go b/core/util/receiptUtil_test.go index 6f1156f8c..9b338fe53 100644 --- a/core/util/receiptUtil_test.go +++ b/core/util/receiptUtil_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - "github.com/dgraph-io/badger" + "github.com/dgraph-io/badger/v2" "github.com/zoobc/zoobc-core/common/chaintype" "github.com/zoobc/zoobc-core/common/constant" "github.com/zoobc/zoobc-core/common/kvdb" diff --git a/go.mod b/go.mod index 01fb69606..5557b3137 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,6 @@ require ( github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect github.com/btcsuite/btcd v0.20.1-beta github.com/btcsuite/btcutil v1.0.1 - github.com/dgraph-io/badger v1.6.0 github.com/dgraph-io/badger/v2 v2.0.3 github.com/go-ole/go-ole v1.2.4 // indirect github.com/golang/mock v1.3.1-0.20190508161146-9fa652df1129 diff --git a/go.sum b/go.sum index 3848a8e0e..cc7c77643 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,4 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9 h1:HD8gA2tkByhMAwYaFAX9w2l7vxvBQ5NMoxDrkhqhtn4= -github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/DATA-DOG/go-sqlmock v1.4.1 h1:ThlnYciV1iM/V0OSF/dtkqWb6xo5qITT1TJBG1MRDJM= @@ -55,8 +53,6 @@ github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgraph-io/badger v1.6.0 h1:DshxFxZWXUcO0xX476VJC07Xsr6ZCBVRHKZ93Oh7Evo= -github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger/v2 v2.0.3 h1:inzdf6VF/NZ+tJ8RwwYMjJMvsOALTHYdozn0qSl6XJI= github.com/dgraph-io/badger/v2 v2.0.3/go.mod h1:3KY8+bsP8wI0OEnQJAKpd4wIJW/Mm32yw2j/9FUVnIM= github.com/dgraph-io/ristretto v0.0.2-0.20200115201040-8f368f2f2ab3 h1:MQLRM35Pp0yAyBYksjbj1nZI/w6eyRY/mWoM1sFf4kU= From bbffa41d3afa365821969580c92dde0cbc3fecd3 Mon Sep 17 00:00:00 2001 From: capt4ce Date: Mon, 11 May 2020 13:05:12 +0800 Subject: [PATCH 4/4] revert MaxAPIRequestPerSecond to avoid nodes being overwhelmed by api calls --- common/constant/api.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/constant/api.go b/common/constant/api.go index 4e363b1ae..3525c4b8c 100644 --- a/common/constant/api.go +++ b/common/constant/api.go @@ -1,6 +1,6 @@ package constant var ( - MaxAPIRequestPerSecond uint32 = 50 + MaxAPIRequestPerSecond uint32 = 10 MaxAPILimitPerPage uint32 = 500 )