feat(index): cross-process lock, unlock CLI, and errors.log#129
Conversation
Acquire <state-dir>/index.lock before indexing with in-process serialization, fail-fast when another live indexer holds the lock, and append parse failures to errors.log. Adds codemap unlock for stale lock recovery.
🦋 Changeset detectedLatest commit: 53d1553 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Warning Review limit reached
Your plan includes 1 review of capacity. Refill in 34 minutes and 50 seconds. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more review capacity refills, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than trial, open-source, and free plans. In all cases, review capacity refills continuously over time. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (13)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
<state-dir>/index.lock(JSON{ pid, started_at }) with in-process serialization inrunCodemapIndexcodemap unlock [--force]to recover from crashed indexers<state-dir>/errors.log(gitignored via state-dir reconciler)Implements PR 3 /
index-lock-and-error-log.parse-worker-hardeningremains a follow-up stack commit.Test plan
bun test src/application/index-lock.test.tsbun test src/application/run-index.test.tscodemapindexes — second fails with unlock hintcodemap unlockafter kill -9