Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Java 21 breaks access to netty-buffer class

Offen
#1,106 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
42/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
java

Rechercherichtung

Beginne damit, den Fehler beim Starten eines Arrow Flight-Servers unter Java 21 zu reproduzieren, und untersuche dann PooledByteBufAllocatorL und NettyAllocationManager, wie im Stacktrace angegeben. Vergleiche das relevante Zugriffsverhalten mit Java 17; abgeschlossen ist die Aufgabe, wenn der IllegalAccessError nicht mehr auftritt und der Server erfolgreich startet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Type: bug
Describe the bug, including details regarding any error messages, version, and platform.

When trying to start an Arrow Flight server use is made of class io.netty.buffer.PoolArena in netty-buffer that is no longer accessible in java 21 from class io.netty.buffer.PooledByteBufAllocatorL in arrow-memory-netty-buffer-patch-19.0.0.jar.
I think this might be caused by Java 21 being more restrictive than 17.

Stack trace ```java Exception in thread "main" java.lang.IllegalAccessError: failed to access class io.netty.buffer.PoolArena from class io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator (io.netty.buffer.PoolArena is in unnamed module of loader 'app'; io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator is in unnamed module of loader org.apache.hop.core.plugins.HopURLClassLoader @26612078) at io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator.(PooledByteBufAllocatorL.java:141) at io.netty.buffer.PooledByteBufAllocatorL.(PooledByteBufAllocatorL.java:46) at org.apache.arrow.memory.netty.NettyAllocationManager.(NettyAllocationManager.java:54) at org.apache.arrow.memory.netty.DefaultAllocationManagerFactory.(DefaultAllocationManagerFactory.java:26) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:423) at java.base/java.lang.Class.forName(Class.java:414) at org.apache.arrow.memory.DefaultAllocationManagerOption.getFactory(DefaultAllocationManagerOption.java:105) at org.apache.arrow.memory.DefaultAllocationManagerOption.getDefaultAllocationManagerFactory(DefaultAllocationManagerOption.java:92) at org.apache.arrow.memory.BaseAllocator$Config.getAllocationManagerFactory(BaseAllocator.java:826) at org.apache.arrow.memory.ImmutableConfig.access$001(ImmutableConfig.java:20) at org.apache.arrow.memory.ImmutableConfig$InitShim.getAllocationManagerFactory(ImmutableConfig.java:80) at org.apache.arrow.memory.ImmutableConfig.(ImmutableConfig.java:43) at org.apache.arrow.memory.ImmutableConfig$Builder.build(ImmutableConfig.java:492) at org.apache.arrow.memory.BaseAllocator.(BaseAllocator.java:72) at org.apache.hop.arrow.flight.ArrowFlightServer.(ArrowFlightServer.java:59) at org.apache.hop.arrow.command.ArrowCommand.run(ArrowCommand.java:108) at picocli.CommandLine.executeUserObject(CommandLine.java:2045) at picocli.CommandLine.access$1500(CommandLine.java:148) at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469) at picocli.CommandLine$RunLast.handle(CommandLine.java:2461) at picocli.CommandLine$RunLast.handle(CommandLine.java:2423) at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277) at picocli.CommandLine$RunLast.execute(CommandLine.java:2425) at picocli.CommandLine.execute(CommandLine.java:2174) at org.apache.hop.hop.Hop.main(Hop.java:131)
</details>
Vorherrschende Sprache
Java
Sterne
95
Forks
154
Ø Merge
2 T. 10 Std.
Gemergte PRs (30 T.)
11

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/arrow-java

Alle Issues in apache/arrow-java

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.