Skip to content

(feat): Add a retry mechanism with a longer timeout for ingesting larger repositories #428

@shubhamnikam

Description

@shubhamnikam

Feature summary

Timeout errors occur with large repositories, so consider increasing or making the timeout configurable to handle them more gracefully.

Problem / motivation

  • For repositories like Chromium or Linux, a timeout error always occurs.
  • I understand that such large repositories might represent only 5–10% of cases, but many private and proprietary repositories can also be quite large.
  • Can we consider increasing the timeout in such scenarios or making it configurable to handle large repositories more gracefully?
Image

Proposed solution

  1. Add a retry mechanism (at least once) for timeout-related errors and increase the timeout from 60 seconds to 180 seconds. (We can make this value configurable for tuning based on needs.)
  2. Allow the UI to accept a toggle-based input parameter to indicate whether the repository is large.
    This is a better approach, as the user knows more about their repository than we do, and in such cases, we can avoid retries altogether.
    • if flag yes -> increase the timeout
    • if flag no -> default timeout

In both cases, we can also improve the UX by notifying the user if the operation takes more than 60 seconds.
e.g., showing a toast or a notice indicating that it may take longer to complete.

Which interface would this affect?

All

How important is this to you?

Important

Would you like to work on this feature yourself?

Maybe, if I get some guidance

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions