You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by GitBox <gi...@apache.org> on 2021/01/26 19:55:11 UTC

[GitHub] [phoenix] stoty commented on pull request #1112: PHOENIX-6340 Infinitely looping ResultSet.next()

stoty commented on pull request #1112:
URL: https://github.com/apache/phoenix/pull/1112#issuecomment-767788988


   There are two issues here.
   
   The one that I am fixing is that RoundRobinResultIterator doesn't close itself when every iterator 's last element is the last cached one, and will re-initialize its iterator list on the next next() call.
   
   The other, deeper problem is that even if those iterators are re-initialized, they should still be at the their last element, and not start returning their contents again.
   
   Most of the the time this doesn't happen, I couldn't repro this in an IT, and even sqlline calls almost the same methods in both modes, yet the bug triggers only with BufferedRows.
   
   So the second issue seems to be a timing/race  issue.
   
   The bug is old, but it was masked by ResultSet close() -ing itself at last row. This was removed as this caused problem with many apps. This patch does the same thing that ResultSet used to do, only one level lower.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org