Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-2902

S3 Processor Signer Override for v4 Throws Exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.1.0
    • 1.1.0
    • None
    • None

    Description

      NIFI-2763 introduced optional signer overrides for S3 processors - default, v2, and v4. The signer type for the "Signature v4" is wrong, and throws an IllegalArgumentException when the processor attempts to start. The failing type is AWSS3V4Signer. The correct type is AWSS3V4SignerType.

      The impact is low for now - the feature has not been released, and the unconfigured default is v4 in the AWS SDK included with NiFi. The "Signature v2" value works OK. But the option does not work as advertised, and should be fixed before release.

      2016-10-14 17:46:28,685 ERROR [StandardProcessScheduler Thread-3] org.apache.nifi.engine.FlowEngine A flow controller task execution stopped abnormally
      java.util.concurrent.ExecutionException: java.lang.reflect.InvocationTargetException
      	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_66]
      	at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_66]
      	at org.apache.nifi.engine.FlowEngine.afterExecute(FlowEngine.java:100) ~[na:na]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1150) [na:1.8.0_66]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_66]
      	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66]
      Caused by: java.lang.reflect.InvocationTargetException: null
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_66]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_66]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_66]
      	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66]
      	at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:137) ~[na:na]
      	at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:125) ~[na:na]
      	at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:70) ~[na:na]
      	at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:47) ~[na:na]
      	at org.apache.nifi.controller.StandardProcessorNode$1$1.call(StandardProcessorNode.java:1244) ~[na:na]
      	at org.apache.nifi.controller.StandardProcessorNode$1$1.call(StandardProcessorNode.java:1240) ~[na:na]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_66]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_66]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_66]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_66]
      	... 2 common frames omitted
      Caused by: java.lang.IllegalArgumentException: unknown signer type: AWSS3V4Signer
      	at com.amazonaws.auth.SignerFactory.createSigner(SignerFactory.java:118) ~[na:na]
      	at com.amazonaws.auth.SignerFactory.getSignerByTypeAndService(SignerFactory.java:95) ~[na:na]
      	at com.amazonaws.AmazonWebServiceClient.computeSignerByServiceRegion(AmazonWebServiceClient.java:262) ~[na:na]
      	at com.amazonaws.AmazonWebServiceClient.computeSignerByURI(AmazonWebServiceClient.java:235) ~[na:na]
      	at com.amazonaws.AmazonWebServiceClient.setEndpoint(AmazonWebServiceClient.java:186) ~[na:na]
      	at com.amazonaws.services.s3.AmazonS3Client.setEndpoint(AmazonS3Client.java:463) ~[na:na]
      	at com.amazonaws.services.s3.AmazonS3Client.init(AmazonS3Client.java:449) ~[na:na]
      	at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:396) ~[na:na]
      	at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:373) ~[na:na]
      	at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:355) ~[na:na]
      	at org.apache.nifi.processors.aws.s3.AbstractS3Processor.createClient(AbstractS3Processor.java:137) ~[na:na]
      	at org.apache.nifi.processors.aws.s3.AbstractS3Processor.createClient(AbstractS3Processor.java:45) ~[na:na]
      	at org.apache.nifi.processors.aws.AbstractAWSCredentialsProviderProcessor.onScheduledUsingControllerService(AbstractAWSCredentialsProviderProcessor.java:73) ~[na:na]
      	at org.apache.nifi.processors.aws.AbstractAWSCredentialsProviderProcessor.onScheduled(AbstractAWSCredentialsProviderProcessor.java:61) ~[na:na]
      	... 16 common frames omitted
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jameswing James Wing
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: