@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix loop in QueryIterator when row count is an exact multiple of page size

Summary: Ref T13152. The pager does a bit of magic here and doesn't populate `nextPageID` when it knows it got an exact final page. The logic misfired in this case and sent us back to the start.

Test Plan:
- Set page size to 1 to guarantee rows were an exact multiple of page size.
- Ran `rebuild-identities` (I no-op'd the actual logic to make it faster).
- Before: looped forever.
- After: clean exit after processing everything.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13152

Differential Revision: https://secure.phabricator.com/D19479

+1 -1
+1 -1
src/infrastructure/storage/lisk/PhabricatorQueryIterator.php
··· 29 29 30 30 // If we got less than a full page of results, this was the last set of 31 31 // results. Throw away the pager so we end iteration. 32 - if (count($results) < $pager->getPageSize()) { 32 + if (!$pager->getHasMoreResults()) { 33 33 $this->pager = null; 34 34 } else { 35 35 $this->pager->setAfterID($pager->getNextPageID());