Hi Amila, On Fri, Jul 12, 2013 at 11:27 AM, Amila Suriarachchi <[email protected]> wrote:
> > > > On Fri, Jul 12, 2013 at 11:17 AM, Miyuru Wanninayaka <[email protected]>wrote: > >> Hi Dushan, >> >> Dispatcher/Handler will only help in cases where message come to synapse >> from outside. >> >> For other cases, we need to develop a extension point in synapse which >> invokes after a thread spawn to set CC as thread local. >> >> Seems we can get AxisConfiguration in any place which synapse create a >> new thread. So we can develop a handler API which has something like >> >> public void populateThreadLocal(AxisConfiguration) or something >> >> which figure out tenant information and polulate CC. >> >> @Azeez, can we figure out tenant information by looking at >> AxisConfiguration? >> Using something like AxisConfiguration.getRepository() > > > In here you need to think about how to get the tenant information from the > request message. Always we need to get the tenant information from the > request message and set to thread local. There are two ways > > 1. From the request URI > 2. user name - user can have tenant qualified name > both these are not available for pooling/non-http transports > thanks, > Amila. > >> >> >> On Fri, Jul 12, 2013 at 10:19 AM, Dushan Abeyruwan <[email protected]>wrote: >> >>> Hi Miyru, >>> I think we can intercept the Carbon context by writing a dispatch in >>> DispatchPhase this can be a component whose suppose to resides outside >>> synapse. >>> >>> >>> Cheers >>> Dushan >>> >>> >>> On Fri, Jul 12, 2013 at 9:58 AM, Afkham Azeez <[email protected]> wrote: >>> >>>> >>>> >>>> >>>> On Fri, Jul 12, 2013 at 9:54 AM, Miyuru Wanninayaka <[email protected]>wrote: >>>> >>>>> >>>>> >>>>> On Fri, Jul 12, 2013 at 9:36 AM, Afkham Azeez <[email protected]> wrote: >>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Jul 12, 2013 at 7:28 AM, Miyuru Wanninayaka >>>>>> <[email protected]>wrote: >>>>>> >>>>>>> Hi Azeez, >>>>>>> >>>>>>> Sorry, we were not properly following dev@ discussions recently as >>>>>>> team was very busy with ESB 4.7 release. >>>>>>> >>>>>>> Yes we can set proper CC as thread local in request path via handler >>>>>>> for NIO transports by looking at To address. But how this can implement >>>>>>> in >>>>>>> generic manner for other transport ( JMS, VFS....). May be since other >>>>>>> transports does not support MT anyway, we can always set ST CC for non >>>>>>> http >>>>>>> transports? >>>>>>> >>>>>>> Also how we can handle thread switching in response path of NIO? >>>>>>> Handler will not help in response path. >>>>>>> >>>>>>> Also there are some mediation threads spawns within synapse without >>>>>>> going through axis2 flow such as >>>>>>> * Synapse tasks >>>>>>> * Message processors >>>>>>> * Priority executors >>>>>>> * Clone and iterate mediators >>>>>>> >>>>>>> How can we set CC in these cases? >>>>>> >>>>>> >>>>>> Any bit of execution has to to be associated with some tenant. It is >>>>>> true for everything listed above. We need to track things like how much >>>>>> CPU >>>>>> time each tenant consumed and so on. So you need to identify the relevant >>>>>> plug points, and inject the proper CC. >>>>>> >>>>> >>>>> Only problem is above mentioned flows cannot intercept from outside of >>>>> synapse. In such case do we have alternative than writing carbon specific >>>>> code inside synapse? >>>>> >>>> >>>> >>>> No. This is why interfaces are needed. We have done this enough & more >>>> time for Axis2, without writing WSO2 specific code in Axis2. >>>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> On Thu, Jul 11, 2013 at 9:50 PM, Afkham Azeez <[email protected]>wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Jul 11, 2013 at 7:59 PM, Miyuru Wanninayaka < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> ESB does not sets Carbon Context as thread local because PTT/NHTTP >>>>>>>>> threads are totally under synapse. AFIK only servlet transport sets >>>>>>>>> CC as a >>>>>>>>> thread local. >>>>>>>>> >>>>>>>>> In 4.1.0 branch this is working fine without setting CC as thread >>>>>>>>> local. Did something changed in trunk? >>>>>>>> >>>>>>>> >>>>>>>> Please keep yourself up to date on what is going on at the platform >>>>>>>> level. Platform level enhancements have an effect on all products. >>>>>>>> There >>>>>>>> have been several mail threads on this. you should be able to define a >>>>>>>> handler which sets the proper CC into the Thread. >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Jul 11, 2013 at 7:49 PM, Amila Suriarachchi < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, Jul 11, 2013 at 7:31 PM, Miyuru Wanninayaka < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Amila, >>>>>>>>>>> >>>>>>>>>>> Are you referring to CarbonContext thread local variable? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> yes it gets the tenant domain like this >>>>>>>>>> >>>>>>>>>> public static String getTenantDomain() { >>>>>>>>>> return getCarbonContext().getTenantDomain(); >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> thanks, >>>>>>>>>> Amila. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Thu, Jul 11, 2013 at 6:27 PM, Amila Suriarachchi < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Jul 11, 2013 at 4:40 PM, Dushan Abeyruwan < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi >>>>>>>>>>>>> Getting following error when executing proxy service ESB >>>>>>>>>>>>> 4.8.0 built 2013-07-11 >>>>>>>>>>>>> >>>>>>>>>>>>> [2013-07-11 16:37:22,177] INFO - ProxyService Building Axis >>>>>>>>>>>>> service for Proxy service : SearchTwitter >>>>>>>>>>>>> [2013-07-11 16:37:22,177] INFO - ProxyService Adding service >>>>>>>>>>>>> SearchTwitter to the Axis2 configuration >>>>>>>>>>>>> [2013-07-11 16:37:22,182] INFO - DeploymentInterceptor >>>>>>>>>>>>> Deploying Axis2 service: SearchTwitter {super-tenant} >>>>>>>>>>>>> [2013-07-11 16:37:22,208] INFO - ProxyService Successfully >>>>>>>>>>>>> created the Axis2 service for Proxy service : SearchTwitter >>>>>>>>>>>>> [2013-07-11 16:37:29,694] INFO - LogMediator To: >>>>>>>>>>>>> /services/SearchTwitter, WSAction: urn:getQuote, SOAPAction: >>>>>>>>>>>>> urn:getQuote, >>>>>>>>>>>>> MessageID: urn:uuid:6421430e-e95c-4aa2-a9ba-f*cd37f7753e3, >>>>>>>>>>>>> Direction: request* >>>>>>>>>>>>> *[2013-07-11 16:37:29,695] ERROR - NativeWorkerPool Uncaught >>>>>>>>>>>>> exception* >>>>>>>>>>>>> *java.lang.NullPointerException* >>>>>>>>>>>>> * at >>>>>>>>>>>>> java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768) >>>>>>>>>>>>> * >>>>>>>>>>>>> * at >>>>>>>>>>>>> org.wso2.carbon.caching.impl.CacheManagerFactoryImpl.getCacheManager(CacheManagerFactoryImpl.java:78) >>>>>>>>>>>>> * >>>>>>>>>>>>> at >>>>>>>>>>>>> org.wso2.carbon.registry.core.utils.RegistryUtils.getCacheManager(RegistryUtils.java:289) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.wso2.carbon.registry.core.utils.RegistryUtils.getResourceCache(RegistryUtils.java:272) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.wso2.carbon.registry.core.caching.CacheBackedRegistry.getCache(CacheBackedRegistry.java:62) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.wso2.carbon.registry.core.caching.CacheBackedRegistry.resourceExists(CacheBackedRegistry.java:246) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.wso2.carbon.registry.core.session.UserRegistry.resourceExists(UserRegistry.java:629) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.wso2.carbon.mediation.registry.WSO2Registry.getResource(WSO2Registry.java:527) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.wso2.carbon.mediation.registry.WSO2Registry.lookup(WSO2Registry.java:131) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.synapse.registry.AbstractRegistry.getResource(AbstractRegistry.java:63) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.synapse.config.SynapseConfiguration.getSequenceTemplate(SynapseConfiguration.java:395) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.synapse.core.axis2.Axis2MessageContext.getSequenceTemplate(Axis2MessageContext.java:191) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:71) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:162) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:404) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:184) >>>>>>>>>>>>> at >>>>>>>>>>>>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(Nat >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> seems like tenant domain is null for the threads originating >>>>>>>>>>>> from passthrough transport threads. Can you please check the >>>>>>>>>>>> tenant domain >>>>>>>>>>>> of the pass through transport threads? >>>>>>>>>>>> >>>>>>>>>>>> thanks, >>>>>>>>>>>> Amila. >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Dushan Abeyruwan >>>>>>>>>>>>> Associate Tech Lead >>>>>>>>>>>>> *Integration Technologies Team* >>>>>>>>>>>>> *WSO2 Inc. http://wso2.com/* >>>>>>>>>>>>> *Mobile:(+94)714408632* >>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> Dev mailing list >>>>>>>>>>>>> [email protected] >>>>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> *Amila Suriarachchi* >>>>>>>>>>>> >>>>>>>>>>>> Software Architect >>>>>>>>>>>> WSO2 Inc. ; http://wso2.com >>>>>>>>>>>> lean . enterprise . middleware >>>>>>>>>>>> >>>>>>>>>>>> phone : +94 71 3082805 >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> Dev mailing list >>>>>>>>>>>> [email protected] >>>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Miyuru Wanninayaka >>>>>>>>>>> Technical Lead >>>>>>>>>>> WSO2 Inc. : http://wso2.com >>>>>>>>>>> >>>>>>>>>>> Mobile : +94 77 209 9788 >>>>>>>>>>> Blog : http://miyurudw.blogspot.com >>>>>>>>>>> Flickr : http://www.flickr.com/photos/miyuru_daminda >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *Amila Suriarachchi* >>>>>>>>>> >>>>>>>>>> Software Architect >>>>>>>>>> WSO2 Inc. ; http://wso2.com >>>>>>>>>> lean . enterprise . middleware >>>>>>>>>> >>>>>>>>>> phone : +94 71 3082805 >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Miyuru Wanninayaka >>>>>>>>> Technical Lead >>>>>>>>> WSO2 Inc. : http://wso2.com >>>>>>>>> >>>>>>>>> Mobile : +94 77 209 9788 >>>>>>>>> Blog : http://miyurudw.blogspot.com >>>>>>>>> Flickr : http://www.flickr.com/photos/miyuru_daminda >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Dev mailing list >>>>>>>>> [email protected] >>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Afkham Azeez* >>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>>> * <http://www.apache.org/>** >>>>>>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >>>>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>>>>> twitter: >>>>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>>>> * >>>>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>>>>> * >>>>>>>> * >>>>>>>> *Lean . Enterprise . Middleware* >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Miyuru Wanninayaka >>>>>>> Technical Lead >>>>>>> WSO2 Inc. : http://wso2.com >>>>>>> >>>>>>> Mobile : +94 77 209 9788 >>>>>>> Blog : http://miyurudw.blogspot.com >>>>>>> Flickr : http://www.flickr.com/photos/miyuru_daminda >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Afkham Azeez* >>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>> * <http://www.apache.org/>** >>>>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>>> twitter: >>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>> * >>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>>> * >>>>>> * >>>>>> *Lean . Enterprise . Middleware* >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Miyuru Wanninayaka >>>>> Technical Lead >>>>> WSO2 Inc. : http://wso2.com >>>>> >>>>> Mobile : +94 77 209 9788 >>>>> Blog : http://miyurudw.blogspot.com >>>>> Flickr : http://www.flickr.com/photos/miyuru_daminda >>>>> >>>> >>>> >>>> >>>> -- >>>> *Afkham Azeez* >>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>> Member; Apache Software Foundation; http://www.apache.org/ >>>> * <http://www.apache.org/>** >>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>> twitter: >>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>> * >>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>> * >>>> * >>>> *Lean . Enterprise . Middleware* >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> [email protected] >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> Dushan Abeyruwan >>> Associate Tech Lead >>> *Integration Technologies Team* >>> *WSO2 Inc. http://wso2.com/* >>> *Mobile:(+94)714408632* >>> >> >> >> >> -- >> Miyuru Wanninayaka >> Technical Lead >> WSO2 Inc. : http://wso2.com >> >> Mobile : +94 77 209 9788 >> Blog : http://miyurudw.blogspot.com >> Flickr : http://www.flickr.com/photos/miyuru_daminda >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > *Amila Suriarachchi* > > Software Architect > WSO2 Inc. ; http://wso2.com > lean . enterprise . middleware > > phone : +94 71 3082805 > -- Miyuru Wanninayaka Technical Lead WSO2 Inc. : http://wso2.com Mobile : +94 77 209 9788 Blog : http://miyurudw.blogspot.com Flickr : http://www.flickr.com/photos/miyuru_daminda
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
