File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -160,6 +160,16 @@ impl CoalescedRequest {
160160 req,
161161 )
162162 }
163+ if req. offset . saturating_add ( req. length as u64 ) <= range. end {
164+ vortex_bail ! (
165+ "CoalescedRequest: sub-request for length {} at file offset {} exceeds the coalesced range: {}..{}. {:?}" ,
166+ req. length,
167+ req. offset,
168+ range. start,
169+ range. end,
170+ req,
171+ )
172+ }
163173 }
164174 Ok ( Self {
165175 range,
@@ -173,36 +183,6 @@ impl CoalescedRequest {
173183 }
174184
175185 pub fn resolve ( self , result : VortexResult < BufferHandle > ) {
176- let result = result. and_then ( |buffer| {
177- let buffer_len = buffer. len ( ) as u64 ;
178-
179- for req in self . requests . iter ( ) {
180- // We check on construction that req.offset >= range.start.
181- let request_offset = req. offset - self . range . start ;
182-
183- if request_offset > buffer_len {
184- vortex_bail ! (
185- "CoalescedRequest: sub-request for length {} at buffer offset {} (file offset {}) is unsatisfiable by buffer of length {}." ,
186- req. length,
187- request_offset,
188- req. offset,
189- buffer_len
190- )
191- }
192- let request_end = request_offset. saturating_add ( req. length as u64 ) ;
193- if request_end > buffer_len {
194- vortex_bail ! (
195- "CoalescedRequest: sub-request for length {} at buffer offset {} (file offset {}) is unsatisfiable by buffer of length {}." ,
196- req. length,
197- request_offset,
198- req. offset,
199- buffer_len
200- )
201- }
202- }
203- Ok ( buffer)
204- } ) ;
205-
206186 match result {
207187 Ok ( buffer) => {
208188 let base = match buffer. ensure_aligned ( Alignment :: none ( ) ) {
You can’t perform that action at this time.
0 commit comments