Skip to content

Commit 3a30e8d

Browse files
committed
fix(queryexecutor): send code for succes with final block
1 parent da91f74 commit 3a30e8d

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

Diff for: responsemanager/queryexecutor/queryexecutor.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ func (qe *QueryExecutor) executeQuery(
120120
err := qe.runTraversal(p, rt)
121121

122122
_, isPaused := err.(hooks.ErrPaused)
123-
if isPaused {
123+
if err == nil || isPaused {
124124
return err
125125
}
126126

@@ -132,8 +132,6 @@ func (qe *QueryExecutor) executeQuery(
132132
// Close out the response, either temporarily (pause) or permanently (cancel, fail, complete)
133133
return rt.ResponseStream.Transaction(func(rb responseassembler.ResponseBuilder) error {
134134
switch err {
135-
case nil:
136-
rb.FinishRequest()
137135
case ErrFirstBlockLoad:
138136
rb.FinishWithError(graphsync.RequestFailedContentNotFound)
139137
case ErrCancelledByCommand:
@@ -259,6 +257,12 @@ func (qe *QueryExecutor) sendResponse(p peer.ID, taskData ResponseTask, link ipl
259257
return result.Err // halts the traversal and returns to the top-level `err`
260258
}
261259
}
260+
if err == nil {
261+
isComplete, err := taskData.Traverser.IsComplete()
262+
if isComplete && err == nil {
263+
rb.FinishRequest()
264+
}
265+
}
262266
return err
263267
})
264268
}

0 commit comments

Comments
 (0)