Nifi: unable to rename from './data/flow.xml.gz.new.xml.gz' to './data/flow.xml.gz' - vagrant

I'm mounting a volume in a Vagrant box, containing my flow.xml.gz file, to a Nifi container running in a Kubernetes cluster. When the Nifi container spins up, my flow.xml.gz file loads as expected.
The problem occurs when I sync the volume in Vagrant to a directory on my host machine, such that the flow.xml.gz file should be synced between the directory on my host machine, the volume in Vagrant, and a directory in the Nifi container. I restart the pod and get the error below; and the flow.xml.gz file is mysteriously deleted from Vagrant and my host machine.
org.apache.nifi.web.NiFiCoreException: Unable to start Flow Controller.
at org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:88)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1068)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:997)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:746)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:911)
at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:426)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:423)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:1057)
at org.apache.nifi.NiFi.<init>(NiFi.java:159)
at org.apache.nifi.NiFi.<init>(NiFi.java:71)
at org.apache.nifi.NiFi.main(NiFi.java:303)
Caused by: java.io.IOException: Attempted 5 times but unable to rename from './data/flow.xml.gz.new.xml.gz' to './data/flow.xml.gz'
at org.apache.nifi.util.file.FileUtils.renameFile(FileUtils.java:504)
at org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.save(StandardXMLFlowConfigurationDAO.java:171)
at org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:541)
at org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:72)
... 38 common frames omitted
I thought the perhaps there was a permissions problem, but the permissions on flow.xml.gz are wide open, and the owner is set to the user running Nifi. Any ideas?

Related

FAIL - Application already exists at path [/]

I am using https://sdkman.io/ in my Manjaro 22 with Plasma.
After compiling my java application with Netbeans I am getting the following error:
30-Jan-2023 13:40:44.410 SEVERE [Catalina-utility-1] org.apache.catalina.startup.ExpandWar.copy Error copying [/home/mgem/.sdkman/candidates/tomcat/10.0.22/temp/4-ROOT] to [/home/mgem/.sdkman/candidates/tomcat/10.0.22/temp/11-ROOT]
java.io.FileNotFoundException: /home/mgem/.sdkman/candidates/tomcat/10.0.22/temp/4-ROOT (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
at org.apache.catalina.startup.ExpandWar.copy(ExpandWar.java:269)
at org.apache.catalina.startup.ContextConfig.antiLocking(ContextConfig.java:924)
at org.apache.catalina.startup.ContextConfig.beforeStart(ContextConfig.java:965)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:182)
at org.apache.catalina.startup.HostConfig.reload(HostConfig.java:1542)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1505)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1744)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:316)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1162)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1365)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1369)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1347)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)
I have tried to apply:
$chmod -R 777 tomcat
to tomcat directory but nothing changes.
The following are the versions:
SDKMAN 5.16.0
java: 17.0.5-oracle
tomcat: 10.0.22
Anyone is getting the same issue?

Elasticsearch after change path.data, unable to access 'default.path.data'

I want to change path.data to other path, and I already have some data in the elasticsearch.
I follow How to move elasticsearch data directory? And restart elasticsearch, the error occurred.
My elasticsearch version is elasticsearch-5.6.1.
And here is my log in /var/log/elasticsearch
java.lang.IllegalStateException: Unable to access 'default.path.data' (/var/lib/elasticsearch)
at org.elasticsearch.bootstrap.Security.addPath(Security.java:444) ~[elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:322) ~[elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:240) ~[elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.bootstrap.Security.configure(Security.java:118) ~[elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:228) ~[elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) [elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.1.jar:5.6.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.1.jar:5.6.1]
Caused by: java.nio.file.AccessDeniedException: /var/lib/elasticsearch
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) ~[?:1.8.0_131]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[?:1.8.0_131]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[?:1.8.0_131]
at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384) ~[?:1.8.0_131]
at java.nio.file.Files.createDirectory(Files.java:674) ~[?:1.8.0_131]
After digging into it, I found https://github.com/elastic/elasticsearch/issues/25265.
I want to know that is there workaround to fix this issue? or I need to wait for version 6.0.0?
After digging into it, I find the answer.
Removed the "-Edefault.path.data=${DATA_DIR} " parameter from the startup command and everything works fine again.
My environment is Ubuntu 16.04 and install ES from RPM/DEB.
The path of startup command in /etc/init.d/elasticsearch and I also alter /usr/lib/systemd/system/elasticsearch.service and then service restart. Problem solved.
By the way, if I also face permission problem of path data. To resolve it by
sudo chown -R elasticsearch:elasticsearch /your/data/path
Hope these helpful!

Problems in Jenkins Guided tour on Mac

I just downloaded Jenkins using brew and I installed Docker CE.
When I try to execute the pipeline in the Guided Tour:
pipeline {
agent { docker 'maven:3.3.3' }
stages {
stage('build') {
steps {
sh 'mvn --version'
}
}
}
}
the build fails with the following error:
/Users/C0228983/.jenkins/workspace/POC_develop-6BCMWWG26VSSPB6S7LLDJWBDCIGFTA2YRE63L5XCEQAEMWYYDVTQ#tmp/durable-cc73be26/script.sh: line 2: docker: command not found
As you see docker in not available in the $PATH.
How could I modify the $PATH? are there more things to consider in order to install jenkins on a Mac an use Docker agent?
After a manual update of $PATH in the Jenkinsfile another error appear:
java.io.IOException: Cannot run program "docker": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at hudson.Proc$LocalProc.<init>(Proc.java:245)
at hudson.Proc$LocalProc.<init>(Proc.java:214)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:846)
at hudson.Launcher$ProcStarter.start(Launcher.java:384)
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.launch(DockerClient.java:268)
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.launch(DockerClient.java:249)
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.launch(DockerClient.java:246)
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.version(DockerClient.java:218)
at org.jenkinsci.plugins.docker.workflow.WithContainerStep$Execution.start(WithContainerStep.java:136)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:184)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126)
at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:18)
at org.jenkinsci.plugins.docker.workflow.Docker$Image.inside(jar:file:/Users/C0228983/.jenkins/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:128)
at org.jenkinsci.plugins.docker.workflow.Docker.node(jar:file:/Users/C0228983/.jenkins/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:63)
at org.jenkinsci.plugins.docker.workflow.Docker$Image.inside(jar:file:/Users/C0228983/.jenkins/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:116)
at org.jenkinsci.plugins.pipeline.modeldefinition.agent.impl.DockerPipelineScript.runImage(jar:file:/Users/C0228983/.jenkins/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/DockerPipelineScript.groovy:54)
at org.jenkinsci.plugins.pipeline.modeldefinition.agent.impl.AbstractDockerPipelineScript.configureRegistry(jar:file:/Users/C0228983/.jenkins/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/AbstractDockerPipelineScript.groovy:68)
at org.jenkinsci.plugins.pipeline.modeldefinition.agent.impl.AbstractDockerPipelineScript.run(jar:file:/Users/C0228983/.jenkins/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/AbstractDockerPipelineScript.groovy:54)
at org.jenkinsci.plugins.pipeline.modeldefinition.agent.CheckoutScript.checkoutAndRun(jar:file:/Users/C0228983/.jenkins/plugins/pipeline-model-extensions/WEB-INF/lib/pipeline-model-extensions.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/agent/CheckoutScript.groovy:57)
at org.jenkinsci.plugins.pipeline.modeldefinition.agent.CheckoutScript.doCheckout(jar:file:/Users/C0228983/.jenkins/plugins/pipeline-model-extensions/WEB-INF/lib/pipeline-model-extensions.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/agent/CheckoutScript.groovy:40)
at org.jenkinsci.plugins.pipeline.modeldefinition.agent.impl.LabelScript.run(jar:file:/Users/C0228983/.jenkins/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/agent/impl/LabelScript.groovy:44)
at ___cps.transform___(Native Method)
at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:57)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82)
at sun.reflect.GeneratedMethodAccessor229.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
at com.cloudbees.groovy.cps.impl.ClosureBlock.eval(ClosureBlock.java:46)
at com.cloudbees.groovy.cps.Next.step(Next.java:74)
at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30)
at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:165)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:330)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:242)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:230)
at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
at hudson.Proc$LocalProc.<init>(Proc.java:245)
at hudson.Proc$LocalProc.<init>(Proc.java:214)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:846)
at hudson.Launcher$ProcStarter.start(Launcher.java:384)
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.launch(DockerClient.java:268)
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.launch(DockerClient.java:249)
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.launch(DockerClient.java:246)
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.version(DockerClient.java:218)
at org.jenkinsci.plugins.docker.workflow.WithContainerStep$Execution.start(WithContainerStep.java:136)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:184)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126)
at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:18)
... 29 more
Versions:
osx 10.11.6
docker: 17.03.1-ce, build c6d412e
jenkins-lts: stable 2.46.2 (homebrew)
I just found the solution for the missing paths in $PATH but not for the IOException:
Go to Jenkins -> Manage Jenkins -> Configure System -> Global Properties
Activate Environment variables
Add a new one:
Name: PATH
Value: /usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Docker was installed in: /usr/local/bin/

Run NiFi on a linux machine

I just downloaded nifi-0.5.1 for linux.
When trying to run Nifi using the command: ./nifi.sh run
I get the following exception in nifi-app.log:
2016-03-13 05:29:42,959 WARN [main]
org.apache.nifi.web.server.JettyServer Failed to start web server...
shutting down. org.apache.nifi.web.NiFiCoreException: Unable to start
Flow Controller.
at org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:99)
~[na:na]
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800)
~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444)
~[jetty-servlet-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791)
~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294)
~[jetty-servlet-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
~[jetty-webapp-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
~[jetty-webapp-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
~[jetty-webapp-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.server.Server.start(Server.java:387) ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.server.Server.doStart(Server.java:354) ~[jetty-server-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
~[jetty-util-9.2.11.v20150529.jar:9.2.11.v20150529]
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:663)
~[nifi-jetty-0.5.1.jar:0.5.1]
at org.apache.nifi.NiFi.(NiFi.java:137) [nifi-runtime-0.5.1.jar:0.5.1]
at org.apache.nifi.NiFi.main(NiFi.java:227) [nifi-runtime-0.5.1.jar:0.5.1] Caused by:
java.nio.file.FileSystemException:
./flowfile_repository/partition-61/2.journal: Too many open files
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91)
~[na:1.7.0_45]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
~[na:1.7.0_45]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
~[na:1.7.0_45]
at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
~[na:1.7.0_45]
at java.nio.file.Files.newByteChannel(Files.java:315) ~[na:1.7.0_45]
at java.nio.file.Files.newByteChannel(Files.java:361) ~[na:1.7.0_45]
at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:380)
~[na:1.7.0_45]
at java.nio.file.Files.newInputStream(Files.java:106) ~[na:1.7.0_45]
at org.wali.MinimalLockingWriteAheadLog$Partition.createDataInputStream(MinimalLockingWriteAheadLog.java:932)
~[nifi-write-ahead-log-0.5.1.jar:0.5.1]
at org.wali.MinimalLockingWriteAheadLog$Partition.getRecoveryStream(MinimalLockingWriteAheadLog.java:947)
~[nifi-write-ahead-log-0.5.1.jar:0.5.1]
at org.wali.MinimalLockingWriteAheadLog$Partition.getNextRecoverableTransactionId(MinimalLockingWriteAheadLog.java:973)
~[nifi-write-ahead-log-0.5.1.jar:0.5.1]
at org.wali.MinimalLockingWriteAheadLog.recoverFromEdits(MinimalLockingWriteAheadLog.java:419)
~[nifi-write-ahead-log-0.5.1.jar:0.5.1]
at org.wali.MinimalLockingWriteAheadLog.recoverRecords(MinimalLockingWriteAheadLog.java:293)
~[nifi-write-ahead-log-0.5.1.jar:0.5.1]
at org.apache.nifi.controller.repository.WriteAheadFlowFileRepository.loadFlowFiles(WriteAheadFlowFileRepository.java:323)
~[nifi-framework-core-0.5.1.jar:0.5.1]
at org.apache.nifi.controller.FlowController.initializeFlow(FlowController.java:609)
~[nifi-framework-core-0.5.1.jar:0.5.1]
at org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:641)
~[nifi-framework-core-0.5.1.jar:0.5.1]
at org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:479)
~[nifi-framework-core-0.5.1.jar:0.5.1]
at org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:79)
~[na:na]
... 22 common frames omitted 2016-03-13 05:29:42,961 INFO [Thread-1] org.apache.nifi.NiFi Initiating shutdown of Jetty web
server...
I would appreciate your help,
By default NiFi accesses quite a lot of files at startup due to its classloader isolation approach and its function as a dataflow app. Please see the administration guide where it describes how to set the OS limit on number of open file handles higher. The default OS file handle limit in linux is usually 1024 and this is quite a ways too low for what NiFi does.
https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#configuration-best-practices

Is it possible to migrate and upgrade an Artifactory (2.2.5 to 3.7.0) from a Derby-backed database to a MySQL one?

I am trying to upgrade an old Artifactory installation from 2.2.5 to 3.7.0. I have a full zip backup. Importing into an Artifactory on a separate machine with a pristine 3.7.0 installation (using the built-in) Derby did pass successfully. I am now wondering how to approach the problem of migrating to a MySQL database. I understand that these are completely different databases, but I was hoping the importer would be able to figure out what to do.
Is this possible at all and is there some documentation you could point me to on how to do this exactly?
Do I need to do an incremental upgrade instead (to 2.6.6 first) despite the fact that an import against a 3.7.0 Artifatory with Derby is working?
I am getting the following exception:
java.lang.RuntimeException: Error while extracting /path/to/backup/thebackup.zip
at org.artifactory.util.ZipUtils.extractFiles(ZipUtils.java:163) ~[artifactory-common-3.7.0.jar:na]
at org.artifactory.util.ZipUtils.extract(ZipUtils.java:93) ~[artifactory-common-3.7.0.jar:na]
at org.artifactory.webapp.wicket.page.importexport.system.ImportSystemPanel$3.onSubmit(ImportSystemPanel.java:181) ~[artifactory-web-application-3.7.0.jar:na]
at org.artifactory.common.wicket.component.links.TitledAjaxSubmitLink$1.onSubmit(TitledAjaxSubmitLink.java:59) [artifactory-web-common-3.7.0.jar:na]
at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior$1.onSubmit(AjaxFormSubmitBehavior.java:172) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1151) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.markup.html.form.Form.process(Form.java:834) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:762) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:158) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:184) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:369) [wicket-core-1.5.5.jar:1.5.5]
at sun.reflect.GeneratedMethodAccessor160.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45]
at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:260) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:255) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:781) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) [wicket-request-1.5.5.jar:1.5.5]
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:185) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:241) [wicket-core-1.5.5.jar:1.5.5]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.56]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.56]
at org.artifactory.webapp.servlet.RepoFilter.execute(RepoFilter.java:193) [artifactory-web-application-3.7.0.jar:na]
at org.artifactory.webapp.servlet.RepoFilter.doFilter(RepoFilter.java:87) [artifactory-web-application-3.7.0.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.56]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.56]
at org.artifactory.webapp.servlet.AccessFilter.useAuthentication(AccessFilter.java:314)
2015-06-02 16:00:00,006 [art-exec-4] [INFO ] (o.a.s.b.GarbageCollectorInfo:78) - Storage garbage collector report:
Number of binaries: 0
Total execution time: 3 millis
Candidates for deletion: 0
Checksums deleted: 0
Binaries deleted: 0
Total size freed: 0 bytes
Current total size: 0 bytes
If you have a full zip, you're all good.
Take a pristine 3.8.0 (or 3.6.0 if you really need to, but why?), change the storage to MySQL and then run a full system import.
I am with JFrog, the company behind Bintray and [artifactory], see my profile for details and links.

Resources