forked from apache/lucene
-
Notifications
You must be signed in to change notification settings - Fork 0
SAI-5884: Unload unused Fields|DocValues Producers #38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
magibney
wants to merge
36
commits into
fs/branch_9_11
Choose a base branch
from
resource-unloading
base: fs/branch_9_11
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
dd8542b
Allow unused FieldsProducers and DocValuesProducers to be unloaded
magibney e89c1a5
add test
magibney 7420c74
fix tests -- mostly around Directory closing
magibney b6fabe6
allow backing val to be GC'd
magibney a1d1185
safer one-time set of external refqueue handling
magibney 4e76298
reorder field assignments in Unloader ctor (NPE, etc.)
magibney 826da66
Unloader ctor should hold a ref to prevent immediate collection
magibney 4946d5c
also unload PointsReader
magibney e77fb9b
sysprop-configurable totally disable unloading
magibney dee742d
must incRef before derivative refs
magibney b14f3e1
use explicit method to prevent dead ref GC
magibney c236ad0
always track the _raw_ instance
magibney 8950ded
fix regression where shared objects were tracked
magibney 232b9d5
make lucene.unload.parallelRefQueueCount sysprop-configurable (power …
magibney 1f9eef3
make lucene.unload.assignRefQueueByThread sysprop-configurable (defau…
magibney 2becf0b
place refs in a pre-tracking "holding area"
magibney c0fd643
add all available sysprops to defaults-tests.gradle
magibney bbd92fc
Ref should extent PhantomReference, not WeakReference
magibney 3518392
Only directly track top-level objects
magibney 7c76dfc
do ref-tracking on an arbitrary resource-associated sentinel object
magibney 33842e1
remove the "holding" concept
magibney 42f945d
reduce num of refs?
magibney 7c3a368
checkpoint before excising refqueue stuff
magibney 9f9aeda
we don't actually need refcounts -- much simpler
magibney f5723d4
remove unused args
magibney 63d4ae0
allow helper-controlled deferral of unloading
magibney aa4f3c8
support disabling "adaptive defer"
magibney eb89ad8
measuring time since last access makes no sense on initial load (mess…
magibney b21c134
fix typo in sysprop name
magibney 454a430
expose time parsing method publicly
magibney 46e1d72
add public method javaodocs
magibney d37e17b
support per-format disabling of unloading
magibney f16d509
move Unloader invocation to PerFieldPostingsFormat and PerFieldDocVal…
magibney c55f071
temporary commit for evaluting reload paths
magibney a180020
more nuanced disabling of unloading
magibney 0c25238
CFS is the wrong heuristic for unload enable
magibney File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Incorrect directory access in PerFieldDocValuesFormat
The code accesses
srs.segmentInfo.dirto pass a Directory toUnloader.docValuesProducer(), but SegmentInfo does not have adirproperty. This should besrs.directoryinstead, matching the usage pattern inPerFieldPostingsFormat.javaline 334. This will cause an AttributeError or similar runtime exception.