> On Apr 8, 2021, at 3:11 PM, Robert Haas <robertmh...@gmail.com> wrote:
> 
> On Thu, Apr 8, 2021 at 5:21 PM Mark Dilger <mark.dil...@enterprisedb.com> 
> wrote:
>> All this leads me to believe that we should report the following:
>> 
>> 1) If the total number of chunks retrieved differs from the expected number, 
>> report how many we expected vs. how many we got
>> 2) If the chunk_seq numbers are discontiguous, report each discontiguity.
>> 3) If the index scan returned chunks out of chunk_seq order, report that
>> 4) If any chunk is not the expected size, report that
>> 
>> So, for your example of chunk 1 missing from chunks [0..17], we'd report 
>> that we got one fewer chunks than we expected, that the second chunk seen 
>> was discontiguous from the first chunk seen, that the final chunk seen was 
>> smaller than expected by M bytes, and that the total size was smaller than 
>> we expected by N bytes.  The third of those is somewhat misleading, since 
>> the final chunk was presumably the right size; we just weren't expecting to 
>> hit a partial chunk quite yet.  But I don't see how to make that better in 
>> the general case.
> 
> Hmm, that might be OK. It seems like it's going to be a bit verbose in
> simple cases like 1 missing chunk, but on the plus side, it avoids a
> mountain of output if the raw size has been overwritten with a
> gigantic bogus value. But, how is #2 different from #3? Those sound
> like the same thing to me.

#2 is if chunk_seq goes up but skips numbers.  #3 is if chunk_seq ever goes 
down, meaning the index scan did something unexpected.

—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company





Reply via email to