Steve Yegge
f987722f96
Code review fixes for cache eviction (bd-145)
Oracle-recommended improvements:
**Thread Safety:**
- Fix lastAccess race: updates now under Write lock
- Make Stop() idempotent with sync.Once
- Close stores synchronously (not in goroutine)
**Performance:**
- Replace O(n²) sort with sort.Slice (O(n log n))
- Enforce LRU immediately on insert (prevents FD spikes)
**Correctness:**
- Canonicalize cache key to repo root (not cwd)
- Prevents duplicate connections for same repo
- Multiple subdirs → single cache entry
- Validate env vars: TTL <= 0 falls back to default
**Tests (6 new edge cases):**
- Canonical key behavior across subdirectories
- Immediate LRU enforcement without periodic cleanup
- Invalid TTL handling
- Re-open after eviction
- Stop idempotency
- All tests pass with -race flag
This addresses potential data races, resource spikes, and duplicate
connections identified during code review.
2025-10-18 13:24:59 -07:00
..
2025-10-16 23:46:12 -07:00
2025-10-18 00:37:27 -07:00
2025-10-16 22:49:19 -07:00
2025-10-18 00:37:27 -07:00
2025-10-16 23:46:12 -07:00
2025-10-18 13:24:59 -07:00
2025-10-18 13:24:59 -07:00
2025-10-16 23:46:12 -07:00