[jira] [Commented] (CAMEL-15568) Dynamic route updates causes few requests to fails

2020-09-22 Thread Minal Bhalodi (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-15568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17200440#comment-17200440
 ] 

Minal Bhalodi commented on CAMEL-15568:
---

[~bedla] any reason that hot reload is not supported in camel-core-engine? can 
I expect this feature to come out in future?

> Dynamic route updates causes few requests to fails 
> ---
>
> Key: CAMEL-15568
> URL: https://issues.apache.org/jira/browse/CAMEL-15568
> Project: Camel
>  Issue Type: Bug
>  Components: camel-core-engine
>Affects Versions: 3.2.0
>Reporter: Minal Bhalodi
>Priority: Minor
>
> We are using Apache Camel 3.2.0. We update camel routes at runtime using 
> below code. 
> // update routes in camel contexts. Definitions are in XML files
> ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
>  mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
> workflowDefinitionsList is the list of XML routes}}
>  
> *Problem Statement*: Dynamic routes updates causes few requests to fail at 
> runtime. When these routes are being updated, we also call getRoute to serve 
> live traffic.
> Since addRouteDefinitions first delete routes given in 
> {{workflowDefinitionsList}} from camel context and then add those routes back 
> to camelcontext, These routes won't be available for few mili second and that 
> causes request to fails.
> Route route = exchange.getContext().getRoute(workflowRouteId);  // get route
> Since there can be only one CamelContext per Application, I am not sure how 
> can I resolve this issue. Is there any other method available where we can 
> PATCH routes changes at runtime. Dynamic route updates shouldn't cause few 
> requests to fails.
>  
>  
> {{Here is camel 3 code for addRouteDefinitions method where routes are being 
> removed and added:}}
> {code:java}
> public synchronized void addRouteDefinitions(Collection 
> routeDefinitions) throws Exception {
> if (routeDefinitions != null && !routeDefinitions.isEmpty()) {
> List list = new ArrayList();
> routeDefinitions.forEach((r) -> {
> if (this.routeFilter == null || 
> (Boolean)this.routeFilter.apply(r)) {
> list.add(r);
> }
> });
> this.removeRouteDefinitions(list);
> this.routeDefinitions.addAll(list);
> if (this.shouldStartRoutes()) {
> 
> ((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
> }
> }
> }
> {code}
>  
>  
> We are not able to updates routes in camelcontext frequently because of this 
> issue. Everytime we update routes in camelcontext that causes us some FCI 
> since we have high traffic in our application. 
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (CAMEL-15568) Dynamic route updates causes few requests to fails

2020-09-22 Thread Minal Bhalodi (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-15568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17200404#comment-17200404
 ] 

Minal Bhalodi commented on CAMEL-15568:
---

[~bedla] Thanks for the quick response.

 

I already posted on stack-overflow 5 days ago and also sent email in mailing 
list mentioned in the above link but didn't get any response so had to create 
this bug.

[https://stackoverflow.com/questions/63931881/dynamic-routes-updates-issue-in-apache-camel]

 

 

> Dynamic route updates causes few requests to fails 
> ---
>
> Key: CAMEL-15568
> URL: https://issues.apache.org/jira/browse/CAMEL-15568
> Project: Camel
>  Issue Type: Bug
>  Components: camel-core-engine
>Affects Versions: 3.2.0
>Reporter: Minal Bhalodi
>Priority: Minor
>
> We are using Apache Camel 3.2.0. We update camel routes at runtime using 
> below code. 
> // update routes in camel contexts. Definitions are in XML files
> ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
>  mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
> workflowDefinitionsList is the list of XML routes}}
>  
> *Problem Statement*: Dynamic routes updates causes few requests to fail at 
> runtime. When these routes are being updated, we also call getRoute to serve 
> live traffic.
> Since addRouteDefinitions first delete routes given in 
> {{workflowDefinitionsList}} from camel context and then add those routes back 
> to camelcontext, These routes won't be available for few mili second and that 
> causes request to fails.
> Route route = exchange.getContext().getRoute(workflowRouteId);  // get route
> Since there can be only one CamelContext per Application, I am not sure how 
> can I resolve this issue. Is there any other method available where we can 
> PATCH routes changes at runtime. Dynamic route updates shouldn't cause few 
> requests to fails.
>  
>  
> {{Here is camel 3 code for addRouteDefinitions method where routes are being 
> removed and added:}}
> {code:java}
> public synchronized void addRouteDefinitions(Collection 
> routeDefinitions) throws Exception {
> if (routeDefinitions != null && !routeDefinitions.isEmpty()) {
> List list = new ArrayList();
> routeDefinitions.forEach((r) -> {
> if (this.routeFilter == null || 
> (Boolean)this.routeFilter.apply(r)) {
> list.add(r);
> }
> });
> this.removeRouteDefinitions(list);
> this.routeDefinitions.addAll(list);
> if (this.shouldStartRoutes()) {
> 
> ((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
> }
> }
> }
> {code}
>  
>  
> We are not able to updates routes in camelcontext frequently because of this 
> issue. Everytime we update routes in camelcontext that causes us some FCI 
> since we have high traffic in our application. 
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (CAMEL-15568) Dynamic route updates causes few requests to fails

2020-09-22 Thread Minal Bhalodi (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-15568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Minal Bhalodi updated CAMEL-15568:
--
Description: 
We are using Apache Camel 3.2.0. We update camel routes at runtime using below 
code. 

// update routes in camel contexts. Definitions are in XML files

ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
 mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
workflowDefinitionsList is the list of XML routes}}

 

*Problem Statement*: Dynamic routes updates causes few requests to fail at 
runtime. When these routes are being updated, we also call getRoute to serve 
live traffic.

Since addRouteDefinitions first delete routes given in 
{{workflowDefinitionsList}} from camel context and then add those routes back 
to camelcontext, These routes won't be available for few mili second and that 
causes request to fails.

Route route = exchange.getContext().getRoute(workflowRouteId);  // get route

Since there can be only one CamelContext per Application, I am not sure how can 
I resolve this issue. Is there any other method available where we can PATCH 
routes changes at runtime. Dynamic route updates shouldn't cause few requests 
to fails.

 

 

{{Here is camel 3 code for addRouteDefinitions method where routes are being 
removed and added:}}
{code:java}
public synchronized void addRouteDefinitions(Collection 
routeDefinitions) throws Exception {
if (routeDefinitions != null && !routeDefinitions.isEmpty()) {
List list = new ArrayList();
routeDefinitions.forEach((r) -> {
if (this.routeFilter == null || (Boolean)this.routeFilter.apply(r)) 
{
list.add(r);
}

});
this.removeRouteDefinitions(list);
this.routeDefinitions.addAll(list);
if (this.shouldStartRoutes()) {

((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
}

}
}

{code}
 

 

We are not able to updates routes in camelcontext frequently because of this 
issue. Everytime we update routes in camelcontext that causes us some FCI since 
we have high traffic in our application. 

 

  was:
We are using Apache Camel 3.2.0. We update camel routes at runtime using below 
code. 

// update routes in camel contexts. Definitions are in XML files

ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
 mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
workflowDefinitionsList is the list of XML routes}}

 

*Problem Statement*: Dynamic routes updates causes few requests to fail at 
runtime. When these routes are being updated, we also call getRoute to serve 
live traffic.

Since addRouteDefinitions first delete routes given in 
{{workflowDefinitionsList}} from camel context and then add those routes back 
to camelcontext, These routes won't be available for few mili second and that 
causes request to fails.

Route route = exchange.getContext().getRoute(workflowRouteId);  // get route

Since there can be only one CamelContext per Application, I am not sure how can 
I resolve this issue. Is there any other method available where we can PATCH 
routes changes at runtime. Dynamic route updates shouldn't cause few requests 
to fails.

 

 

{{Here is camel 3 code for addRouteDefinitions method where routes are being 
removed and added:}}
{code:java}
public synchronized void addRouteDefinitions(Collection 
routeDefinitions) throws Exception {
if (routeDefinitions != null && !routeDefinitions.isEmpty()) {
List list = new ArrayList();
routeDefinitions.forEach((r) -> {
if (this.routeFilter == null || (Boolean)this.routeFilter.apply(r)) 
{
list.add(r);
}

});
this.removeRouteDefinitions(list);
this.routeDefinitions.addAll(list);
if (this.shouldStartRoutes()) {

((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
}

}
}

{code}
 

 

 

 


> Dynamic route updates causes few requests to fails 
> ---
>
> Key: CAMEL-15568
> URL: https://issues.apache.org/jira/browse/CAMEL-15568
> Project: Camel
>  Issue Type: Bug
>  Components: camel-core-engine
>Affects Versions: 3.2.0
>Reporter: Minal Bhalodi
>Priority: Minor
>
> We are using Apache Camel 3.2.0. We update camel routes at runtime using 
> below code. 
> // update routes in camel contexts. Definitions are in XML files
> ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
>  mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
> workflowDefinitionsList is the list of XML routes}}
>  
> *Problem Statement*: Dynamic routes updates causes few requests to fail at 
> runtime. When these 

[jira] [Updated] (CAMEL-15568) Dynamic route updates causes few requests to fails

2020-09-22 Thread Minal Bhalodi (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-15568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Minal Bhalodi updated CAMEL-15568:
--
Component/s: (was: camel-core)
 camel-core-engine

> Dynamic route updates causes few requests to fails 
> ---
>
> Key: CAMEL-15568
> URL: https://issues.apache.org/jira/browse/CAMEL-15568
> Project: Camel
>  Issue Type: Bug
>  Components: camel-core-engine
>Affects Versions: 3.2.0
>Reporter: Minal Bhalodi
>Priority: Minor
>
> We are using Apache Camel 3.2.0. We update camel routes at runtime using 
> below code. 
> // update routes in camel contexts. Definitions are in XML files
> ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
>  mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
> workflowDefinitionsList is the list of XML routes}}
>  
> *Problem Statement*: Dynamic routes updates causes few requests to fail at 
> runtime. When these routes are being updated, we also call getRoute to serve 
> live traffic.
> Since addRouteDefinitions first delete routes given in 
> {{workflowDefinitionsList}} from camel context and then add those routes back 
> to camelcontext, These routes won't be available for few mili second and that 
> causes request to fails.
> Route route = exchange.getContext().getRoute(workflowRouteId);  // get route
> Since there can be only one CamelContext per Application, I am not sure how 
> can I resolve this issue. Is there any other method available where we can 
> PATCH routes changes at runtime. Dynamic route updates shouldn't cause few 
> requests to fails.
>  
>  
> {{Here is camel 3 code for addRouteDefinitions method where routes are being 
> removed and added:}}
> {code:java}
> public synchronized void addRouteDefinitions(Collection 
> routeDefinitions) throws Exception {
> if (routeDefinitions != null && !routeDefinitions.isEmpty()) {
> List list = new ArrayList();
> routeDefinitions.forEach((r) -> {
> if (this.routeFilter == null || 
> (Boolean)this.routeFilter.apply(r)) {
> list.add(r);
> }
> });
> this.removeRouteDefinitions(list);
> this.routeDefinitions.addAll(list);
> if (this.shouldStartRoutes()) {
> 
> ((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
> }
> }
> }
> {code}
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (CAMEL-15568) Dynamic route updates causes few requests to fails

2020-09-22 Thread Minal Bhalodi (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-15568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Minal Bhalodi updated CAMEL-15568:
--
Description: 
We are using Apache Camel 3.2.0. We update camel routes at runtime using below 
code. 

// update routes in camel contexts. Definitions are in XML files

ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
 mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
workflowDefinitionsList is the list of XML routes}}

 

*Problem Statement*: Dynamic routes updates causes few requests to fail at 
runtime. When these routes are being updated, we also call getRoute to serve 
live traffic.

Since addRouteDefinitions first delete routes given in 
{{workflowDefinitionsList}} from camel context and then add those routes back 
to camelcontext, These routes won't be available for few mili second and that 
causes request to fails.

Route route = exchange.getContext().getRoute(workflowRouteId);  // get route

Since there can be only one CamelContext per Application, I am not sure how can 
I resolve this issue. Is there any other method available where we can PATCH 
routes changes at runtime. Dynamic route updates shouldn't cause few requests 
to fails.

 

 

{{Here is camel 3 code for addRouteDefinitions method where routes are being 
removed and added:}}
{code:java}
public synchronized void addRouteDefinitions(Collection 
routeDefinitions) throws Exception {
if (routeDefinitions != null && !routeDefinitions.isEmpty()) {
List list = new ArrayList();
routeDefinitions.forEach((r) -> {
if (this.routeFilter == null || (Boolean)this.routeFilter.apply(r)) 
{
list.add(r);
}

});
this.removeRouteDefinitions(list);
this.routeDefinitions.addAll(list);
if (this.shouldStartRoutes()) {

((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
}

}
}

{code}
 

 

 

 

  was:
We are using Apache Camel 3.2.0. We update camel routes at runtime using below 
code. 

// update routes in camel contexts. Definitions are in XML files

ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
 mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
workflowDefinitionsList is the list of XML routes}}

 

*Problem Statement*: Dynamic routes updates causes few requests to fail at 
runtime. When these routes are being updated, we also call getRoute to serve 
live traffic.

Since addRouteDefinitions first delete routes given in 
{{workflowDefinitionsList}} from camel context and then add those routes back 
to camelcontext, These routes won't be available for few mili second and that 
causes request to fails.

Route route = exchange.getContext().getRoute(workflowRouteId);  // get route

Since there can be only one CamelContext per Application, I am not sure how can 
I resolve this issue. Is there any other method available where we can PATCH 
routes changes at runtime. Dynamic route updates shouldn't cause few requests 
to fails.

 

 

{{Here is camel 3 code for addRouteDefinitions method:}}
{code:java}
public synchronized void addRouteDefinitions(Collection 
routeDefinitions) throws Exception {
if (routeDefinitions != null && !routeDefinitions.isEmpty()) {
List list = new ArrayList();
routeDefinitions.forEach((r) -> {
if (this.routeFilter == null || (Boolean)this.routeFilter.apply(r)) 
{
list.add(r);
}

});
this.removeRouteDefinitions(list);
this.routeDefinitions.addAll(list);
if (this.shouldStartRoutes()) {

((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
}

}
}

{code}
 

 

 

 


> Dynamic route updates causes few requests to fails 
> ---
>
> Key: CAMEL-15568
> URL: https://issues.apache.org/jira/browse/CAMEL-15568
> Project: Camel
>  Issue Type: Bug
>  Components: camel-core
>Affects Versions: 3.2.0
>Reporter: Minal Bhalodi
>Priority: Minor
>
> We are using Apache Camel 3.2.0. We update camel routes at runtime using 
> below code. 
> // update routes in camel contexts. Definitions are in XML files
> ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
>  mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
> workflowDefinitionsList is the list of XML routes}}
>  
> *Problem Statement*: Dynamic routes updates causes few requests to fail at 
> runtime. When these routes are being updated, we also call getRoute to serve 
> live traffic.
> Since addRouteDefinitions first delete routes given in 
> {{workflowDefinitionsList}} from camel context and then add those routes back 
> to camelcontext, These routes 

[jira] [Updated] (CAMEL-15568) Dynamic route updates causes few requests to fails

2020-09-22 Thread Minal Bhalodi (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-15568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Minal Bhalodi updated CAMEL-15568:
--
Description: 
We are using Apache Camel 3.2.0. We update camel routes at runtime using below 
code. 

// update routes in camel contexts. Definitions are in XML files

ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
 mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
workflowDefinitionsList is the list of XML routes}}

 

*Problem Statement*: Dynamic routes updates causes few requests to fail at 
runtime. When these routes are being updated, we also call getRoute to serve 
live traffic.

Since addRouteDefinitions first delete routes given in 
{{workflowDefinitionsList}} from camel context and then add those routes back 
to camelcontext, These routes won't be available for few mili second and that 
causes request to fails.

Route route = exchange.getContext().getRoute(workflowRouteId);  // get route

Since there can be only one CamelContext per Application, I am not sure how can 
I resolve this issue. Is there any other method available where we can PATCH 
routes changes at runtime. Dynamic route updates shouldn't cause few requests 
to fails.

 

 

{{Here is camel 3 code for addRouteDefinitions method:}}
{code:java}
public synchronized void addRouteDefinitions(Collection 
routeDefinitions) throws Exception {
if (routeDefinitions != null && !routeDefinitions.isEmpty()) {
List list = new ArrayList();
routeDefinitions.forEach((r) -> {
if (this.routeFilter == null || (Boolean)this.routeFilter.apply(r)) 
{
list.add(r);
}

});
this.removeRouteDefinitions(list);
this.routeDefinitions.addAll(list);
if (this.shouldStartRoutes()) {

((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
}

}
}

{code}
 

 

 

 

  was:
We are using Apache Camel 3.2.0. We update camel routes at runtime using below 
code. 

// update routes in camel contexts. Definitions are in XML files

ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
 mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
workflowDefinitionsList is the list of XML routes}}

 

*Problem Statement*: Dynamic routes updates causes few requests to fail at 
runtime. When these routes are being updated, we also call getRoute to serve 
live traffic.

Since addRouteDefinitions first delete routes given in 
{{workflowDefinitionsList}} from camel context and then add those routes back 
to camelcontext, These routes won't be available for few mili second and that 
causes request to fails.

Route route = exchange.getContext().getRoute(workflowRouteId);  // get route

Since there can be only one CamelContext per Application, I am not sure how can 
I resolve this issue. Is there any other method available where we can PATCH 
routes changes at runtime. Dynamic route updates shouldn't cause few requests 
to fails.

 

 

{{Here is  camel 3 code for addRouteDefinitions method:}}

{{}}

{{}}
{code:java}

{code}
{{// public synchronized void addRouteDefinitions(Collection 
routeDefinitions) throws Exception \{ if (routeDefinitions != null && 
!routeDefinitions.isEmpty()) { List list = new ArrayList(); 
routeDefinitions.forEach((r) -> { if (this.routeFilter == null || 
(Boolean)this.routeFilter.apply(r)) { list.add(r); } }); 
this.removeRouteDefinitions(list); this.routeDefinitions.addAll(list); if 
(this.shouldStartRoutes()) \{ 
((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
 } } }}}{{}}

 

 

 

 


> Dynamic route updates causes few requests to fails 
> ---
>
> Key: CAMEL-15568
> URL: https://issues.apache.org/jira/browse/CAMEL-15568
> Project: Camel
>  Issue Type: Bug
>  Components: camel-core
>Affects Versions: 3.2.0
>Reporter: Minal Bhalodi
>Priority: Minor
>
> We are using Apache Camel 3.2.0. We update camel routes at runtime using 
> below code. 
> // update routes in camel contexts. Definitions are in XML files
> ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
>  mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
> workflowDefinitionsList is the list of XML routes}}
>  
> *Problem Statement*: Dynamic routes updates causes few requests to fail at 
> runtime. When these routes are being updated, we also call getRoute to serve 
> live traffic.
> Since addRouteDefinitions first delete routes given in 
> {{workflowDefinitionsList}} from camel context and then add those routes back 
> to camelcontext, These routes won't be available for few mili second and that 
> causes request to fails.
> Route route = 

[jira] [Updated] (CAMEL-15568) Dynamic route updates causes few requests to fails

2020-09-22 Thread Minal Bhalodi (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-15568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Minal Bhalodi updated CAMEL-15568:
--
Description: 
We are using Apache Camel 3.2.0. We update camel routes at runtime using below 
code. 

// update routes in camel contexts. Definitions are in XML files

ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
 mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
workflowDefinitionsList is the list of XML routes}}

 

*Problem Statement*: Dynamic routes updates causes few requests to fail at 
runtime. When these routes are being updated, we also call getRoute to serve 
live traffic.

Since addRouteDefinitions first delete routes given in 
{{workflowDefinitionsList}} from camel context and then add those routes back 
to camelcontext, These routes won't be available for few mili second and that 
causes request to fails.

Route route = exchange.getContext().getRoute(workflowRouteId);  // get route

Since there can be only one CamelContext per Application, I am not sure how can 
I resolve this issue. Is there any other method available where we can PATCH 
routes changes at runtime. Dynamic route updates shouldn't cause few requests 
to fails.

 

 

{{Here is  camel 3 code for addRouteDefinitions method:}}

{{}}

{{}}
{code:java}

{code}
{{// public synchronized void addRouteDefinitions(Collection 
routeDefinitions) throws Exception \{ if (routeDefinitions != null && 
!routeDefinitions.isEmpty()) { List list = new ArrayList(); 
routeDefinitions.forEach((r) -> { if (this.routeFilter == null || 
(Boolean)this.routeFilter.apply(r)) { list.add(r); } }); 
this.removeRouteDefinitions(list); this.routeDefinitions.addAll(list); if 
(this.shouldStartRoutes()) \{ 
((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
 } } }}}{{}}

 

 

 

 

  was:
We are using Apache Camel 3.2.0. We update camel routes at runtime using below 
code. 

ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
workflowDefinitionsList is the list of XML routes}}

 

*Problem Statement*: Dynamic routes updates causes few requests to fail at 
runtime. When these routes are being updated, we also serve requests using 
those routes from same CamelContext and few Requests fails.

Since there can be only one CamelContext per Application, I am not sure how can 
I resolve this issue.

My application’s code to update routes at runtime: Here we can see that to 
add/update routes, these code first delete all routes and then add them back. 
These affects the live traffic and requests fails.:

 

 


> Dynamic route updates causes few requests to fails 
> ---
>
> Key: CAMEL-15568
> URL: https://issues.apache.org/jira/browse/CAMEL-15568
> Project: Camel
>  Issue Type: Bug
>  Components: camel-core
>Affects Versions: 3.2.0
>Reporter: Minal Bhalodi
>Priority: Minor
>
> We are using Apache Camel 3.2.0. We update camel routes at runtime using 
> below code. 
> // update routes in camel contexts. Definitions are in XML files
> ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
>  mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
> workflowDefinitionsList is the list of XML routes}}
>  
> *Problem Statement*: Dynamic routes updates causes few requests to fail at 
> runtime. When these routes are being updated, we also call getRoute to serve 
> live traffic.
> Since addRouteDefinitions first delete routes given in 
> {{workflowDefinitionsList}} from camel context and then add those routes back 
> to camelcontext, These routes won't be available for few mili second and that 
> causes request to fails.
> Route route = exchange.getContext().getRoute(workflowRouteId);  // get route
> Since there can be only one CamelContext per Application, I am not sure how 
> can I resolve this issue. Is there any other method available where we can 
> PATCH routes changes at runtime. Dynamic route updates shouldn't cause few 
> requests to fails.
>  
>  
> {{Here is  camel 3 code for addRouteDefinitions method:}}
> {{}}
> {{}}
> {code:java}
> {code}
> {{// public synchronized void addRouteDefinitions(Collection 
> routeDefinitions) throws Exception \{ if (routeDefinitions != null && 
> !routeDefinitions.isEmpty()) { List list = new ArrayList(); 
> routeDefinitions.forEach((r) -> { if (this.routeFilter == null || 
> (Boolean)this.routeFilter.apply(r)) { list.add(r); } }); 
> this.removeRouteDefinitions(list); this.routeDefinitions.addAll(list); if 
> (this.shouldStartRoutes()) \{ 
> ((ModelCamelContext)this.getCamelContext().adapt(ModelCamelContext.class)).startRouteDefinitions(list);
>  } } }}}{{}}
>  
>  
>  
>  



--
This message was sent by Atlassian Jira

[jira] [Updated] (CAMEL-15568) Dynamic route updates causes few requests to fails

2020-09-22 Thread Minal Bhalodi (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-15568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Minal Bhalodi updated CAMEL-15568:
--
Description: 
We are using Apache Camel 3.2.0. We update camel routes at runtime using below 
code. 

ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
workflowDefinitionsList is the list of XML routes}}

 

*Problem Statement*: Dynamic routes updates causes few requests to fail at 
runtime. When these routes are being updated, we also serve requests using 
those routes from same CamelContext and few Requests fails.

Since there can be only one CamelContext per Application, I am not sure how can 
I resolve this issue.

My application’s code to update routes at runtime: Here we can see that to 
add/update routes, these code first delete all routes and then add them back. 
These affects the live traffic and requests fails.:

 

 

  was:
we use Persistent Custom MDC Logging in Apache Camel as mentioned in this link.
h1. 
[https://developers.redhat.com/blog/2016/05/12/persistent-custom-mdc-logging-in-apache-camel/]

 

After we upgrade Apache Camel version from 2.25.0 to 3.2.0 , we started seeing 
issue of thread is being hold for 30-40 ms when calling CustomUnitOFWork which 
internally call MDCUnitOfWork. 

 

What we noticed is thread hold time is keep on increasing every hour and not 
able to understand this issue. 


> Dynamic route updates causes few requests to fails
> --
>
> Key: CAMEL-15568
> URL: https://issues.apache.org/jira/browse/CAMEL-15568
> Project: Camel
>  Issue Type: Bug
>  Components: camel-core
>Affects Versions: 3.2.0
>Reporter: Minal Bhalodi
>Priority: Minor
>
> We are using Apache Camel 3.2.0. We update camel routes at runtime using 
> below code. 
> ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
> mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
> workflowDefinitionsList is the list of XML routes}}
>  
> *Problem Statement*: Dynamic routes updates causes few requests to fail at 
> runtime. When these routes are being updated, we also serve requests using 
> those routes from same CamelContext and few Requests fails.
> Since there can be only one CamelContext per Application, I am not sure how 
> can I resolve this issue.
> My application’s code to update routes at runtime: Here we can see that to 
> add/update routes, these code first delete all routes and then add them back. 
> These affects the live traffic and requests fails.:
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (CAMEL-15568) Dynamic route updates causes few requests to fails

2020-09-22 Thread Minal Bhalodi (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-15568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Minal Bhalodi updated CAMEL-15568:
--
Summary: Dynamic route updates causes few requests to fails   (was: Dynamic 
route updates causes few requests to fails)

> Dynamic route updates causes few requests to fails 
> ---
>
> Key: CAMEL-15568
> URL: https://issues.apache.org/jira/browse/CAMEL-15568
> Project: Camel
>  Issue Type: Bug
>  Components: camel-core
>Affects Versions: 3.2.0
>Reporter: Minal Bhalodi
>Priority: Minor
>
> We are using Apache Camel 3.2.0. We update camel routes at runtime using 
> below code. 
> ModelCamelContext mcc = camelContext.adapt(ModelCamelContext.class);
> mcc.addRouteDefinitions({{workflowDefinitionsList}}); {{// 
> workflowDefinitionsList is the list of XML routes}}
>  
> *Problem Statement*: Dynamic routes updates causes few requests to fail at 
> runtime. When these routes are being updated, we also serve requests using 
> those routes from same CamelContext and few Requests fails.
> Since there can be only one CamelContext per Application, I am not sure how 
> can I resolve this issue.
> My application’s code to update routes at runtime: Here we can see that to 
> add/update routes, these code first delete all routes and then add them back. 
> These affects the live traffic and requests fails.:
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (CAMEL-15568) Dynamic route updates causes few requests to fails

2020-09-22 Thread Minal Bhalodi (Jira)
Minal Bhalodi created CAMEL-15568:
-

 Summary: Dynamic route updates causes few requests to fails
 Key: CAMEL-15568
 URL: https://issues.apache.org/jira/browse/CAMEL-15568
 Project: Camel
  Issue Type: Bug
  Components: camel-core
Affects Versions: 3.2.0
Reporter: Minal Bhalodi


we use Persistent Custom MDC Logging in Apache Camel as mentioned in this link.
h1. 
[https://developers.redhat.com/blog/2016/05/12/persistent-custom-mdc-logging-in-apache-camel/]

 

After we upgrade Apache Camel version from 2.25.0 to 3.2.0 , we started seeing 
issue of thread is being hold for 30-40 ms when calling CustomUnitOFWork which 
internally call MDCUnitOfWork. 

 

What we noticed is thread hold time is keep on increasing every hour and not 
able to understand this issue. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)