Test-framework compressing codecs are documented as "CompressionCodec"; the base class is CompressingCodec

Aperta Adatta ai principianti
#16,928 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@hidingmyname ci sta già lavorando.

Dal 29/10/2026.

  • #16949 di @hidingmyname — aperta

Valutazione

Difficoltà
1/5
Tempo stimato
1-3 ore
Idoneità per principianti
94/100
Tipo di issue
Documentazione
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
java
Ambito
documentation

Direzione di ricerca

Leggi gli Javadocs delle sei classi in lucene/test-framework/src/java/org/apache/lucene/tests/codecs/compressing/, incluso dummy/DummyCompressingCodec.java. Modifica ogni descrizione affinché rimandi a CompressingCodec, come mostrato nell’issue. Controlla i sei commenti per confermare che si riferiscano alla classe base esistente; la documentazione è completata quando nessuno descrive un CompressionCodec inesistente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

All six concrete codecs in org.apache.lucene.tests.codecs.compressing start
their class javadoc with "CompressionCodec that ...". No CompressionCodec
class exists anywhere in the repo. They all extend CompressingCodec, which
lives in the same package.

Where

lucene/test-framework/src/java/org/apache/lucene/tests/codecs/compressing/:

// dummy/DummyCompressingCodec.java:30
/** CompressionCodec that does not compress data, useful for testing. */

// DeflateWithPresetCompressingCodec.java:21
/** CompressionCodec that uses {@link DeflateWithPresetDictCompressionMode}. */
public class DeflateWithPresetCompressingCodec extends CompressingCodec {

// FastCompressingCodec.java:21
/** CompressionCodec that uses {@link CompressionMode#FAST} */
public class FastCompressingCodec extends CompressingCodec {

// FastDecompressionCompressingCodec.java:21
/** CompressionCodec that uses {@link CompressionMode#FAST_DECOMPRESSION} */
public class FastDecompressionCompressingCodec extends CompressingCodec {

// HighCompressionCompressingCodec.java:21
/** CompressionCodec that uses {@link CompressionMode#HIGH_COMPRESSION} */
public class HighCompressionCompressingCodec extends CompressingCodec {

// LZ4WithPresetCompressingCodec.java:21
/** CompressionCodec that uses {@link LZ4WithPresetDictCompressionMode}. */
public class LZ4WithPresetCompressingCodec extends CompressingCodec {

The base class, CompressingCodec.java:35:

public abstract class CompressingCodec extends FilterCodec {

A search of main for CompressionCodec matches only these six comments.

Why it matters

To be clear about scope: this is the test framework, not the core API, so it
matters much less than a wrong name in core javadoc.

It does show up in the published lucene-test-framework javadoc, and people
writing custom codecs or compression modes do read these classes as examples.
The DummyCompressingCodec comment even says it's in its own package "to make
sure the oal.codecs.compressing classes are visible enough to let people write
their own CompressionMode". "CompressionCodec" sounds like a real type and is
very close to CompressionMode and CompressingCodec, so a reader may go
looking for a third class that doesn't exist.

Suggested fix
-/** CompressionCodec that does not compress data, useful for testing. */
+/** {@link CompressingCodec} that does not compress data, useful for testing. */
-/** CompressionCodec that uses {@link DeflateWithPresetDictCompressionMode}. */
+/** {@link CompressingCodec} that uses {@link DeflateWithPresetDictCompressionMode}. */
-/** CompressionCodec that uses {@link CompressionMode#FAST} */
+/** {@link CompressingCodec} that uses {@link CompressionMode#FAST} */
-/** CompressionCodec that uses {@link CompressionMode#FAST_DECOMPRESSION} */
+/** {@link CompressingCodec} that uses {@link CompressionMode#FAST_DECOMPRESSION} */
-/** CompressionCodec that uses {@link CompressionMode#HIGH_COMPRESSION} */
+/** {@link CompressingCodec} that uses {@link CompressionMode#HIGH_COMPRESSION} */
-/** CompressionCodec that uses {@link LZ4WithPresetDictCompressionMode}. */
+/** {@link CompressingCodec} that uses {@link LZ4WithPresetDictCompressionMode}. */

All six files already import or share a package with CompressingCodec, since
they extend it, so the {@link} resolves without any other changes. Plain-text
CompressingCodec would also work.

Upstream reference

Lucene.NET fixed this in its port of the test framework in
apache/lucenenet@e107e6eb5 ("SWEEP: Lucene.Net.TestFramework.Codecs: Fixed
documentation comments"):

--- a/src/Lucene.Net.TestFramework/Codecs/Compressing/Dummy/DummyCompressingCodec.cs
+++ b/src/Lucene.Net.TestFramework/Codecs/Compressing/Dummy/DummyCompressingCodec.cs
     /// <summary>
-    /// CompressionCodec that does not compress data, useful for testing. </summary>
+    /// <see cref="CompressingCodec"/> that does not compress data, useful for testing. </summary>
--- a/src/Lucene.Net.TestFramework/Codecs/Compressing/FastDecompressionCompressingCodec.cs
+++ b/src/Lucene.Net.TestFramework/Codecs/Compressing/FastDecompressionCompressingCodec.cs
     /// <summary>
-    /// CompressionCodec that uses <seealso cref="CompressionMode#FAST_DECOMPRESSION"/> </summary>
+    /// <see cref="CompressingCodec"/> that uses <see cref="CompressionMode.FAST_DECOMPRESSION"/>. </summary>

That fix was incomplete. The same commit only reformatted
FastCompressingCodec and HighCompressionCompressingCodec, and current
Lucene.NET still has:

    /// CompressionCodec that uses <see cref="CompressionMode.FAST"/>. </summary>
    /// CompressionCodec that uses <see cref="CompressionMode.HIGH_COMPRESSION"/>. </summary>

The two preset-dictionary codecs were added after the 4.8 line that Lucene.NET
ports, so they have no counterpart there. The suggested fix above covers all
six Java files.

I can submit a PR for this.

Lingua principale
Java
Stelle
3.6k
Fork
1.5k
Merge medio
3g 13h
PR unite (30g)
70

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/lucene

Tutte le issue di apache/lucene

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.