LearnNewsExamplesServices
Frontmatter
id9128
titleImplement Adaptive Chunking for DevIndex Updater to Fix 504 Timeouts
stateClosed
labels
bugenhancementai
assigneestobiu
createdAtFeb 13, 2026, 2:01 AM
updatedAtFeb 13, 2026, 2:06 AM
githubUrlhttps://github.com/neomjs/neo/issues/9128
authortobiu
commentsCount1
parentIssue9106
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 13, 2026, 2:06 AM

Implement Adaptive Chunking for DevIndex Updater to Fix 504 Timeouts

Closed v12.0.0 bugenhancementai
tobiu
tobiu commented on Feb 13, 2026, 2:01 AM

I have verified that the user davidhu2000 is NOT a heavy public user (created 2015, 46 repos, 182 followers), but fetching their contribution data in a 4-year chunk consistently fails with a 504 Gateway Timeout.

However, fetching a 1-year chunk succeeds instantly.

This confirms that the issue is likely due to a specific data quirk or hidden complexity (e.g., massive private contributions) that makes the 4-year query too expensive for GitHub to compute in one go.

Solution: Adaptive Chunking We will modify Updater.mjs to implement a smart fallback:

  1. Attempt to fetch the standard 4-year chunk.
  2. If it fails (throws an error), catch it.
  3. Log a warning and switch to fetching the years one by one for that specific chunk.

This ensures the updater remains fast for normal users while automatically handling these edge cases without crashing.

tobiu added the bug label on Feb 13, 2026, 2:01 AM
tobiu added the enhancement label on Feb 13, 2026, 2:01 AM
tobiu added the ai label on Feb 13, 2026, 2:01 AM
tobiu assigned to @tobiu on Feb 13, 2026, 2:01 AM
tobiu added parent issue #9106 on Feb 13, 2026, 2:02 AM
tobiu referenced in commit 18362ce - "feat(devindex): Implement adaptive chunking for updater (#9128)" on Feb 13, 2026, 2:05 AM
tobiu
tobiu Feb 13, 2026, 2:05 AM

Input from Gemini 3 Pro:

✦ I have implemented the "Adaptive Chunking" logic in Updater.mjs.

Now, if a 4-year chunk fetch fails (e.g., due to a timeout), the updater will:

  1. Log a warning: [Updater] [${username}] Batch failed (2022-2025). Falling back to single years...
  2. Switch to fetching each year individually (2022, then 2023, etc.).
  3. If an individual year fails, it will correctly propagate the error and mark the user as failed.

This ensures robust handling of users like davidhu2000 who were timing out on large batches.

tobiu closed this issue on Feb 13, 2026, 2:06 AM
tobiu cross-referenced by #9130 on Feb 13, 2026, 2:24 AM