From f706027db9c9510d0f047d76f01fa7622ab21958 Mon Sep 17 00:00:00 2001 From: Qi Xiao Date: Wed, 27 Mar 2019 16:59:29 +0800 Subject: [PATCH 1/2] Reduce meta key length using byte version database id --- sqlchain/chain.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sqlchain/chain.go b/sqlchain/chain.go index eaf6bb6ef..b2b7f87b7 100644 --- a/sqlchain/chain.go +++ b/sqlchain/chain.go @@ -181,6 +181,12 @@ func NewChainWithContext(ctx context.Context, c *Config) (chain *Chain, err erro return } + metaKeyPrefix, err := c.DatabaseID.AccountAddress() + if err != nil { + err = errors.Wrap(err, "failed to generate database meta prefix") + return + } + // Create chain state chain = &Chain{ bi: newBlockIndex(), @@ -199,9 +205,9 @@ func NewChainWithContext(ctx context.Context, c *Config) (chain *Chain, err erro pk: pk, addr: &addr, - metaBlockIndex: utils.ConcatAll([]byte(c.DatabaseID), metaBlockIndex[:]), - metaResponseIndex: utils.ConcatAll([]byte(c.DatabaseID), metaResponseIndex[:]), - metaAckIndex: utils.ConcatAll([]byte(c.DatabaseID), metaAckIndex[:]), + metaBlockIndex: utils.ConcatAll(metaKeyPrefix[:], metaBlockIndex[:]), + metaResponseIndex: utils.ConcatAll(metaKeyPrefix[:], metaResponseIndex[:]), + metaAckIndex: utils.ConcatAll(metaKeyPrefix[:], metaAckIndex[:]), } le = le.WithField("peer", chain.rt.getPeerInfoString()) From 2e93401dce9248e35dc3a9306c14b8c42438785c Mon Sep 17 00:00:00 2001 From: Qi Xiao Date: Wed, 27 Mar 2019 17:42:00 +0800 Subject: [PATCH 2/2] Fix database test case using valid database id --- worker/db_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/worker/db_test.go b/worker/db_test.go index 9fa895340..a4d290ee5 100644 --- a/worker/db_test.go +++ b/worker/db_test.go @@ -70,7 +70,7 @@ func TestSingleDatabase(t *testing.T) { // create file cfg := &DBConfig{ - DatabaseID: "TEST", + DatabaseID: "00000bef611d346c0cbe1beaa76e7f0ed705a194fdf9ac3a248ec70e9c198bf9", DataDir: rootDir, KayakMux: kayakMuxService, ChainMux: chainMuxService, @@ -409,7 +409,7 @@ func TestInitFailed(t *testing.T) { // create file cfg := &DBConfig{ - DatabaseID: "TEST", + DatabaseID: "00000bef611d346c0cbe1beaa76e7f0ed705a194fdf9ac3a248ec70e9c198bf9", DataDir: rootDir, KayakMux: kayakMuxService, ChainMux: chainMuxService, @@ -463,7 +463,7 @@ func TestDatabaseRecycle(t *testing.T) { // create file cfg := &DBConfig{ - DatabaseID: "TEST", + DatabaseID: "00000bef611d346c0cbe1beaa76e7f0ed705a194fdf9ac3a248ec70e9c198bf9", DataDir: rootDir, KayakMux: kayakMuxService, ChainMux: chainMuxService,