James Wing created NIFI-2902:
--------------------------------
Summary: S3 Processor Signer Override for v4 Throws Exception
Key: NIFI-2902
URL: https://issues.apache.org/jira/browse/NIFI-2902
Project: Apache NiFi
Issue Type: Bug
Affects Versions: 1.1.0
Reporter: James Wing
Assignee: James Wing
Priority: Minor
Fix For: 1.1.0
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.
{code}
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
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)