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]
