2.23.2 but was discovered in 2.23.1

Need more info on the  Service-part of the implementation.

I see the doStart() method is executed but I can’t see where
doStop()-method is executed.
I grasping after a "missing closing resource” in the implementation, which
I assume is happening, at least according to the error message.

Anyone know if it is in the org.fusesource.leveldbjni or in Camel?



Från: Claus Ibsen <claus.ib...@gmail.com> <claus.ib...@gmail.com>
Svara: users@camel.apache.org <users@camel.apache.org>
<users@camel.apache.org>
Datum: 12 maj 2019 at 09:40:53
Till: users@camel.apache.org <users@camel.apache.org>
<users@camel.apache.org>
Ämne:  Re: Exception when mutliple LevelDB aggregations

Hi
>
> What version of Camel do you use?
> And yeah you are surely welcome to dig deeper
>
> On Fri, May 10, 2019 at 7:57 AM Mikael Grevsten
> <mikael.grevs...@gmail.com> wrote:
>
>
> Hi
>
> We have an issue when using more than one LevelDB aggregator in routes when
> running in Tomcat as a war.
> When the application is restarted we get the following exception:
>
>
> 2019-05-09 15:52:21,296 [localhost-startStop-3] o.s.b.SpringApplication
> ERROR - Application run failed(858)
> org.apache.camel.RuntimeCamelException:
> org.apache.camel.FailedToCreateRouteException: Failed to create route
> MIFIR-TRADES: Route(MIFIR-TRADES)[[From[seda:mifir]] -> [Aggregate[true
> ->... because of Error opening LevelDB with file mifir\data\jmstrans.dat
> at
>
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1826)
> at
>
> org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:136)
> at
>
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:174)
> at
>
> org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
> at
>
> org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
> at
>
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
> at
>
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:402)
> at
>
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:359)
> at
>
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:896)
> at
>
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163)
> at
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552)
> at
>
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
> at
>
> org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
> at
>
> org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
> at
> org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
> at
>
> org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:157)
> at
>
> org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:137)
> at
>
> org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:91)
> at
>
> org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171)
> at
>
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> at
>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
> at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988)
> at
> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860)
> at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
> at java.util.concurrent.FutureTask.run(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create
> route MIFIR-TRADES: Route(MIFIR-TRADES)[[From[seda:mifir]] ->
> [Aggregate[true ->... because of Error opening LevelDB with file
> mifir\data\jmstrans.dat
> at org.apache.camel.impl.RouteService.warmUp(RouteService.java:147)
> at
>
> org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:3953)
> at
>
> org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3860)
> at
>
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:3646)
> at
>
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3489)
> at
>
> org.apache.camel.impl.DefaultCamelContext$4.call(DefaultCamelContext.java:3248)
> at
>
> org.apache.camel.impl.DefaultCamelContext$4.call(DefaultCamelContext.java:3244)
> at
>
> org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:3267)
> at
>
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:3244)
> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72)
> at
>
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:3160)
> at
>
> org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:133)
> ... 29 common frames omitted
> Caused by: java.lang.RuntimeException: Error opening LevelDB with file
> mifir\data\jmstrans.dat
> at
> org.apache.camel.component.leveldb.LevelDBFile.start(LevelDBFile.java:184)
> at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> at
>
> org.apache.camel.component.leveldb.LevelDBAggregationRepository.doStart(LevelDBAggregationRepository.java:412)
> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72)
> at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
> at
> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
> at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
> at
>
> org.apache.camel.processor.aggregate.AggregateProcessor.doStart(AggregateProcessor.java:1384)
> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72)
> at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
> at
> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
> at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
> at
>
> org.apache.camel.processor.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1484)
> at
>
> org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:44)
> at
>
> org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:31)
> at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
> at
> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
> at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
> at
>
> org.apache.camel.processor.interceptor.DefaultChannel.doStart(DefaultChannel.java:160)
> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72)
> at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:60)
> at
> org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:104)
> at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:90)
> at
>
> org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:80)
> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72)
> at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
> at
> org.apache.camel.impl.RouteService.startChildService(RouteService.java:370)
> at org.apache.camel.impl.RouteService.doWarmUp(RouteService.java:196)
> at org.apache.camel.impl.RouteService.warmUp(RouteService.java:145)
> ... 40 common frames omitted
> Caused by: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO
> error: D:\apache-tomcat-8.5.23\mifir\data\jmstrans.dat\MANIFEST-000025: The
> handle is invalid.
>
> at
> org.fusesource.leveldbjni.internal.NativeDB.checkStatus(NativeDB.java:200)
> at org.fusesource.leveldbjni.internal.NativeDB.open(NativeDB.java:218)
> at org.fusesource.leveldbjni.JniDBFactory.open(JniDBFactory.java:168)
> at
> org.apache.camel.component.leveldb.LevelDBFile.start(LevelDBFile.java:182)
> ... 72 common frames omitted
> 2019-05-09 15:52:21,312 [localhost-startStop-3] s.t.m.MainApplication INFO
> - So long and thanks for all the fish(106)
>
>
> The exceptions is NOT thrown upon startup of tomcat.
> To resolve this we need to restart Tomcat.
>
> We have seen this in our IDEA as well when restarting application but not
> as frequent as when on tomcat.
>
> We know the reason since we’ve added one more aggregator in another route
> and haven’t had this behaviour before.
>
> I have tried to investigate this but failed. I think the problem lies
> deeper than the source code of camel…
>
> The two aggregators are separate declared and using its own storage file.
>
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>

Reply via email to