**docs: add detailed concurrency analysis and implementation documentation**
- Introduced `CONCURRENCY_ANALYSIS.md` to outline identified concurrency issues, including statistics handling, index synchronization, and storage contention. - Added `CONCURRENCY_IMPLEMENTATION_SUMMARY.md` to summarize concurrency improvements, such as distributed locking and change log mechanisms. - Created `STORAGE_CONCURRENCY_ANALYSIS.md` to evaluate concurrency risks and applied solutions for different storage adapters (`S3CompatibleStorage`, `FileSystemStorage`, `OPFSStorage`, and `MemoryStorage`). - Updated codebase with changes related to concurrency, including distributed locking, atomic updates, event-driven synchronization, and change log support. - Refactored tests to verify behavior of new concurrency mechanisms, including robust error handling and cleanup functions. **Purpose**: Provides comprehensive documentation and implementation details to ensure robust concurrency handling in multi-instance, high-throughput environments.
This commit is contained in:
parent
0fe1486a89
commit
ac01527a6b
11 changed files with 1558 additions and 80 deletions
|
|
@ -174,15 +174,24 @@ const runStorageTests = (adapterName: string, createStorageAdapter: () => Promis
|
|||
// Clear the database
|
||||
await brainyInstance.clear()
|
||||
|
||||
// Debug: Check what's in the HNSW index after clear
|
||||
const nounsInIndex = brainyInstance.index.getNouns()
|
||||
if (nounsInIndex.size > 0) {
|
||||
console.log(`HNSW index still has ${nounsInIndex.size} nouns after clear:`)
|
||||
for (const [id, noun] of nounsInIndex) {
|
||||
console.log(` - ${id}: ${noun.text}`)
|
||||
}
|
||||
}
|
||||
|
||||
// Verify it's empty
|
||||
let size = await brainyInstance.size()
|
||||
let size = brainyInstance.size()
|
||||
expect(size).toBe(0)
|
||||
|
||||
// Restore from backup
|
||||
await brainyInstance.restore(backup)
|
||||
|
||||
// Verify data was restored
|
||||
size = await brainyInstance.size()
|
||||
size = brainyInstance.size()
|
||||
expect(size).toBe(2)
|
||||
|
||||
// Verify specific items
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue