Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Java 21 breaks access to netty-buffer class

Aberta
#1,106 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
42/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
java

Direção de pesquisa

Comece reproduzindo a falha ao iniciar um servidor Arrow Flight no Java 21 e, em seguida, inspecione PooledByteBufAllocatorL e NettyAllocationManager, conforme identificados no stack trace. Compare o comportamento de acesso relevante com o Java 17; considera-se concluído quando o IllegalAccessError não ocorrer mais e o servidor iniciar com sucesso.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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>
Linguagem predominante
Java
Estrelas
95
Forks
154
Merge médio
2d 10h
PRs com merge (30d)
11

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/arrow-java

Todas as issues de apache/arrow-java

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.