HomeRunner Central — Database Report

Performance & Sync Health

March 10, 2026 · 6:16 PM UTC Queue empty 22,694 stuck syncs
Customers
201
Platforms
219
Properties
11,583
Reservations
21,118
Failed Jobs (all-time)
163,619
326 in last 7 days

Sync Activity — Last 7 Days

Error rate rising
4.0%
Mar 3
3.9%
Mar 4
0.6%
Mar 5
1.2%
Mar 6
2.6%
Mar 7
0.05%
Mar 8
3.1%
Mar 9
5.4%
Mar 10*
Date Total Completed Failed Error Rate Avg Duration Max
Mar 3 848 769 34 4.01%
16.6 min 61.9 min
Mar 4 1,939 1,860 75 3.87%
16.7 min 54.3 min
Mar 5 2,061 2,045 12 0.58%
17.7 min 60.5 min
Mar 6 1,781 1,752 22 1.24%
23.2 min 133.1 min
Mar 7 1,974 1,923 51 2.58%
17.1 min 60.9 min
Mar 8 2,117 2,116 1 0.05%
15.7 min 58.4 min
Mar 9 1,873 1,810 58 3.10%
23.5 min 63.8 min
Mar 10 * 1,197 1,092 65 5.43%
20.9 min 64.0 min
* Partial day — data through ~6:16 PM UTC

Today's Errors

138 failed jobs
StreamlineVRS IndexDTO type mismatch — $last_update_prices expects string, received stdClass
Code Bug
119
SyncPropertyDataJob — max attempts exceeded
Retry Limit
21
SyncPlatformPropertiesJob — max attempts exceeded
Retry Limit
18
SendWebhookJob — 525 SSL handshake / 403 Cloudflare challenge
External
5
Root cause: The StreamlineVRS DTO bug accounts for 86% of all failed jobs today. Only platform affected: Five Star Luxury Travel (Streamline) with 83 failed sync runs. All other platforms are completing normally.

Stuck Sync Backlog

Critical
Orphaned "Running"
22,694
Never completed or failed
Actually Running Now
~25
Started < 2 hrs ago
Oldest Stuck
355d
Since March 20, 2025
Monthly accumulation of stuck records
Oct '25
163
Nov '25
1,185
Dec '25
2,915
Jan '26
11,104
Feb '26
6,619
Mar '26
479 so far

March Projection

21 days remaining
PeriodStuckAvg / Day
Mar 1–3 (spike)444148
Mar 4–10 (post-spike)355
Trend is strongly positive. After the Mar 2–3 burst (215/day each), the daily rate dropped to ~5/day. Even the moderate projection is 4.4× better than February.
Optimistic
~584
Post-spike rate holds
5/day × 21 remaining
Moderate
~1,487
Blended March average
48/day × 21 remaining
Pessimistic
2,000–3,000
Another burst event
like Mar 2–3 occurs
Risk factor: The Streamline DTO bug generating today's 138 failures could trigger another burst if it starts orphaning sync processes. Fixing it reduces the chance of the pessimistic scenario.

Recommendations

1
Fix StreamlineVRS IndexDTO type mismatch
The $last_update_prices parameter in IndexDTO::__construct() receives stdClass instead of string. Cast to JSON string or update the type hint. This one bug generates 86% of today's failures.
2
Purge 22,694 stuck sync records
Batch-update orphaned "running" records (older than 2 hours) to "timed_out". They inflate health metrics and obscure real running syncs. Single UPDATE query resolves it.
3
Add a sync timeout reaper
Implement a scheduled job that marks syncs as timed out if they exceed 2 hours. The Jan 2026 spike (11K in one month) indicates the completion callback path broke silently. A reaper prevents future accumulation.
4
Investigate Five Star Luxury Travel sync failures
Only failing platform today (83 failed sync runs). Likely the same DTO bug cascading into sync-level failures. May need a Streamline API response format review.
5
Archive old failed_jobs
163K records total, only 326 from last 7 days. Truncate or archive entries older than 90 days to keep the table lean.