Uploaded image for project: 'Flume'
  1. Flume
  2. FLUME-2460

Unit test TestAvroSink failed with IBM JDK 1.7

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Won't Fix
    • 1.5.0.1
    • None
    • Sinks+Sources
    • IBM JDK 1.7

    Description

      The following 3 java hard-codes "SunX509" as the trust manager, which is not friendly to other JDK
      (1) flume-ng-core/src/main/java/org/apache/flume/source/AvroSource.java
      (2) flume-ng-core/src/test/java/org/apache/flume/sink/TestAvroSink.java
      (3) flume-ng-sdk/src/main/java/org/apache/flume/api/NettyAvroRpcClient.java

      And it results in "SunX509 TrustManagerFactory not available" when using JDK other than Sun's, as :

      java.security.NoSuchAlgorithmException: SunX509 TrustManagerFactory not available
      at sun.security.jca.GetInstance.getInstance(GetInstance.java:171)
      at javax.net.ssl.TrustManagerFactory.getInstance(TrustManagerFactory.java:6)
      at org.apache.flume.api.NettyAvroRpcClient$SSLCompressionChannelFactory.newChannel(NettyAvroRpcClient.java:727)
      at org.apache.flume.api.NettyAvroRpcClient$SSLCompressionChannelFactory.newChannel(NettyAvroRpcClient.java:663)
      at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:212)
      at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:182)
      at org.apache.avro.ipc.NettyTransceiver.getChannel(NettyTransceiver.java:266)
      at org.apache.avro.ipc.NettyTransceiver.<init>(NettyTransceiver.java:206)
      at org.apache.avro.ipc.NettyTransceiver.<init>(NettyTransceiver.java:155)
      at org.apache.flume.api.NettyAvroRpcClient.connect(NettyAvroRpcClient.java:164)
      at org.apache.flume.api.NettyAvroRpcClient.connect(NettyAvroRpcClient.java:118)
      at org.apache.flume.api.NettyAvroRpcClient.configure(NettyAvroRpcClient.java:624)
      at org.apache.flume.api.RpcClientFactory.getInstance(RpcClientFactory.java:88)
      at org.apache.flume.sink.AvroSink.initializeRpcClient(AvroSink.java:127)
      at org.apache.flume.sink.AbstractRpcSink.createConnection(AbstractRpcSink.java:211)
      at org.apache.flume.sink.AbstractRpcSink.start(AbstractRpcSink.java:292)
      at org.apache.flume.sink.TestAvroSink.testSslProcessWithTrustStore(TestAvroSink.java:417)

      Attachments

        1. FLUME-2460.patch
          3 kB
          Xiang Li

        Issue Links

          Activity

            People

              xiangli Xiang Li
              xiangli Xiang Li
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: