fix(storage): resolve persistence restart bug across all storage adapters
Critical bug fix that restores data persistence after application restart for all storage adapters (GCS, S3, OPFS, FileSystem). **Root Cause:** Storage adapters were loading entity counts from _system/counts.json but not returning totalCount in pagination methods, causing rebuildIndexesIfNeeded() to see undefined and incorrectly assume no data existed. **Changes:** - GCS Storage: Return totalCount in getNodesWithPagination() and getVerbsWithPagination() - S3 Storage: Call initializeCounts() in init() and return totalCount in pagination methods - OPFS Storage: Call initializeCounts() in init() to load pre-calculated counts - BaseStorage: Add defensive validation to prevent future adapters from missing totalCount **Impact:** - Production deployments now work correctly (Cloud Run, AWS, Kubernetes) - Data persists correctly across container restarts - Serverless scale-to-zero deployments now functional - All storage adapters use O(1) pre-calculated counts (scales to millions of entities) **Testing:** - Build passes with no TypeScript errors - All existing tests pass - Defensive validation ensures future storage adapters won't have this bug Fixes critical production issue affecting all persistent storage deployments.
This commit is contained in:
parent
c502b56bb4
commit
01e89fffca
4 changed files with 40 additions and 17 deletions
|
|
@ -132,6 +132,9 @@ export class OPFSStorage extends BaseStorage {
|
|||
create: true
|
||||
})
|
||||
|
||||
// Initialize counts from storage
|
||||
await this.initializeCounts()
|
||||
|
||||
this.isInitialized = true
|
||||
} catch (error) {
|
||||
console.error('Failed to initialize OPFS storage:', error)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue