You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug#35293781 testNdbApi TestFragmentedSend times out in autotest since Mar 29th
Regression caused by patch for Bug#35185670 mysqld crashes on expensive query
Original patch introduced a bug in FragmentedSectionIterator if we as part
of FragmentedSectionIterator::setRange(start,len) attempted to set up
a range of 'len == 0' starting at a position past the end of the data
being available from the underlying iterator. As part of the setRange(),
::moveToPos(start) attempted to iterate to the specified start position.
As that position could never be reached, it ended up in an infinite
loop instead, or hit an assert with debug compiled binaries.
Patch introduce a check+return of we reached the end of the underlying
iterator breaking out of this loop.
Note that this would also leave us with a 'lastReadPtr == NULL'.
That state was already an accepted invariant of the
FragmentedSectionIterator class - but only if the underlying iterator
contained no data, and we were positioned 'pos == 0'.
Patch extend the 'lastReadPtr == NULL' state to also be allowed
when we have positioned past the end of the underlying iterator.
This also allows us to slightly simplify the getNextWords() iteration
within moveToPos().
Change-Id: Ie5290a862d20a80cc225af61685af017d3c0d3c4
(cherry picked from commit 6c0680d27848d6fe4ecbe215f26cefd34b01a0e6)
0 commit comments