Skip to content

LDEV-5903 fix PageSourcePool leak when PhysicalClassLoader flushes#2751

Open
zspitzer wants to merge 6 commits intolucee:6.2from
zspitzer:LDEV-5903-redux
Open

LDEV-5903 fix PageSourcePool leak when PhysicalClassLoader flushes#2751
zspitzer wants to merge 6 commits intolucee:6.2from
zspitzer:LDEV-5903-redux

Conversation

@zspitzer
Copy link
Copy Markdown
Member

Multiple Mappings can share the same PhysicalClassLoader (same classRootDirectory), but the classloader only held a reference to a single PageSourcePool. When the classloader flushed, only that one pool's pages were cleared - other mappings' pools were never notified, causing stale Page references to accumulate.

The fix changes pageSourcePool from a single field to a Set, with mappings registering their pools via registerPageSourcePool(). On flush, all registered pools are cleared.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant