You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@falcon.apache.org by Apache Jenkins Server <je...@builds.apache.org> on 2018/01/05 07:43:03 UTC

Build failed in Jenkins: Apache-Falcon-Distributed-Assembly #944

See <https://builds.apache.org/job/Apache-Falcon-Distributed-Assembly/944/display/redirect>

------------------------------------------
[...truncated 393.85 KB...]
warning: [options] target value 1.5 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
4 warnings
[WARNING] [ENUNCIATE] FIELD job of ExtensionJobList: The Objective-C client doesn't have a built-in way of serializing a Map. Use @XmlJavaTypeAdapter to supply your own adapter for the Map.
[WARNING] [ENUNCIATE] Web service API makes use of elements that cannot be handled by the Objective-C XML client. Objective-C XML client will not be generated.
Jan 05, 2018 7:42:59 AM freemarker.log._JULLoggerFactory$JULLogger error
SEVERE: Error executing FreeMarker template
FreeMarker template error:
An error has occurred when reading existing sub-variable "securityRoles"; see cause exception! The type of the containing value was: extended_hash+string (com.webcohesion.enunciate.modules.jaxrs.api.impl.MethodImpl wrapped into f.e.b.StringModel)

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign securityRoles = method.securi...  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" in macro "processResourceGroup" at line 510, column 11]
	~ Reached through: #nested  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" in macro "boilerplate" at line 119, column 9]
	~ Reached through: @boilerplate title=(title + ": " + re...  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" in macro "processResourceGroup" at line 472, column 5]
	- Reached through: @file name=(resourceGroup.slug + ".ht...  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" in macro "processResourceGroup" at line 471, column 3]
	- Reached through: @processResourceGroup resourceGroup=r...  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" at line 215, column 11]
	~ Reached through: #nested  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" in macro "boilerplate" at line 119, column 9]
	~ Reached through: @boilerplate pagenav=pagenav  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" at line 170, column 3]
	- Reached through: @file name=indexPageName  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" at line 159, column 1]
----

Java stack trace (for programmers):
----
freemarker.core._TemplateModelException: [... Exception message was already printed; see it above ...]
	at freemarker.ext.beans.BeanModel.get(BeanModel.java:199)
	at freemarker.core.Dot._eval(Dot.java:40)
	at freemarker.core.Expression.eval(Expression.java:78)
	at freemarker.core.DefaultToExpression._eval(DefaultToExpression.java:80)
	at freemarker.core.Expression.eval(Expression.java:78)
	at freemarker.core.Assignment.accept(Assignment.java:70)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:333)
	at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:159)
	at freemarker.core.Environment.visitIteratorBlock(Environment.java:559)
	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:67)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:333)
	at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:159)
	at freemarker.core.Environment.visitIteratorBlock(Environment.java:559)
	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:67)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Environment.invokeNestedContent(Environment.java:535)
	at freemarker.core.BodyInstruction.accept(BodyInstruction.java:56)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Macro$Context.runMacro(Macro.java:178)
	at freemarker.core.Environment.invoke(Environment.java:700)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2255)
	at com.webcohesion.enunciate.util.freemarker.FileDirective.execute(FileDirective.java:59)
	at freemarker.core.Environment.visit(Environment.java:377)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:104)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Macro$Context.runMacro(Macro.java:178)
	at freemarker.core.Environment.invoke(Environment.java:700)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:333)
	at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:159)
	at freemarker.core.Environment.visitIteratorBlock(Environment.java:559)
	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:67)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:333)
	at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:159)
	at freemarker.core.Environment.visitIteratorBlock(Environment.java:559)
	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:67)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:333)
	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Environment.invokeNestedContent(Environment.java:535)
	at freemarker.core.BodyInstruction.accept(BodyInstruction.java:56)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Macro$Context.runMacro(Macro.java:178)
	at freemarker.core.Environment.invoke(Environment.java:700)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2255)
	at com.webcohesion.enunciate.util.freemarker.FileDirective.execute(FileDirective.java:59)
	at freemarker.core.Environment.visit(Environment.java:377)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:104)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Environment.process(Environment.java:290)
	at freemarker.template.Template.process(Template.java:312)
	at com.webcohesion.enunciate.modules.docs.DocsModule.processTemplate(DocsModule.java:351)
	at com.webcohesion.enunciate.modules.docs.DocsModule.call(DocsModule.java:303)
	at com.webcohesion.enunciate.io.InvokeEnunciateModule.onNext(InvokeEnunciateModule.java:31)
	at com.webcohesion.enunciate.io.InvokeEnunciateModule.onNext(InvokeEnunciateModule.java:10)
	at rx.internal.operators.OperatorDoOnEach$1.onNext(OperatorDoOnEach.java:79)
	at rx.internal.operators.OperatorSingle$ParentSubscriber.onCompleted(OperatorSingle.java:109)
	at rx.internal.operators.NotificationLite.accept(NotificationLite.java:140)
	at rx.internal.operators.TakeLastQueueProducer.emit(TakeLastQueueProducer.java:100)
	at rx.internal.operators.TakeLastQueueProducer.startEmitting(TakeLastQueueProducer.java:45)
	at rx.internal.operators.OperatorTakeLast$1.onCompleted(OperatorTakeLast.java:59)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:521)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.completeInner(OperatorMerge.java:486)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:658)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.onCompleted(OperatorMerge.java:600)
	at rx.subjects.SubjectSubscriptionManager$SubjectObserver.onCompleted(SubjectSubscriptionManager.java:232)
	at rx.subjects.ReplaySubject.onCompleted(ReplaySubject.java:404)
	at rx.Observable$35.onCompleted(Observable.java:7458)
	at rx.observers.SafeSubscriber.onCompleted(SafeSubscriber.java:81)
	at rx.internal.operators.OperatorDoOnEach$1.onCompleted(OperatorDoOnEach.java:53)
	at rx.internal.operators.OperatorSingle$ParentSubscriber.onCompleted(OperatorSingle.java:110)
	at rx.internal.operators.NotificationLite.accept(NotificationLite.java:140)
	at rx.internal.operators.TakeLastQueueProducer.emit(TakeLastQueueProducer.java:100)
	at rx.internal.operators.TakeLastQueueProducer.startEmitting(TakeLastQueueProducer.java:45)
	at rx.internal.operators.OperatorTakeLast$1.onCompleted(OperatorTakeLast.java:59)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:521)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.completeInner(OperatorMerge.java:486)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:658)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.onCompleted(OperatorMerge.java:600)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:521)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.completeInner(OperatorMerge.java:486)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:673)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.onCompleted(OperatorMerge.java:600)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:521)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.completeInner(OperatorMerge.java:486)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:673)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.onCompleted(OperatorMerge.java:600)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:521)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.completeInner(OperatorMerge.java:486)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:673)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.onCompleted(OperatorMerge.java:600)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:521)
	at rx.internal.operators.OperatorMerge$MergeSubscriber.completeInner(OperatorMerge.java:486)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:673)
	at rx.internal.operators.OperatorMerge$InnerSubscriber.onCompleted(OperatorMerge.java:600)
	at rx.internal.util.ScalarSynchronousObservable$ScalarSynchronousAction.call(ScalarSynchronousObservable.java:117)
	at rx.schedulers.ExecutorScheduler$ExecutorAction.run(ExecutorScheduler.java:173)
	at rx.schedulers.ExecutorScheduler$ExecutorSchedulerWorker.run(ExecutorScheduler.java:99)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1458)
	at freemarker.ext.beans.BeanModel.invokeThroughDescriptor(BeanModel.java:255)
	at freemarker.ext.beans.BeanModel.get(BeanModel.java:159)
	... 128 more
Caused by: java.lang.NoClassDefFoundError: javax/annotation/security/RolesAllowed
	at com.webcohesion.enunciate.modules.jaxrs.model.ResourceMethod.getSecurityRoles(ResourceMethod.java:720)
	at com.webcohesion.enunciate.modules.jaxrs.api.impl.MethodImpl.getSecurityRoles(MethodImpl.java:133)
	... 135 more
Caused by: java.lang.ClassNotFoundException: javax.annotation.security.RolesAllowed
	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
	... 137 more

[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Skipping Apache Falcon
[INFO] This project has been banned from the build due to previous failures.
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Apache Falcon ...................................... SUCCESS [  1.482 s]
[INFO] Apache Falcon UI ................................... SUCCESS [01:36 min]
[INFO] Build Tools ........................................ SUCCESS [  3.615 s]
[INFO] Apache Falcon Java common types .................... SUCCESS [  6.471 s]
[INFO] Apache Falcon Metrics .............................. SUCCESS [  3.160 s]
[INFO] Apache Falcon Hadoop Dependencies .................. SUCCESS [  2.190 s]
[INFO] Apache Falcon Test Utility ......................... SUCCESS [  1.990 s]
[INFO] Apache Falcon Commons .............................. SUCCESS [  8.324 s]
[INFO] Apache Falcon extensions ........................... SUCCESS [  3.195 s]
[INFO] Apache Falcon Java client .......................... SUCCESS [  3.575 s]
[INFO] Apache Falcon Shell ................................ SUCCESS [  4.240 s]
[INFO] Apache Falcon CLI client ........................... SUCCESS [  4.108 s]
[INFO] Apache Falcon Titan 1.0 support .................... SUCCESS [  3.956 s]
[INFO] Apache Falcon Oozie EL Extension ................... SUCCESS [  2.586 s]
[INFO] Apache Falcon Embedded Hadoop - Test Cluster ....... SUCCESS [ 19.441 s]
[INFO] Apache Falcon Sharelib Hive - Test Cluster ......... SUCCESS [  1.115 s]
[INFO] Apache Falcon Sharelib Pig - Test Cluster .......... SUCCESS [  0.167 s]
[INFO] Apache Falcon Sharelib Hcatalog - Test Cluster ..... SUCCESS [  0.427 s]
[INFO] Apache Falcon Sharelib Oozie - Test Cluster ........ SUCCESS [  0.102 s]
[INFO] Apache Falcon Test Tools - Test Cluster ............ SUCCESS [  0.025 s]
[INFO] Apache Falcon Messaging ............................ SUCCESS [  3.064 s]
[INFO] Apache Falcon LIfecycle Module ..................... SUCCESS [  4.722 s]
[INFO] Apache Falcon Oozie Adaptor ........................ SUCCESS [  6.379 s]
[INFO] Apache Falcon Scheduler ............................ SUCCESS [  4.769 s]
[INFO] Apache Falcon Acquisition .......................... SUCCESS [  0.455 s]
[INFO] Apache Falcon Distcp Replication ................... SUCCESS [  2.785 s]
[INFO] Apache Falcon Retention ............................ SUCCESS [  2.855 s]
[INFO] Apache Falcon Archival ............................. SUCCESS [  0.455 s]
[INFO] Apache Falcon Rerun ................................ SUCCESS [  3.383 s]
[INFO] Apache Falcon Prism ................................ FAILURE [ 14.724 s]
[INFO] Apache Falcon Unit ................................. SKIPPED
[INFO] Apache Falcon Examples ............................. SKIPPED
[INFO] Apache Falcon Web Application ...................... SKIPPED
[INFO] Apache Falcon Documentation ........................ SKIPPED
[INFO] Apache Falcon Distro ............................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 03:30 min
[INFO] Finished at: 2018-01-05T07:42:59Z
[INFO] Final Memory: 882M/2960M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.webcohesion.enunciate:enunciate-maven-plugin:2.1.1:docs (default) on project falcon-prism: Execution default of goal com.webcohesion.enunciate:enunciate-maven-plugin:2.1.1:docs failed: com.webcohesion.enunciate.EnunciateException: freemarker.core._TemplateModelException: An error has occurred when reading existing sub-variable "securityRoles"; see cause exception! The type of the containing value was: extended_hash+string (com.webcohesion.enunciate.modules.jaxrs.api.impl.MethodImpl wrapped into f.e.b.StringModel)
[ERROR] 
[ERROR] ----
[ERROR] FTL stack trace ("~" means nesting-related):
[ERROR] 	- Failed at: #assign securityRoles = method.securi...  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" in macro "processResourceGroup" at line 510, column 11]
[ERROR] 	~ Reached through: #nested  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" in macro "boilerplate" at line 119, column 9]
[ERROR] 	~ Reached through: @boilerplate title=(title + ": " + re...  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" in macro "processResourceGroup" at line 472, column 5]
[ERROR] 	- Reached through: @file name=(resourceGroup.slug + ".ht...  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" in macro "processResourceGroup" at line 471, column 3]
[ERROR] 	- Reached through: @processResourceGroup resourceGroup=r...  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" at line 215, column 11]
[ERROR] 	~ Reached through: #nested  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" in macro "boilerplate" at line 119, column 9]
[ERROR] 	~ Reached through: @boilerplate pagenav=pagenav  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" at line 170, column 3]
[ERROR] 	- Reached through: @file name=indexPageName  [in template "jar:file:/home/jenkins/.m2/repository/com/webcohesion/enunciate/enunciate-docs/2.1.1/enunciate-docs-2.1.1.jar!/com/webcohesion/enunciate/modules/docs/docs.fmt" at line 159, column 1]
[ERROR] ----: InvocationTargetException: javax/annotation/security/RolesAllowed: javax.annotation.security.RolesAllowed
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :falcon-prism
Build step 'Execute shell' marked build as failure
Archiving artifacts

Jenkins build is back to normal : Apache-Falcon-Distributed-Assembly #945

Posted by Apache Jenkins Server <je...@builds.apache.org>.
See <https://builds.apache.org/job/Apache-Falcon-Distributed-Assembly/945/display/redirect?page=changes>