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

Reply via email to