[jira] [Commented] (CAMEL-9003) Allow multiple producers with differing request timeouts
[ https://issues.apache.org/jira/browse/CAMEL-9003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14639275#comment-14639275 ] Jonathan Anstey commented on CAMEL-9003: I was assuming that modifying the channel pipeline would be a really expensive thing to do but in reality over a lot of messages the difference is minimal. It was only slightly slower to use a header over 100K messages: 10 messages with timeout set via header: 27101ms. 10 messages with timeout set via uri: 26615ms. After http://git-wip-us.apache.org/repos/asf/camel/commit/b587d402 you can now use a CamelNettyRequestTimneout header to override this setting. > Allow multiple producers with differing request timeouts > > > Key: CAMEL-9003 > URL: https://issues.apache.org/jira/browse/CAMEL-9003 > Project: Camel > Issue Type: Improvement > Components: camel-netty, camel-netty4 >Reporter: Jonathan Anstey >Assignee: Jonathan Anstey > Fix For: 2.16.0, 2.15.3 > > > User reported that Camel is 'caching' the timeout setting on outgoing netty > calls, so the first call out it would be using the correct timeout setting, > but subsequent outgoing calls with different timeout settings Camel would > still use the same initial timeout given instead of the new one. > So usually you would override these kind of things in headers for each > request... but you can't just change the timeout value for each call in > netty, you'd have to reconstruct the entire channel pipeline... which would > be a bit expensive :-) > Solution is to add requestTimeout to key for ProducerCache so we get distinct > producers with different requestTimeout values. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CAMEL-9003) Allow multiple producers with differing request timeouts
[ https://issues.apache.org/jira/browse/CAMEL-9003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14638771#comment-14638771 ] Claus Ibsen commented on CAMEL-9003: Yeah if its a header and then the pipeline can read and use that over the configured value - if that would be possible. Then its the same producer instance in use. > Allow multiple producers with differing request timeouts > > > Key: CAMEL-9003 > URL: https://issues.apache.org/jira/browse/CAMEL-9003 > Project: Camel > Issue Type: Improvement > Components: camel-netty, camel-netty4 >Reporter: Jonathan Anstey >Assignee: Jonathan Anstey > Fix For: 2.16.0, 2.15.3 > > > User reported that Camel is 'caching' the timeout setting on outgoing netty > calls, so the first call out it would be using the correct timeout setting, > but subsequent outgoing calls with different timeout settings Camel would > still use the same initial timeout given instead of the new one. > So usually you would override these kind of things in headers for each > request... but you can't just change the timeout value for each call in > netty, you'd have to reconstruct the entire channel pipeline... which would > be a bit expensive :-) > Solution is to add requestTimeout to key for ProducerCache so we get distinct > producers with different requestTimeout values. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CAMEL-9003) Allow multiple producers with differing request timeouts
[ https://issues.apache.org/jira/browse/CAMEL-9003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14638759#comment-14638759 ] Jonathan Anstey commented on CAMEL-9003: Yeah, I agree it isn't ideal. Ideal would have been to use a header override for this... but at least now you can have more than one timeout :-) > Allow multiple producers with differing request timeouts > > > Key: CAMEL-9003 > URL: https://issues.apache.org/jira/browse/CAMEL-9003 > Project: Camel > Issue Type: Improvement > Components: camel-netty, camel-netty4 >Reporter: Jonathan Anstey >Assignee: Jonathan Anstey > Fix For: 2.16.0, 2.15.3 > > > User reported that Camel is 'caching' the timeout setting on outgoing netty > calls, so the first call out it would be using the correct timeout setting, > but subsequent outgoing calls with different timeout settings Camel would > still use the same initial timeout given instead of the new one. > So usually you would override these kind of things in headers for each > request... but you can't just change the timeout value for each call in > netty, you'd have to reconstruct the entire channel pipeline... which would > be a bit expensive :-) > Solution is to add requestTimeout to key for ProducerCache so we get distinct > producers with different requestTimeout values. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CAMEL-9003) Allow multiple producers with differing request timeouts
[ https://issues.apache.org/jira/browse/CAMEL-9003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14638756#comment-14638756 ] Claus Ibsen commented on CAMEL-9003: People should really be careful, if you have 1000s of different timeout values you have 1s of different producers. This is bad. People should maybe settle for a limited number of different timeouts and use that only. > Allow multiple producers with differing request timeouts > > > Key: CAMEL-9003 > URL: https://issues.apache.org/jira/browse/CAMEL-9003 > Project: Camel > Issue Type: Improvement > Components: camel-netty, camel-netty4 >Reporter: Jonathan Anstey >Assignee: Jonathan Anstey > Fix For: 2.16.0, 2.15.3 > > > User reported that Camel is 'caching' the timeout setting on outgoing netty > calls, so the first call out it would be using the correct timeout setting, > but subsequent outgoing calls with different timeout settings Camel would > still use the same initial timeout given instead of the new one. > So usually you would override these kind of things in headers for each > request... but you can't just change the timeout value for each call in > netty, you'd have to reconstruct the entire channel pipeline... which would > be a bit expensive :-) > Solution is to add requestTimeout to key for ProducerCache so we get distinct > producers with different requestTimeout values. -- This message was sent by Atlassian JIRA (v6.3.4#6332)