joerghoh opened a new pull request, #3253:
URL: https://github.com/apache/jackrabbit-oak/pull/3253

   Avoid unnecessary property counting:
   - `Node.getProperties()` no longer eagerly counts properties. Consuming the 
full iterator without requesting its size requires one enumeration pass instead 
of two.
   - Iterator sizes are cached until the session update counter changes, 
avoiding repeated scans for filtered iterators.
   - `Node.hasProperties()` stops at the first readable property rather than 
counting them all.
   
   `PropertyIteratorDelegate` supports filtered and unfiltered iterators 
through a shared lazy-size implementation.
   
   Deferred size calculation runs inside `SessionDelegate.safePerform()` 
because the operation creating the iterator has already finished. This provides 
session locking and any required refresh before checking cache validity or 
counting.
   
   ## Behavior change
   
   Unfiltered iterator sizes were previously captured at creation. They are now 
calculated on demand and recalculated after session updates; the iteration 
itself is not rebuilt.


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to