Skip to content

Commit 5e0fda1

Browse files
authored
Fix file opening in the retry loop of checking bytes. (#8727)
1 parent 3cfd012 commit 5e0fda1

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

app/lib/package/tarball_storage.dart

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,11 @@ class TarballStorage {
115115
return ContentMatchStatus.different;
116116
}
117117
// Limit memory use while doing the byte-to-byte comparison by streaming it chunk-wise.
118-
final raf = await file.open();
119-
var remainingLength = info.length;
120-
try {
121-
await _canonicalBucket.readWithRetry(objectName, (input) async {
118+
var remainingLength = -1;
119+
await _canonicalBucket.readWithRetry(objectName, (input) async {
120+
final raf = await file.open();
121+
remainingLength = info.length;
122+
try {
122123
await for (final chunk in input) {
123124
if (chunk.isEmpty) continue;
124125
remainingLength -= chunk.length;
@@ -131,10 +132,10 @@ class TarballStorage {
131132
return ContentMatchStatus.different;
132133
}
133134
}
134-
});
135-
} finally {
136-
await raf.close();
137-
}
135+
} finally {
136+
await raf.close();
137+
}
138+
});
138139
if (remainingLength != 0) {
139140
return ContentMatchStatus.different;
140141
}

0 commit comments

Comments
 (0)