【问题标题】:Cloud Bigtable Failure due to NPN/ALPN extensions not installed由于未安装 NPN/ALPN 扩展而导致 Cloud Bigtable 失败
【发布时间】:2023-04-10 07:11:01
【问题描述】:

尝试通过 Java lib 与 Google Cloud Bigtable 交互,并在成功创建连接对象后,发送“list”命令,我收到 command.run() 方法的以下错误:

command.run(connection, argsList.subList(1, argsList.size()));

具体来说:

Jul 06, 2015 1:12:15 PM io.grpc.transport.netty.ProtocolNegotiators$AbstractBufferingHandler fail
SEVERE: Transport failed during protocol negotiation
io.netty.channel.ChannelPipelineException: io.grpc.transport.netty.ProtocolNegotiators$1$1.handlerAdded() has thrown an exception; removed.
at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:600)
at io.netty.channel.DefaultChannelPipeline.callHandlerAdded(DefaultChannelPipeline.java:582)
at io.netty.channel.DefaultChannelPipeline.addFirst0(DefaultChannelPipeline.java:124)
at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:108)
at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:291)
at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:246)
at io.grpc.transport.netty.ProtocolNegotiators$AbstractBufferingHandler.channelRegistered(ProtocolNegotiators.java:233)
at io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelRegisteredNow(ChannelHandlerInvokerUtil.java:32)
at io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRegistered(DefaultChannelHandlerInvoker.java:50)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRegistered(AbstractChannelHandlerContext.java:114)
at io.netty.channel.DefaultChannelPipeline.fireChannelRegistered(DefaultChannelPipeline.java:833)
at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:487)
at io.netty.channel.AbstractChannel$AbstractUnsafe.access$100(AbstractChannel.java:401)
at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:461)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:322)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:356)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:703)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: NPN/ALPN extensions not installed  

刚刚关注;https://cloud.google.com/bigtable/docs/samples-simple-cli

任何帮助将不胜感激!

【问题讨论】:

  • 我安装了 java 版本“1.7.0_60”,所以我将 pom 条目更新为; 7​​.1.0.v20141016 但是它没有任何帮助......
  • 你的起始行应该包含 -Xalpn-boot-xxxxxxx.jar 如果错误,事情就会失败。
  • 我正在通过 Eclipse 调试代码。既然我在 pom 中有那个 alpn.version 条目,我应该很好去吧?请澄清!
  • 不——你的 Eclipse 运行选项卡应该有一个 -Xbootclasspath/p:$(pwd)/lib/bigtable/alpn-boot-${ALPN_VERSION}.jar 行。否则事情永远不会成功。
  • 有趣。我们可以知道为什么我们需要在运行时变量中有那个条目吗?虽然我们有带有以下条目的 pom,但我看到 jar 下载到 .m2 org.mortbay.jetty.alpnalpn-boot7​​.1.0 .v20141016

标签: java google-cloud-bigtable


【解决方案1】:

有必要修改你的 eclipse java 运行以在所有其他类/jar 之前加载 alpn-boot jar。使用线路:

-Xbootclasspath/p:$(pwd)/lib/bigtable/alpn-boot-${ALPN_VERSION}.jar

有关详细信息,请参阅ALPN

对于 Maven 中的单元测试,您可以查看我们的example

更新您现在可以使用Netty TCNative jar w/ BoringSSL 在不带alpn-boot 的情况下工作,我们目前有两个示例,Managed-VM-SampleQuickstart。有关详细信息,请参阅pom.xml,MVM 示例展示了如何设置您的 pom 以在本地编译和部署。 Quickstart pom 显示了在同一机器上编译和运行的形式。我们希望所有 Java 示例都能尽快使用它。

【讨论】:

  • Les,我们是否可以在某处包含此引导类路径条目,以便单独的 UT 调试配置不需要包含它?
  • 它是如此依赖于你的环境,我们在谈论 Eclipse 吗?智能?还是 Netbeans?
  • 围绕同一个问题,我看到“mvn install”也因同样的问题而失败,所以它不是 Eclipse UT 调试配置
猜你喜欢
  • 2018-07-02
  • 2017-11-16
  • 1970-01-01
  • 2021-01-21
  • 1970-01-01
  • 1970-01-01
  • 2018-01-23
  • 2017-08-19
  • 2018-07-23
相关资源
最近更新 更多