On Fri, Jul 12, 2013 at 11:33 AM, Miyuru Wanninayaka <miy...@wso2.com>wrote:

> Hi Amila,
>
> On Fri, Jul 12, 2013 at 11:27 AM, Amila Suriarachchi <am...@wso2.com>wrote:
>
>>
>>
>>
>> On Fri, Jul 12, 2013 at 11:17 AM, Miyuru Wanninayaka <miy...@wso2.com>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
>

We don't support those transports for MT. Those transports only for ST. So
we can assume always ST for those transports.

thanks,
Amila.

>
>
>> thanks,
>> Amila.
>>
>>>
>>>
>>> On Fri, Jul 12, 2013 at 10:19 AM, Dushan Abeyruwan <dus...@wso2.com>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 <az...@wso2.com> wrote:
>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Jul 12, 2013 at 9:54 AM, Miyuru Wanninayaka 
>>>>> <miy...@wso2.com>wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Jul 12, 2013 at 9:36 AM, Afkham Azeez <az...@wso2.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Jul 12, 2013 at 7:28 AM, Miyuru Wanninayaka <miy...@wso2.com
>>>>>>> > 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 <az...@wso2.com>wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Jul 11, 2013 at 7:59 PM, Miyuru Wanninayaka <
>>>>>>>>> miy...@wso2.com> 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 <
>>>>>>>>>> am...@wso2.com> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Jul 11, 2013 at 7:31 PM, Miyuru Wanninayaka <
>>>>>>>>>>> miy...@wso2.com> 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 <
>>>>>>>>>>>> am...@wso2.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Jul 11, 2013 at 4:40 PM, Dushan Abeyruwan <
>>>>>>>>>>>>> dus...@wso2.com> 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
>>>>>>>>>>>>>> Dev@wso2.org
>>>>>>>>>>>>>> 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
>>>>>>>>>>>>> Dev@wso2.org
>>>>>>>>>>>>> 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
>>>>>>>>>> Dev@wso2.org
>>>>>>>>>> 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: **az...@wso2.com* <az...@wso2.com>* 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: **az...@wso2.com* <az...@wso2.com>* 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: **az...@wso2.com* <az...@wso2.com>* 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
>>>>> Dev@wso2.org
>>>>> 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
>>> Dev@wso2.org
>>> 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
>



-- 
*Amila Suriarachchi*

Software Architect
WSO2 Inc. ; http://wso2.com
lean . enterprise . middleware

phone : +94 71 3082805
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to