Skip to content

Commit 7d92cc0

Browse files
authored
fix(issue1526): avoid completing future before search complete (AutoMQ#1531)
Signed-off-by: Shichao Nie <niesc@automq.com>
1 parent 801649d commit 7d92cc0

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

metadata/src/main/java/org/apache/kafka/image/S3StreamsMetadataImage.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ void getObjects0(GetObjectsContext ctx) {
161161
int streamSetObjectIndex = 0;
162162
fillObjects(ctx, stream, objects, lastRangeIndex, streamObjectIndex, streamObjects, streamSetObjectIndex,
163163
null, null);
164-
ctx.cf.complete(new InRangeObjects(streamId, objects));
165164
}
166165

167166
void fillObjects(GetObjectsContext ctx, S3StreamMetadataImage stream, List<S3ObjectMetadata> objects, int lastRangeIndex,
@@ -200,6 +199,7 @@ void fillObjects(GetObjectsContext ctx, S3StreamMetadataImage stream, List<S3Obj
200199
// 1. can not find the range containing nextStartOffset, or
201200
// 2. the range is the same as the last one, which means the nextStartOffset does not move on.
202201
if (rangeIndex < 0 || lastRangeIndex == rangeIndex) {
202+
ctx.cf.complete(new InRangeObjects(ctx.streamId, objects));
203203
break;
204204
}
205205
lastRangeIndex = rangeIndex;

0 commit comments

Comments
 (0)