diff --git a/swarm/storage/ldbstore.go b/swarm/storage/ldbstore.go index 6619a02d5b..e79d0f918a 100644 --- a/swarm/storage/ldbstore.go +++ b/swarm/storage/ldbstore.go @@ -707,6 +707,7 @@ func (s *LDBStore) get(key Key) (chunk *Chunk, err error) { } chunk = NewChunk(key, nil) + close(chunk.dbStored) decodeData(data, chunk) } else { err = ErrChunkNotFound diff --git a/swarm/storage/memstore.go b/swarm/storage/memstore.go index 7f7c282dc4..5a1ff04c57 100644 --- a/swarm/storage/memstore.go +++ b/swarm/storage/memstore.go @@ -230,6 +230,7 @@ func (s *MemStore) Get(hash Key) (chunk *Chunk, err error) { l := hash.bits(bitpos, node.bits) st := node.subtree[l] if st == nil { + log.Trace("memstore.get ErrChunkNotFound", "key", hash) return nil, ErrChunkNotFound } bitpos += node.bits @@ -251,6 +252,7 @@ func (s *MemStore) Get(hash Key) (chunk *Chunk, err error) { err = ErrChunkNotFound } + log.Trace("memstore.get return", "key", hash, "chunk", chunk, "err", err) return } @@ -298,11 +300,11 @@ func (s *MemStore) removeOldest() { } - log.Trace(fmt.Sprintf("Memstore Clean: Waiting for chunk %v to be saved", node.entry.Key.Log())) - <-node.entry.dbStored - log.Trace(fmt.Sprintf("Memstore Clean: Chunk %v saved to DBStore. Ready to clear from mem.", node.entry.Key.Log())) - if node.entry.ReqC == nil { + log.Trace(fmt.Sprintf("Memstore Clean: Waiting for chunk %v to be saved", node.entry.Key.Log())) + <-node.entry.dbStored + log.Trace(fmt.Sprintf("Memstore Clean: Chunk %v saved to DBStore. Ready to clear from mem.", node.entry.Key.Log())) + memstoreRemoveCounter.Inc(1) node.entry = nil s.entryCnt--