Skip to content

Commit c2334bc

Browse files
authored
fix(adk): skip failover when error contains interrupt info (#1065)
In needFailover, check for compose.ExtractInterruptInfo before proceeding with failover logic. Interrupt errors should not trigger failover since they represent a pause/resume flow rather than an actual failure.
1 parent a9030b6 commit c2334bc

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

adk/failover_chatmodel.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"github.com/cloudwego/eino/callbacks"
2727
"github.com/cloudwego/eino/components"
2828
"github.com/cloudwego/eino/components/model"
29+
"github.com/cloudwego/eino/compose"
2930
"github.com/cloudwego/eino/schema"
3031
)
3132

@@ -240,6 +241,10 @@ func (f *failoverModelWrapper[M]) needFailover(ctx context.Context, outputMessag
240241
return false
241242
}
242243

244+
if _, ok := compose.ExtractInterruptInfo(outputErr); ok {
245+
return false
246+
}
247+
243248
// ErrStreamCanceled means the caller voluntarily abandoned the stream;
244249
// never retry or fail over in this case.
245250
if errors.Is(outputErr, ErrStreamCanceled) {

0 commit comments

Comments
 (0)