[GitHub] [lucene] colvinco opened a new pull request, #12123: Generate gradle.properties from gradlew
colvinco opened a new pull request, #12123: URL: https://github.com/apache/lucene/pull/12123 Applying the changes from https://github.com/apache/solr/pull/1320 to move generation of gradle.properties out of gradle itself, into a java class called from `gradlew`. -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] janhoy commented on a diff in pull request #12123: Generate gradle.properties from gradlew
janhoy commented on code in PR #12123: URL: https://github.com/apache/lucene/pull/12123#discussion_r1094533850 ## gradle/generation/local-settings.gradle: ## @@ -41,87 +41,12 @@ configure(rootProject) { throw new GradleException( "Certain gradle tasks and plugins require access to jdk.compiler" + " internals, your gradle.properties might have just been generated or could be" + -" out of sync (see help/localSettings.txt)") - } -} - } - - task localSettings() { -doFirst { - // If we don't have the defaults yet, create them. - if (hasDefaults) { -logger.lifecycle("Local settings already exist, skipping generation.") - } else { -// Approximate a common-sense default for running gradle/tests with parallel -// workers: half the count of available cpus but not more than 12. -def cpus = Runtime.runtime.availableProcessors() -def maxWorkers = (int) Math.max(1d, Math.min(cpus * 0.5d, 12)) -def testsJvms = (int) Math.max(1d, Math.min(cpus * 0.5d, 12)) - -// Write the defaults for this machine. -rootProject.file("gradle.properties").write(""" -# These settings have been generated automatically on the first run. -# See gradlew :helpLocalSettings for more information. -systemProp.file.encoding=UTF-8 - -# Set up gradle JVM defaults. -# -# We also open up internal compiler modules for spotless/ google java format. -org.gradle.jvmargs=-Xmx1g -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -XX:ActiveProcessorCount=1 \\ - --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \\ - --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \\ - --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \\ - --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \\ - --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED - -# Run at normal priority, in parallel -org.gradle.parallel=true -org.gradle.priority=normal - -# This setting enables local task output caches. This will speed up -# your local builds in most cases but will also consume disk space in your -# gradle home. See LUCENE-10195 and/or SOLR-15603 for details. -# org.gradle.caching=true - -# Silence gradle warnings. We'll deal with them when we upgrade the wrapper. -org.gradle.warning.mode=none - -# You may disable the background daemon if it consumes too much memory. -org.gradle.daemon=true -# timeout after 15 mins of inactivity. -org.gradle.daemon.idletimeout=90 - -# Maximum number of parallel gradle workers. -org.gradle.workers.max=${maxWorkers} - -# Maximum number of test JVMs forked per test task. -tests.jvms=${testsJvms} - -# Enable auto JVM provisioning. -org.gradle.java.installations.auto-download=true - -# Set these to enable automatic JVM location discovery. -org.gradle.java.installations.fromEnv=JAVA17_HOME,JAVA19_HOME,JAVA20_HOME,JAVA21_HOME,RUNTIME_JAVA_HOME -#org.gradle.java.installations.paths=(custom paths) - -""", "UTF-8") - -logger.log(LogLevel.WARN, "\nIMPORTANT. This is the first time you ran the build. " + -"I wrote some sane defaults (for this machine) to 'gradle.properties', " + -"they will be picked up on consecutive gradle invocations (not this one).\n\n" + -"Run gradlew :helpLocalSettings for more information.") +" out of sync (see gradle/template.gradle.properties)") } } } } -if (!hasDefaults) { - // Make all tasks depend on local setup to make sure it'll run. - allprojects { -tasks.all { task -> - if (task != rootProject.localSettings) { -task.dependsOn rootProject.localSettings - } -} - } +task localSettings() { + // This is just a placeholder until all references to the localSettings task are removed #SOLR-16641 Review Comment: Reference this PR number istead of Solr JIRA -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] colvinco commented on a diff in pull request #12123: Generate gradle.properties from gradlew
colvinco commented on code in PR #12123: URL: https://github.com/apache/lucene/pull/12123#discussion_r1094544617 ## gradle/generation/local-settings.gradle: ## @@ -41,87 +41,12 @@ configure(rootProject) { throw new GradleException( "Certain gradle tasks and plugins require access to jdk.compiler" + " internals, your gradle.properties might have just been generated or could be" + -" out of sync (see help/localSettings.txt)") - } -} - } - - task localSettings() { -doFirst { - // If we don't have the defaults yet, create them. - if (hasDefaults) { -logger.lifecycle("Local settings already exist, skipping generation.") - } else { -// Approximate a common-sense default for running gradle/tests with parallel -// workers: half the count of available cpus but not more than 12. -def cpus = Runtime.runtime.availableProcessors() -def maxWorkers = (int) Math.max(1d, Math.min(cpus * 0.5d, 12)) -def testsJvms = (int) Math.max(1d, Math.min(cpus * 0.5d, 12)) - -// Write the defaults for this machine. -rootProject.file("gradle.properties").write(""" -# These settings have been generated automatically on the first run. -# See gradlew :helpLocalSettings for more information. -systemProp.file.encoding=UTF-8 - -# Set up gradle JVM defaults. -# -# We also open up internal compiler modules for spotless/ google java format. -org.gradle.jvmargs=-Xmx1g -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -XX:ActiveProcessorCount=1 \\ - --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \\ - --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \\ - --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \\ - --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \\ - --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED - -# Run at normal priority, in parallel -org.gradle.parallel=true -org.gradle.priority=normal - -# This setting enables local task output caches. This will speed up -# your local builds in most cases but will also consume disk space in your -# gradle home. See LUCENE-10195 and/or SOLR-15603 for details. -# org.gradle.caching=true - -# Silence gradle warnings. We'll deal with them when we upgrade the wrapper. -org.gradle.warning.mode=none - -# You may disable the background daemon if it consumes too much memory. -org.gradle.daemon=true -# timeout after 15 mins of inactivity. -org.gradle.daemon.idletimeout=90 - -# Maximum number of parallel gradle workers. -org.gradle.workers.max=${maxWorkers} - -# Maximum number of test JVMs forked per test task. -tests.jvms=${testsJvms} - -# Enable auto JVM provisioning. -org.gradle.java.installations.auto-download=true - -# Set these to enable automatic JVM location discovery. -org.gradle.java.installations.fromEnv=JAVA17_HOME,JAVA19_HOME,JAVA20_HOME,JAVA21_HOME,RUNTIME_JAVA_HOME -#org.gradle.java.installations.paths=(custom paths) - -""", "UTF-8") - -logger.log(LogLevel.WARN, "\nIMPORTANT. This is the first time you ran the build. " + -"I wrote some sane defaults (for this machine) to 'gradle.properties', " + -"they will be picked up on consecutive gradle invocations (not this one).\n\n" + -"Run gradlew :helpLocalSettings for more information.") +" out of sync (see gradle/template.gradle.properties)") } } } } -if (!hasDefaults) { - // Make all tasks depend on local setup to make sure it'll run. - allprojects { -tasks.all { task -> - if (task != rootProject.localSettings) { -task.dependsOn rootProject.localSettings - } -} - } +task localSettings() { + // This is just a placeholder until all references to the localSettings task are removed #SOLR-16641 Review Comment: ```suggestion // This is just a placeholder until all references to the localSettings task are removed. See PR #12123 ``` -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] ioanatia commented on issue #11829: Reproducible TestShapeDocValues failure
ioanatia commented on issue #11829: URL: https://github.com/apache/lucene/issues/11829#issuecomment-1413856068 the test fails because right from the start the random generated polygon is invalid: https://github.com/apache/lucene/blob/5acca826330b2afc15b6a2d5e2134d7d1a64e4a9/lucene/core/src/test/org/apache/lucene/document/TestShapeDocValues.java#L89 we can modify `BaseXYShapeTestCase.ShapeType.POLYGON.nextShape()` to always return a polygon that would not fail the self intersections check: https://github.com/apache/lucene/blob/5acca826330b2afc15b6a2d5e2134d7d1a64e4a9/lucene/core/src/test/org/apache/lucene/document/BaseXYShapeTestCase.java#L229 if we change `random().nextBoolean()` to `true` - the test succeeds when it's run with the same seed like in the PR description. it looks like this is a safe change since `POLYGON.nextShape()` has limited usage. -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] ioanatia opened a new pull request, #12124: Always generate a XYPolygon with no self intersections in test
ioanatia opened a new pull request, #12124: URL: https://github.com/apache/lucene/pull/12124 ### Description https://github.com/apache/lucene/issues/11829 `BaseXYShapeTestCase.ShapeType.POLYGON.nextShape()` can return polygons that can fail the self intersection check, which then cause failed test like `TestShapeDocValues.testXYPolygonCentroid`. -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] benwtrent commented on issue #11419: Explore moving HNSW's NeighborQueue to a radix heap [LUCENE-10383]
benwtrent commented on issue #11419: URL: https://github.com/apache/lucene/issues/11419#issuecomment-1413927792 Doing some minor digging into this. From what I can tell there are two things that use the heap logic: - candidate tracking (max_heap) - Nearest neighbor tracking (min_heap) A radixheap COULD work for the nearest neighbor tracking as it is monotonic. But some initial testing shows that our candidate tracking isn't monotonic. We will pop candidates and add candidates and their changes will not be monotonic. Once we start removing items from the `min_heap`, it is only for smaller items, or when we are removing to get the top_k. -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] rmuir commented on pull request #12118: Add `FeatureQuery` weight caching in non-scoring case
rmuir commented on PR #12118: URL: https://github.com/apache/lucene/pull/12118#issuecomment-1413950962 > For the record this need comes from implementing sparse retrieval similarly to what's discussed at #11799, so `FeatureField` no longer stores features but regular terms here. One option is to reuse `FeatureField` for this. Another option could be to reuse `TermQuery` by configuring the `Similarity`'s `SimScorer` to properly decode the frequency. I think this is where my confusion is. Hopefully sparse retrieval is implemented in a way that doesn't require this codepath and still takes advantage of WAND-skipping. But I think this change is OK for the use-case of faceting: if you are going to put FeatureQuery in a required clause for some reason (to me this is unrelated to any sparse retrieval, an app may just want a feature to be required for a particular search), then to support facets that reflect that, you need to disable scores to count correctly. Maybe add a comment above it in the code, something like `// e.g. for faceting` so that it doesn't cause confusion. -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] jpountz commented on pull request #12116: Improve document API for stored fields.
jpountz commented on PR #12116: URL: https://github.com/apache/lucene/pull/12116#issuecomment-1413971039 I went one step further: - StringField now implements storedValue() instead of relying on the guessing of Field#storedValue() - IntField, LongField, FloatField and DoubleField now support storing the value This looks good to me overall, so I marked the PR as ready for review, what do you think? -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] jpountz merged pull request #12124: Always generate a XYPolygon with no self intersections in test
jpountz merged PR #12124: URL: https://github.com/apache/lucene/pull/12124 -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] rmuir commented on issue #12115: org.apache.lucene.search.uhighlight.TestUnifiedHighlighterTermVec.testFetchTermVecsOncePerDoc fails reproducibly
rmuir commented on issue #12115: URL: https://github.com/apache/lucene/issues/12115#issuecomment-1413981821 I think @romseygeek explanation makes sense. Wrapping the reader is not helpful to testing that the highlighter uses it correctly, it just causes complexity? To me the easiest fix would be to remove the `callStackContains(ParallelLeafReader) stuff from the `AssertOnceTermVecDirectoryReader`, and to replace `newSearcher(ir);` with `newSearcher(ir, false); // don't wrap the reader with Parallel or other wrappers in this test`. -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] colvinco commented on pull request #12123: Generate gradle.properties from gradlew
colvinco commented on PR #12123: URL: https://github.com/apache/lucene/pull/12123#issuecomment-1414014200 Sorry for the force push, I initially committed from the wrong account -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] rmuir commented on pull request #12116: Improve document API for stored fields.
rmuir commented on PR #12116: URL: https://github.com/apache/lucene/pull/12116#issuecomment-1414053507 Thanks for removing the type-guessing from the "structured" fields and supporting store! Can we fix the class-level javadocs for `IntField` & co? They still say this: "If you also need to store the value, you should add a separate StoredField instance." -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] jpountz commented on pull request #12116: Improve document API for stored fields.
jpountz commented on PR #12116: URL: https://github.com/apache/lucene/pull/12116#issuecomment-1414128335 Thanks for catching this, I just pushed a fix. -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] benwtrent merged pull request #12118: Add `FeatureQuery` weight caching in non-scoring case
benwtrent merged PR #12118: URL: https://github.com/apache/lucene/pull/12118 -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] rmuir commented on a diff in pull request #12116: Improve document API for stored fields.
rmuir commented on code in PR #12116: URL: https://github.com/apache/lucene/pull/12116#discussion_r1094947639 ## lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java: ## @@ -43,7 +38,7 @@ * * For every document, {@link #startDocument()} is called, informing the Codec that a new * document has started. - * {@link #writeField(FieldInfo, IndexableField)} is called for each field in the document. + * {@link #writeField} is called for each field in the document. Review Comment: would maybe just change this to `{@code writeField}`. Not sure which one of the overloaded methods it links too now? -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] rmuir commented on a diff in pull request #12116: Improve document API for stored fields.
rmuir commented on code in PR #12116: URL: https://github.com/apache/lucene/pull/12116#discussion_r1094948098 ## lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java: ## @@ -57,17 +52,31 @@ public abstract class StoredFieldsWriter implements Closeable, Accountable { protected StoredFieldsWriter() {} /** - * Called before writing the stored fields of the document. {@link #writeField(FieldInfo, - * IndexableField)} will be called for each stored field. Note that this is called even if the - * document has no stored fields. + * Called before writing the stored fields of the document. {@link #writeField} will be called for Review Comment: similar here, i think `{@code` would be better -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] rmuir commented on a diff in pull request #12116: Improve document API for stored fields.
rmuir commented on code in PR #12116: URL: https://github.com/apache/lucene/pull/12116#discussion_r1094948838 ## lucene/core/src/java/org/apache/lucene/codecs/StoredFieldsWriter.java: ## @@ -104,9 +113,9 @@ public int nextDoc() { /** * Merges in the stored fields from the readers in mergeState. The default * implementation skips over deleted documents, and uses {@link #startDocument()}, {@link - * #writeField(FieldInfo, IndexableField)}, and {@link #finish(int)}, returning the number of - * documents that were written. Implementations can override this method for more sophisticated - * merging (bulk-byte copying, etc). + * #writeField}, and {@link #finish(int)}, returning the number of documents that were written. Review Comment: one last ambiguous `@link` that might better be `@code` -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] rmuir opened a new issue, #12125: Fix Field.java documentation to refer to new IntField/FloatField/LongField/DoubleField
rmuir opened a new issue, #12125: URL: https://github.com/apache/lucene/issues/12125 ### Description Currently Field.java has these docs: ``` /** * Expert: directly create a field for a document. Most users should use one of the sugar * subclasses: * * * {@link TextField}: {@link Reader} or {@link String} indexed for full-text search * {@link StringField}: {@link String} indexed verbatim as a single token * {@link IntPoint}: {@code int} indexed for exact/range queries. * {@link LongPoint}: {@code long} indexed for exact/range queries. * {@link FloatPoint}: {@code float} indexed for exact/range queries. * {@link DoublePoint}: {@code double} indexed for exact/range queries. * {@link SortedDocValuesField}: {@code byte[]} indexed column-wise for sorting/faceting * {@link SortedSetDocValuesField}: {@code SortedSet} indexed column-wise for * sorting/faceting * {@link NumericDocValuesField}: {@code long} indexed column-wise for sorting/faceting * {@link SortedNumericDocValuesField}: {@code SortedSet} indexed column-wise for * sorting/faceting * {@link StoredField}: Stored-only value for retrieving in summary results * ``` I think it would be better to bring this up-to-date. We can at least replace `IntPoint`, `LongPoint`, `FloatPoint`, and `DoublePoint` with `IntField`, `LongField`, `FloatField`, and `DoubleField`. Each one of these classes also documents/links you to look at more expert classes (e.g. `IntPoint`, `SortedNumericDocValuesField`, `StoredField`) if you want expert control. But it would be better to point the user to these new easier-to-use field subclasses. -- 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: issues-unsubscr...@lucene.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org
[GitHub] [lucene] zhaih opened a new pull request, #12126: Refactor part of IndexFileDeleter and ReplicaFileDeleter into a common utility class
zhaih opened a new pull request, #12126: URL: https://github.com/apache/lucene/pull/12126 ### Description See #11885 ### Approach I extracted mainly the ref counting part into the new `FileDeleter` so that both `IndexFileDeleter` and `ReplicaFileDeleter` will use it as a component. It does not provide any level of thread-safety since the `IndexFileDeleter` originally was implemented in a lock-free way, so the user of this new `FileDeleter` is responsible for the synchronization if necessary. ### Test I haven't written any specific test for this since I feel like the existing tests (mainly `TestIndexFileDeleter`) should already provide a good coverage -- 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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org