Bug 1017768 - Throttling timePeriod configuration in switchyard.xml not used at runtime
Summary: Throttling timePeriod configuration in switchyard.xml not used at runtime
Keywords:
Status: VERIFIED
Alias: None
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: SwitchYard
Version: 6.0.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: CR1
: 6.1.0
Assignee: Rob Cernich
QA Contact: Matej Melko
URL:
Whiteboard:
Depends On:
Blocks: 1146192
TreeView+ depends on / blocked
 
Reported: 2013-10-10 13:26 UTC by Keith Babo
Modified: 2023-12-22 07:33 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SWITCHYARD-1718 0 Major Closed Throttling timePeriod configuration in switchyard.xml not used at runtime 2016-04-25 20:24:19 UTC
Red Hat Issue Tracker SWITCHYARD-2306 0 Major Resolved Throttling timePeriod configuration in switchyard.xml not used at runtime 2016-04-25 20:24:20 UTC
Red Hat Knowledge Base (Solution) 701413 0 None None None Never

Description Keith Babo 2013-10-10 13:26:00 UTC
Time period for throttling defaults to 1 second, but can be changed to a different value in switchyard.xml.  This value is not used when setting up throttling at runtime, however.

Note that max requests per time period works today and can be configured statically (via switchyard.xml) and dynamically (via console, admin APIs) at runtime.  The time period can *only* be set statically via switchyard.xml.  This is not a bug, it's a limitation of the camel throttling processor which we use under the covers.

Comment 2 JBoss JIRA Server 2013-10-21 13:06:48 UTC
Keith Babo <kbabo> made a comment on jira SWITCHYARD-1718

pushed

Comment 3 Keith Babo 2014-01-03 03:44:07 UTC
Reopening this issue as it's not completely fixed.  The bus has been updated to accept the throttling time period, unfortunately the deployer updates the throttling metadata after the reference is created and the Camel bus route is configured:

https://github.com/jboss-switchyard/core/blob/master/deploy/base/src/main/java/org/switchyard/deploy/internal/Deployment.java#L599

The bus route is created in registerServiceReference() and the reference is updated with throttling info after that point, which is too late.  The fix for this requires some deeper surgery in core to build/start the route after the throttling information is updated.

Comment 4 Rick Wagner 2014-02-05 17:08:54 UTC
Note to Engineering:  CEE (GSS) has a couple of support cases, we're getting 'when' requests.  Have we got a reasonable ETA we can supply?  (Please consider only time to produce the source, we'll pad for build and QE).

Thanks,

Rick

Comment 5 Keith Babo 2014-02-05 17:17:57 UTC
Hey Rick - there is not a when yet as the work has not been scheduled.  It would be interesting to hear the use cases people have for using this capability as the only things that are not possible now are:

1) Setting sub-second rate limiters. For example, specifying 10 messages every 10 milliseconds.  This can be approximated using the current support by saying 1000 messages per second.  Of course, these are not identical, but they are likely close in real world use cases.

2) Allowing only one message over a multi-second interval.  For example, one message every 10 seconds.

Do you know which one of those use cases customers are asking about?

Comment 6 Rick Wagner 2014-02-05 19:10:44 UTC

Case 1019469-- closed, they decided they wanted to go about it a different way.  The original request was for 2 messages per minute.  
<throttling maxRequests="2" timePeriod="60000"/>

Case 1035302-- have referenced this BZ.  They haven't said which use case is of interest to them.  I'll ask, will report back when they reply.

Rick

Comment 7 Keith Babo 2014-02-05 19:12:38 UTC
One thing to keep in mind there is that depending on the type and configuration of the client, the client could timeout with a 60-second window.  This may be perfectly acceptable to the user as they expect the client to resubmit at some point, but wanted to point it out.

Comment 8 Anton Giertli 2014-02-06 08:09:12 UTC
Hi Keith,

forwarding customer's reply:

"I think it eventually would be better to available both.
But use case 2 is more important than 1 as I see it."

Anton.

Comment 9 Anton Giertli 2014-02-10 08:40:50 UTC
Hi Keith,

do you have any update on the status of this issue ?

Thanks,
Anton.

Comment 10 Rick Wagner 2014-02-27 17:33:55 UTC
Removing this BZ from the dependencies list for the current Roll up.

Analysis shows this fix will not be one we can quickly implement.  Please look for other ways to deal with this deficiency, we currently can offer no ETA on a solution.

Rick

Comment 11 JBoss JIRA Server 2014-06-16 23:48:05 UTC
Keith Babo <kbabo> updated the status of jira SWITCHYARD-1718 to Closed

Comment 13 Rick Wagner 2014-06-25 17:49:39 UTC
Moving this Bug from Roll up 2 to Roll up 3 of 2014.  It's known to be difficult to fully implement, if not ready by RU3 consider marking it 'Won't fix'.

Comment 14 Rob Cernich 2014-08-29 22:06:54 UTC
This issue was only partially fixed, so moving back to assigned.  To summarize, the configured value is used at runtime, but applied after the creation of the internal bus route, which means the default value is used anyway.

Comment 15 Rob Cernich 2014-09-25 17:33:20 UTC
changes have been pushed to 1.x branch and should be available p8 or later.

Comment 18 Tomas Rohovsky 2015-02-17 19:03:10 UTC
I've just tested that with a test from our testsuite and it works like a charm. Good job Keith.


Note You need to log in before you can comment on or make changes to this bug.