Skip to content

Commit 71585bc

Browse files
committed
[dwds] Add unbatching retry mechanism for failing batched expression evals.
1 parent edcfbf1 commit 71585bc

File tree

1 file changed

+26
-27
lines changed

1 file changed

+26
-27
lines changed

dwds/lib/src/services/batched_expression_evaluator.dart

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -134,38 +134,37 @@ class BatchedExpressionEvaluator extends ExpressionEvaluator {
134134
first.scope,
135135
);
136136

137+
final listId = list.objectId;
138+
if (listId == null) {
139+
for (final request in requests) {
140+
safeUnawaited(_evaluateBatch([request]));
141+
}
142+
return;
143+
}
144+
137145
for (var i = 0; i < requests.length; i++) {
138146
final request = requests[i];
139147
if (request.completer.isCompleted) continue;
140148
_logger.fine('Getting result out of a batch for ${request.expression}');
141149

142-
final listId = list.objectId;
143-
if (listId == null) {
144-
final error = createError(
145-
EvaluationErrorKind.internal,
146-
'No batch result object ID.',
147-
);
148-
request.completer.complete(error);
149-
} else {
150-
safeUnawaited(
151-
_inspector
152-
.getProperties(
153-
listId,
154-
offset: i,
155-
count: 1,
156-
length: requests.length,
157-
)
158-
.then((v) {
159-
final result = v.first.value!;
160-
_logger.fine(
161-
'Got result out of a batch for ${request.expression}: $result',
162-
);
163-
request.completer.complete(result);
164-
}),
165-
onError: (error, stackTrace) =>
166-
request.completer.completeError(error, stackTrace),
167-
);
168-
}
150+
safeUnawaited(
151+
_inspector
152+
.getProperties(
153+
listId,
154+
offset: i,
155+
count: 1,
156+
length: requests.length,
157+
)
158+
.then((v) {
159+
final result = v.first.value!;
160+
_logger.fine(
161+
'Got result out of a batch for ${request.expression}: $result',
162+
);
163+
request.completer.complete(result);
164+
}),
165+
onError: (error, stackTrace) =>
166+
request.completer.completeError(error, stackTrace),
167+
);
169168
}
170169
}
171170
}

0 commit comments

Comments
 (0)