On Tue, Jun 14, 2016 at 9:48 AM, Isuru Udana <[email protected]> wrote:
> Hi All, > > Performance issue with get-property() caused by unnecessary registry > access is now fixed with > https://github.com/wso2/wso2-synapse/pull/570 > > That's great. So, we don't need to worry about migrating the existing config. But for consistency, we need to get the above changes included in the ESB. @Nadeeshan : Any luck with a better config to retrieve the registry properties? > Thanks. > > On Tue, Jun 14, 2016 at 10:14 PM, Isuru Udana <[email protected]> wrote: > >> Hi Nadeeshan, >> >> >> On Tue, Jun 14, 2016 at 12:38 AM, Nadeeshaan Gunasinghe < >> [email protected]> wrote: >> >>> Hi all, >>> >>> After analyzing the possibility of adding the synapse variable for the >>> registry scope I could come up with a feasible solution. >>> >>> >>> - Here, one of the key concern was to preserve the backward >>> compatibility and the consistency with the current synapse variable >>> implementation. First solution was the following, adhering to the >>> existing >>> synapse variable related configurations. >>> >>> >>> >>> >>> * <property name="registry_value" >>> expression="$reg:conf:Resource/bar@hello" /> * >>> - When we try to include this configuration, it throws a jaxen >>> exception since this is invalid xpath expression. >>> >>> >>> >>> >>> *class org.jaxen.saxpath.XPathSyntaxException: >>> $reg:conf:Resource/bar@hello: 9: Unexpected ':' * >>> - Since we need to include a registry path in the xpath expression >>> we have to go for a configuration option slightly drifted away from the >>> current synapse variable related configuration. By following the bellow >>> configuration we can achieve the expected outcome successfully. As the >>> first step we need to have a property to keep the registry path as, >>> >>> >>> >>> >>> * <property name="registry_path" value="conf:Resource/bar@hello"/> * >>> - Then the registry scope synapse variable configuration is as >>> follows, >>> >>> *<property name="registry_value" expression="$reg:**registry_path* >>> *"/> * >>> >>> IMO this is not an elegant solution. Intension of introducing context >> variables is to make things simpler, which is not address in this solution. >> I think we should try do a better implementation. >> >> Thanks. >> >>> >>> - >>> >>> - In this case, instead of providing the full registry path in the >>> synapse expression we use the property name, where we set with the >>> registry >>> path. >>> >>> - Adhering to the above configuration, in the implementation we get >>> the corresponding property name as the *localName *and we can get >>> the respective registry path as bellow. >>> >>> else if (SynapseXPathConstants.REGISTRY_VARIABLE_PREFIX.equals(prefix)) { >>> *String key = (String)synCtx.getProperty(localName);* >>> String[] regParam = key.split("@"); >>> String regPath = null; >>> String propName = null; >>> >>> >>> - As highlighted I'm getting the registry path for processing, >>> through the synapse context using the property name. >>> >>> >>> This is the current solution for the new registry scope as a synapse >>> variable and can we consider this as the viable solution for the registry >>> scope, because of this is a special case where we consider a registry path? >>> WDYT? >>> >>> Thanks, >>> >>> *Nadeeshaan Gunasinghe* >>> Software Engineer, WSO2 Inc. http://wso2.com >>> +94770596754 | [email protected] | Skype: nadeeshaan.gunasinghe >>> <#m_3233678506527721877_m_-7945033807554017813_m_6820348976097291375_> >>> <http://www.facebook.com/nadeeshaan.gunasinghe> >>> <http://lk.linkedin.com/in/nadeeshaan> <http://twitter.com/Nadeeshaan> >>> <http://nadeeshaan.blogspot.com/> >>> Get a signature like this: Click here! >>> <http://ws-promos.appspot.com/r?rdata=eyJydXJsIjogImh0dHA6Ly93d3cud2lzZXN0YW1wLmNvbS9lbWFpbC1pbnN0YWxsP3dzX25jaWQ9NjcyMjk0MDA4JnV0bV9zb3VyY2U9ZXh0ZW5zaW9uJnV0bV9tZWRpdW09ZW1haWwmdXRtX2NhbXBhaWduPXByb21vXzU3MzI1Njg1NDg3Njk3OTIiLCAiZSI6ICI1NzMyNTY4NTQ4NzY5NzkyIn0=&u=602853038872535> >>> >>> On Wed, Jun 1, 2016 at 8:05 PM, Isuru Udana <[email protected]> wrote: >>> >>>> Hi Kasun, >>>> >>>> We also need to add system scope. >>>> >>>> Are we talking about removing get-property function or just implement >>>> what ever we can do with get-property() to do with context variables and >>>> recommending to use variables. I believe we are doing the latter. >>>> Completely removing it is not an option due to migration issues, need to do >>>> massive changes in samples, articles, blogs, documentation. >>>> >>>> And also regarding the unnecessary registry access, I think we should >>>> check again whether we can fix it. I will check the possibility doing that. >>>> >>>> Thanks. >>>> >>>> On Thu, Jun 2, 2016 at 5:27 AM, Nadeeshaan Gunasinghe < >>>> [email protected]> wrote: >>>> >>>>> Hi Kasun, >>>>> >>>>> Will go through the aforementioned fact. >>>>> >>>>> Thanks, >>>>> >>>>> *Nadeeshaan Gunasinghe* >>>>> Software Engineer, WSO2 Inc. http://wso2.com >>>>> +94770596754 | [email protected] | Skype: nadeeshaan.gunasinghe >>>>> <#m_3233678506527721877_m_-7945033807554017813_m_6820348976097291375_m_4205543007657424697_m_-6918896767413548059_> >>>>> <http://www.facebook.com/nadeeshaan.gunasinghe> >>>>> <http://lk.linkedin.com/in/nadeeshaan> >>>>> <http://twitter.com/Nadeeshaan> <http://nadeeshaan.blogspot.com/> >>>>> Get a signature like this: Click here! >>>>> <http://ws-promos.appspot.com/r?rdata=eyJydXJsIjogImh0dHA6Ly93d3cud2lzZXN0YW1wLmNvbS9lbWFpbC1pbnN0YWxsP3dzX25jaWQ9NjcyMjk0MDA4JnV0bV9zb3VyY2U9ZXh0ZW5zaW9uJnV0bV9tZWRpdW09ZW1haWwmdXRtX2NhbXBhaWduPXByb21vXzU3MzI1Njg1NDg3Njk3OTIiLCAiZSI6ICI1NzMyNTY4NTQ4NzY5NzkyIn0=&u=789400881267119> >>>>> >>>>> On Wed, Jun 1, 2016 at 3:08 PM, Kasun Indrasiri <[email protected]> >>>>> wrote: >>>>> >>>>>> We need to add this to ESB 5. (We just came across another perf issue >>>>>> due to the redundant use of get-property) >>>>>> >>>>>> @Nadeeshan : Can you please check the limitations on adding this to >>>>>> other scopes such as operations/registry? >>>>>> >>>>>> On Wed, Jun 17, 2015 at 7:49 PM, Chanaka Fernando <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Also some customers use the "operation" scope to store and retrieve >>>>>>> values within the mediation flow. Better if we can add "$operation" >>>>>>> also. >>>>>>> >>>>>>> On Thu, Jun 18, 2015 at 1:44 AM, Isabelle Mauny <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Totally +1 to that suggestion.. backward compatibility is key .. >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------------------------------- >>>>>>>> *Isabelle Mauny* >>>>>>>> VP, Product Management - WSO2, Inc. - http://wso2.com/ >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Jun 17, 2015 at 3:17 PM, Colin Roy-Ehri <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> +1 >>>>>>>>> It would be great to simplify the options available for property >>>>>>>>> lookup. I think this would increase the usability of our product. I >>>>>>>>> am >>>>>>>>> also concerned about customers migrating their existing xml code. >>>>>>>>> >>>>>>>>> In order to gain performance by moving away from get-property, >>>>>>>>> would customers need to revise all their use of these mediators? I >>>>>>>>> support >>>>>>>>> deprecating the get-property from the UI wizard and Dev Studio, but it >>>>>>>>> would also be great to revise the get-property implementation for >>>>>>>>> future >>>>>>>>> versions. In other words, would it be possible to change the >>>>>>>>> get-property >>>>>>>>> implementation so that proxies, APIs and sequences could be migrated >>>>>>>>> forward without change, and still use the more efficient scoped-style >>>>>>>>> efficient implementation? This would prevent the registry >>>>>>>>> performance hit, >>>>>>>>> and prevent the necessity for customers to modify all their xml code. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Colin Roy-Ehri >>>>>>>>> Software Engineer >>>>>>>>> *WSO2, Inc. : wso2.com <http://wso2.com/>* >>>>>>>>> *Mobile* : 812-219-6517 >>>>>>>>> >>>>>>>>> On Wed, Jun 17, 2015 at 2:41 AM, Kasun Indrasiri <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> It seems we can get rid of the usage of get-property and stick to >>>>>>>>>> the usage of scope variable declarations only (the current impl of >>>>>>>>>> get-property function always triggers a call to ESB registry >>>>>>>>>> interface, >>>>>>>>>> which can be a performance hit). >>>>>>>>>> >>>>>>>>>> For example we can use: >>>>>>>>>> >>>>>>>>>> $ctx, $trp etc to get required property values from the context. >>>>>>>>>> @Nadeeshan : we need to include $registry: as well. >>>>>>>>>> >>>>>>>>>> Any other use cases that we need to cover? >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Kasun Indrasiri >>>>>>>>>> Software Architect >>>>>>>>>> WSO2, Inc.; http://wso2.com >>>>>>>>>> lean.enterprise.middleware >>>>>>>>>> >>>>>>>>>> cell: +94 77 556 5206 >>>>>>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Architecture mailing list >>>>>>>>>> [email protected] >>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Architecture mailing list >>>>>>>>> [email protected] >>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Architecture mailing list >>>>>>>> [email protected] >>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> -- >>>>>>> Chanaka Fernando >>>>>>> Senior Technical Lead >>>>>>> WSO2, Inc.; http://wso2.com >>>>>>> lean.enterprise.middleware >>>>>>> >>>>>>> mobile: +94 773337238 >>>>>>> Blog : http://soatutorials.blogspot.com >>>>>>> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0 >>>>>>> Twitter:https://twitter.com/chanakaudaya >>>>>>> Wordpress:http://chanakaudaya.wordpress.com >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Architecture mailing list >>>>>>> [email protected] >>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Kasun Indrasiri >>>>>> Software Architect >>>>>> WSO2, Inc.; http://wso2.com >>>>>> lean.enterprise.middleware >>>>>> >>>>>> cell: +94 77 556 5206 >>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Isuru Udana* >>>> Technical Lead >>>> WSO2 Inc.; http://wso2.com >>>> email: [email protected] cell: +94 77 3791887 >>>> blog: http://mytecheye.blogspot.com/ >>>> >>> >>> >> >> >> -- >> *Isuru Udana* >> Technical Lead >> WSO2 Inc.; http://wso2.com >> email: [email protected] cell: +94 77 3791887 >> blog: http://mytecheye.blogspot.com/ >> > > > > -- > *Isuru Udana* > Technical Lead > WSO2 Inc.; http://wso2.com > email: [email protected] cell: +94 77 3791887 > blog: http://mytecheye.blogspot.com/ > -- Kasun Indrasiri Software Architect WSO2, Inc.; http://wso2.com lean.enterprise.middleware cell: +94 77 556 5206 Blog : http://kasunpanorama.blogspot.com/
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
