From 5ed5a5cbc272c38042992d39effae3d7fba239b3 Mon Sep 17 00:00:00 2001 From: "Daniel A. Nagy" Date: Mon, 9 Feb 2015 16:36:11 +0100 Subject: [PATCH 1/2] Test localStore in its entirety. --- bzz/dpa_test.go | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/bzz/dpa_test.go b/bzz/dpa_test.go index a514654124..1d12d06428 100644 --- a/bzz/dpa_test.go +++ b/bzz/dpa_test.go @@ -2,7 +2,6 @@ package bzz import ( "bytes" - "fmt" "github.com/ethereum/go-ethereum/bzz/test" "os" "testing" @@ -16,25 +15,23 @@ func TestDPA(t *testing.T) { if err != nil { t.Errorf("DB error: %v", err) } - // memStore := newMemStore(dbStore) - // localStore := &localStore{ - // memStore, - // dbStore, - // } + memStore := newMemStore(dbStore) + localStore := &localStore{ + memStore, + dbStore, + } chunker := &TreeChunker{} chunker.Init() dpa := &DPA{ Chunker: chunker, - ChunkStore: dbStore, + ChunkStore: localStore, } dpa.Start() - reader, slice := testDataReader(0x100) - fmt.Printf("Chunk size: %d.", len(slice)) + reader, slice := testDataReader(0x1000000) key, err := dpa.Store(reader) if err != nil { t.Errorf("Store error: %v", err) } - // time.Sleep(2 * time.Second) resultReader := dpa.Retrieve(key) resultSlice := make([]byte, len(slice)) n, err := resultReader.ReadAt(resultSlice, 0) @@ -47,5 +44,4 @@ func TestDPA(t *testing.T) { if !bytes.Equal(slice, resultSlice) { t.Errorf("Comparison error.") } - // time.Sleep(time.Second) } From bea138d1111376cfb36ed70df5eb566d40c2591c Mon Sep 17 00:00:00 2001 From: "Daniel A. Nagy" Date: Mon, 9 Feb 2015 17:05:33 +0100 Subject: [PATCH 2/2] DPA test with deleted memstore, localstore Put with background db access. --- bzz/dbstore.go | 1 - bzz/dpa_test.go | 15 +++++++++++++++ bzz/localstore.go | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/bzz/dbstore.go b/bzz/dbstore.go index f942440dad..a904362ecf 100644 --- a/bzz/dbstore.go +++ b/bzz/dbstore.go @@ -286,7 +286,6 @@ func (s *dbStore) Put(chunk *Chunk) { batch.Put(ikey, idata) s.db.Write(batch) - } // try to find index; if found, update access cnt and return true diff --git a/bzz/dpa_test.go b/bzz/dpa_test.go index 1d12d06428..82dfb40a2c 100644 --- a/bzz/dpa_test.go +++ b/bzz/dpa_test.go @@ -44,4 +44,19 @@ func TestDPA(t *testing.T) { if !bytes.Equal(slice, resultSlice) { t.Errorf("Comparison error.") } + localStore.memStore = newMemStore(dbStore) + resultReader = dpa.Retrieve(key) + for i, _ := range resultSlice { + resultSlice[i] = 0 + } + n, err = resultReader.ReadAt(resultSlice, 0) + if err != nil { + t.Errorf("Retrieve error after removing memStore: %v", err) + } + if n != len(slice) { + t.Errorf("Slice size error after removing memStore got %d, expected %d.", n, len(slice)) + } + if !bytes.Equal(slice, resultSlice) { + t.Errorf("Comparison error after removing memStore.") + } } diff --git a/bzz/localstore.go b/bzz/localstore.go index d5689b5245..6170ddf4c2 100644 --- a/bzz/localstore.go +++ b/bzz/localstore.go @@ -10,7 +10,7 @@ type localStore struct { // its integrity is checked ? func (self *localStore) Put(chunk *Chunk) { self.memStore.Put(chunk) - self.dbStore.Put(chunk) + go self.dbStore.Put(chunk) } // Get(chunk *Chunk) looks up a chunk in the local stores