From f60dab4ec4a4c324da15b68eb81cfd9588f17811 Mon Sep 17 00:00:00 2001 From: Ryan Old Date: Tue, 4 Mar 2025 11:22:43 -0800 Subject: [PATCH 1/2] Backporting timeout fix --- changelog/v0.32.2/backport-timeout-fix.yaml | 4 ++++ codegen/collector/extractor.go | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 changelog/v0.32.2/backport-timeout-fix.yaml diff --git a/changelog/v0.32.2/backport-timeout-fix.yaml b/changelog/v0.32.2/backport-timeout-fix.yaml new file mode 100644 index 000000000..5a60647c5 --- /dev/null +++ b/changelog/v0.32.2/backport-timeout-fix.yaml @@ -0,0 +1,4 @@ +changelog: +- type: FIX + description: + Backporting timeout fix from 0.34.5. \ No newline at end of file diff --git a/codegen/collector/extractor.go b/codegen/collector/extractor.go index 9117345e2..b05607183 100644 --- a/codegen/collector/extractor.go +++ b/codegen/collector/extractor.go @@ -87,9 +87,10 @@ func (i *synchronizedImportsExtractor) FetchImportsForFile(protoFile string, imp i.activeRequestsMu.Unlock() select { - case <-time.After(5 * time.Second): - // We should never reach this. This can only occur if we deadlock on file imports - // which only happens with cyclic dependencies + case <-time.After(15 * time.Second): + // We should never reach this in an ideal scenario. If we do, it means that + // we either have a deadlock or golang is being very slow. + // The deadlock occurs on file imports with cyclic dependencies. // Perhaps a safer alternative to erroring is just to execute the importsFetcher: // return importsFetcher(protoFile) return nil, FetchImportsTimeout(protoFile) From 22892203aaa21581b6996575d12e294924b1d509 Mon Sep 17 00:00:00 2001 From: Ryan Old Date: Tue, 4 Mar 2025 11:28:44 -0800 Subject: [PATCH 2/2] Fixing changelog --- changelog/v0.32.2/backport-timeout-fix.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/changelog/v0.32.2/backport-timeout-fix.yaml b/changelog/v0.32.2/backport-timeout-fix.yaml index 5a60647c5..580fbd04f 100644 --- a/changelog/v0.32.2/backport-timeout-fix.yaml +++ b/changelog/v0.32.2/backport-timeout-fix.yaml @@ -1,4 +1,5 @@ changelog: - type: FIX - description: - Backporting timeout fix from 0.34.5. \ No newline at end of file + description: Backporting timeout fix from 0.34.5. + issueLink: https://github.com/solo-io/solo-projects/issues/7909 + resolvesIssue: false \ No newline at end of file