Steve Yegge
9088988edd
Improve staleness check error handling and optimization (bd-n4td, bd-o4qy, bd-c4rq)
This commit implements three related improvements to database staleness checking:
**bd-n4td (P2): Add warning when staleness check errors**
- Added stderr warnings when CheckStaleness fails in ensureDatabaseFresh
- Users now see "Warning: could not check database staleness: <error>"
- Provides visibility into staleness check failures while allowing operations to proceed
**bd-o4qy (P2): Improve CheckStaleness error handling**
- Updated CheckStaleness to distinguish between expected and abnormal conditions:
* Returns (false, nil) for expected "no data yet" scenarios (missing metadata, missing JSONL)
* Returns (false, err) for abnormal errors (glob failures, permission errors)
- Updated RPC server (2 locations) to log staleness errors but allow requests to proceed
- Prevents blocking operations due to transient staleness check issues
- Added comprehensive function documentation
**bd-c4rq (P3): Refactor staleness check to avoid function call overhead**
- Moved daemon check from inside ensureDatabaseFresh to all 8 call sites
- Avoids unnecessary function call when running in daemon mode
- Updated: list.go, info.go, status.go, show.go, stale.go, duplicates.go, ready.go, validate.go
- Extracted staleness functions to new staleness.go for better organization
**Code review fixes:**
- Removed dead code in CheckStaleness (unreachable jsonlPath == "" check)
- Removed unused ensureDatabaseFreshQuiet function
**Files changed:**
- New: cmd/bd/staleness.go (extracted staleness checking functions)
- Modified: 8 command files (added daemon check before staleness calls)
- Modified: internal/autoimport/autoimport.go (improved error handling)
- Modified: internal/rpc/server_export_import_auto.go (handle errors gracefully)
2025-11-20 20:45:39 -05:00
..
2025-11-20 19:37:01 -05:00
2025-11-12 10:48:36 -08:00
2025-11-09 14:58:03 -08:00
2025-11-04 00:23:25 -08:00
2025-11-08 18:16:39 -08:00
2025-11-02 10:01:38 -08:00
2025-11-02 10:38:24 -08:00
2025-11-20 20:21:37 -05:00
2025-11-07 22:06:50 -08:00
2025-11-20 19:11:27 -05:00
2025-11-03 22:23:36 -08:00
2025-11-03 22:23:36 -08:00
2025-11-17 10:12:46 -07:00
2025-11-02 15:37:57 -08:00
2025-11-04 23:12:42 -08:00
2025-11-20 20:39:23 -05:00
2025-11-05 20:39:47 -08:00
2025-11-06 20:14:34 -08:00
2025-11-05 21:04:00 -08:00
2025-11-07 21:17:24 -08:00
2025-11-05 10:26:58 -08:00
2025-11-07 18:57:43 -08:00
2025-11-07 21:29:22 -08:00
2025-11-05 20:39:47 -08:00
2025-11-02 22:17:08 -08:00
2025-11-07 18:57:43 -08:00
2025-11-07 18:57:43 -08:00
2025-11-10 10:22:03 -08:00
2025-11-05 20:39:47 -08:00
2025-11-20 19:00:36 -05:00
2025-11-01 21:27:09 -07:00
2025-11-19 05:06:12 -05:00
2025-11-05 20:39:47 -08:00
2025-11-02 22:17:08 -08:00
2025-11-05 20:39:47 -08:00
2025-11-05 20:39:47 -08:00
2025-11-20 08:13:06 -08:00
2025-11-19 05:07:16 -05:00
2025-11-20 08:13:06 -08:00
2025-11-08 03:10:12 -08:00
2025-11-02 18:52:44 -08:00
2025-11-08 02:20:33 -08:00
2025-11-15 12:52:34 -08:00
2025-11-02 22:34:24 -08:00
2025-11-02 08:09:58 -08:00
2025-11-08 18:16:39 -08:00
2025-11-18 05:20:11 -05:00
2025-11-20 19:37:01 -05:00
2025-11-20 20:45:39 -05:00
2025-11-02 18:52:44 -08:00
2025-11-05 10:26:58 -08:00
2025-11-01 20:29:13 -07:00
2025-11-19 05:06:12 -05:00
2025-11-07 20:07:59 -08:00
2025-11-05 14:31:41 -08:00
2025-11-19 05:06:12 -05:00
2025-11-20 19:11:27 -05:00
2025-11-05 20:39:47 -08:00
2025-11-09 14:53:59 -08:00
2025-11-17 10:06:35 -07:00
2025-11-17 10:12:46 -07:00
2025-11-19 05:06:12 -05:00
2025-11-09 14:53:59 -08:00
2025-11-06 13:01:44 -08:00
2025-11-08 00:00:43 -08:00
2025-11-20 19:00:36 -05:00
2025-11-08 02:28:54 -08:00
2025-11-20 20:45:39 -05:00
2025-11-17 10:12:46 -07:00
2025-11-17 10:06:35 -07:00
2025-11-05 19:04:14 -08:00
2025-11-09 14:13:48 -08:00
2025-11-20 19:24:26 -05:00
2025-11-01 22:01:41 -07:00
2025-11-20 20:33:52 -05:00
2025-11-01 20:29:13 -07:00
2025-11-02 22:34:24 -08:00
2025-11-06 20:00:08 -08:00
2025-11-20 20:45:39 -05:00
2025-11-08 13:09:42 -08:00
2025-11-15 12:46:13 -08:00
2025-11-20 19:11:27 -05:00
2025-11-20 20:24:36 -05:00
2025-11-15 12:52:34 -08:00
2025-11-20 19:01:30 -05:00
2025-11-20 19:01:30 -05:00
2025-11-17 10:12:46 -07:00
2025-11-02 14:31:22 -08:00
2025-11-08 18:16:39 -08:00
2025-11-09 14:53:59 -08:00
2025-11-09 14:53:59 -08:00
2025-11-17 11:32:37 -07:00
2025-11-17 11:32:37 -07:00
2025-11-17 10:12:46 -07:00
2025-11-20 20:45:39 -05:00
2025-11-02 11:02:58 -08:00
2025-11-02 22:34:24 -08:00
2025-11-01 23:56:03 -07:00
2025-11-04 23:12:41 -08:00
2025-11-04 11:25:36 -08:00
2025-11-12 10:48:36 -08:00
2025-11-20 20:45:39 -05:00
2025-11-17 10:12:46 -07:00
2025-11-20 20:45:39 -05:00
2025-11-20 20:45:39 -05:00
2025-11-06 18:49:07 -08:00
2025-11-20 20:45:39 -05:00
2025-11-09 16:16:45 -08:00
2025-11-05 18:10:06 -08:00
2025-11-02 17:09:39 -08:00
2025-11-20 20:33:52 -05:00
2025-11-03 20:31:11 -08:00
2025-11-03 20:31:11 -08:00
2025-11-03 22:01:37 -08:00
2025-11-07 21:58:22 -08:00
2025-11-04 01:10:18 -08:00
2025-11-20 20:45:39 -05:00
2025-11-05 17:37:53 -08:00
2025-11-16 18:10:46 -07:00
2025-11-08 18:22:28 -08:00
2025-11-05 21:04:00 -08:00