• Janoš Guljaš's avatar
    swarm/storage/localstore: global batch write lock (#19245) · 9a58a9b9
    Janoš Guljaš authored
    * swarm/storage/localstore: most basic database
    
    * swarm/storage/localstore: fix typos and comments
    
    * swarm/shed: add uint64 field Dec and DecInBatch methods
    
    * swarm/storage/localstore: decrement size counter on ModeRemoval update
    
    * swarm/storage/localstore: unexport modeAccess and modeRemoval
    
    * swarm/storage/localstore: add WithRetrievalCompositeIndex
    
    * swarm/storage/localstore: add TestModeSyncing
    
    * swarm/storage/localstore: fix test name
    
    * swarm/storage/localstore: add TestModeUpload
    
    * swarm/storage/localstore: add TestModeRequest
    
    * swarm/storage/localstore: add TestModeSynced
    
    * swarm/storage/localstore: add TestModeAccess
    
    * swarm/storage/localstore: add TestModeRemoval
    
    * swarm/storage/localstore: add mock store option for chunk data
    
    * swarm/storage/localstore: add TestDB_pullIndex
    
    * swarm/storage/localstore: add TestDB_gcIndex
    
    * swarm/storage/localstore: change how batches are written
    
    * swarm/storage/localstore: add updateOnAccess function
    
    * swarm/storage/localhost: add DB.gcSize
    
    * swarm/storage/localstore: update comments
    
    * swarm/storage/localstore: add BenchmarkNew
    
    * swarm/storage/localstore: add retrieval tests benchmarks
    
    * swarm/storage/localstore: accessors redesign
    
    * swarm/storage/localstore: add semaphore for updateGC goroutine
    
    * swarm/storage/localstore: implement basic garbage collection
    
    * swarm/storage/localstore: optimize collectGarbage
    
    * swarm/storage/localstore: add more garbage collection tests cases
    
    * swarm/shed, swarm/storage/localstore: rename IndexItem to Item
    
    * swarm/shed: add Index.CountFrom
    
    * swarm/storage/localstore: persist gcSize
    
    * swarm/storage/localstore: remove composite retrieval index
    
    * swarm/shed: IterateWithPrefix and IterateWithPrefixFrom Index functions
    
    * swarm/storage/localstore: writeGCSize function with leveldb batch
    
    * swarm/storage/localstore: unexport modeSetRemove
    
    * swarm/storage/localstore: update writeGCSizeWorker comment
    
    * swarm/storage/localstore: add triggerGarbageCollection function
    
    * swarm/storage/localstore: call writeGCSize on DB Close
    
    * swarm/storage/localstore: additional comment in writeGCSizeWorker
    
    * swarm/storage/localstore: add MetricsPrefix option
    
    * swarm/storage/localstore: fix a typo
    
    * swamr/shed: only one Index Iterate function
    
    * swarm/storage/localstore: use shed Iterate function
    
    * swarm/shed: pass a new byte slice copy to index decode functions
    
    * swarm/storage/localstore: implement feed subscriptions
    
    * swarm/storage/localstore: add more subscriptions tests
    
    * swarm/storage/localsore: add parallel upload test
    
    * swarm/storage/localstore: use storage.MaxPO in subscription tests
    
    * swarm/storage/localstore: subscription of addresses instead chunks
    
    * swarm/storage/localstore: lock item address in collectGarbage iterator
    
    * swarm/storage/localstore: fix TestSubscribePull to include MaxPO
    
    * swarm/storage/localstore: improve subscriptions
    
    * swarm/storage/localstore: add TestDB_SubscribePull_sinceAndUntil test
    
    * swarm/storage/localstore: adjust pull sync tests
    
    * swarm/storage/localstore: remove writeGCSizeDelay and use literal
    
    * swarm/storage/localstore: adjust subscriptions tests delays and comments
    
    * swarm/storage/localstore: add godoc package overview
    
    * swarm/storage/localstore: fix a typo
    
    * swarm/storage/localstore: update package overview
    
    * swarm/storage/localstore: remove repeated index change
    
    * swarm/storage/localstore: rename ChunkInfo to ChunkDescriptor
    
    * swarm/storage/localstore: add comment in collectGarbageWorker
    
    * swarm/storage/localstore: replace atomics with mutexes for gcSize and tests
    
    * swarm/storage/localstore: protect addrs map in pull subs tests
    
    * swarm/storage/localstore: protect slices in push subs test
    
    * swarm/storage/localstore: protect chunks in TestModePutUpload_parallel
    
    * swarm/storage/localstore: fix a race in TestDB_updateGCSem defers
    
    * swarm/storage/localstore: remove parallel flag from tests
    
    * swarm/storage/localstore: fix a race in testDB_collectGarbageWorker
    
    * swarm/storage/localstore: remove unused code
    
    * swarm/storage/localstore: add more context to pull sub log messages
    
    * swarm/storage/localstore: BenchmarkPutUpload and global lock option
    
    * swarm/storage/localstore: pre-generate chunks in BenchmarkPutUpload
    
    * swarm/storage/localstore: correct useGlobalLock in collectGarbage
    
    * swarm/storage/localstore: fix typos and update comments
    
    * swarm/storage/localstore: update writeGCSize comment
    
    * swarm/storage/localstore: global batch write lock
    
    * swarm/storage/localstore: remove global lock option
    
    * swarm/storage/localstore: simplify DB.Close
    9a58a9b9
gc_test.go 9.27 KB