• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: ERXElse concurrency
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ERXElse concurrency


  • Subject: Re: ERXElse concurrency
  • From: Samuel Pelletier <email@hidden>
  • Date: Sat, 02 Apr 2016 12:20:09 -0400

Hi Maik,

I also have some strange behaviour with background thread... I remember something about child thread (and process) that inherits environment variable form their parent. I think we experience something like this.

In the ERXThreadStorage class there is reference to a property er.extensions.ERXThreadStorage.useInheritableThreadLocal set to true by default. My understanding of the feature is a child thread will get the current value of the thread that created it when accessing the map.

I suggest trying to set this property to false, maybe this is the problem.

Samuel


> Le 1 avr. 2016 à 10:59, Maik Musall <email@hidden> a écrit :
>
> Hi Samuel,
>
> the callstack is actually longer, and from that and the context around it I already know that this happens both when rendering a component in background threads as well as in traditional WORequest frontend processing in user sessions. But the phenomenon is new and started at around the time I began using ERXElse in background threads.
>
> As only a handful small components are used in those background threads, this was easily fixed by changing the tags to standard webobject tags with condition bindings instead of using wo:if and wo:else.
>
> Maik
>
>
>> Am 31.03.2016 um 14:39 schrieb Samuel Pelletier <email@hidden>:
>>
>> Maik,
>>
>> It is not really a global static dictionary, it is stored in thread storage so no concurrency problem...
>>
>> This does not help you much though.
>>
>> I would try to catch the exception to add log context information like the current request of page being rendered.
>>
>> Samuel
>>
>>> Le 30 mars 2016 à 07:56, Maik Musall <email@hidden> a écrit :
>>>
>>> Hi all,
>>>
>>> I’ve been getting these a lot lately:
>>>
>>> java.lang.IllegalStateException: You attempted to use an ERXElse without a preceding conditional.
>>>      at er.extensions.components.conditionals.ERXElse.lastConditionChecked(ERXElse.java:29)
>>>      at er.extensions.components.conditionals.ERXElse.appendToResponse(ERXElse.java:54)
>>>      at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
>>>      at com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
>>>      at com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
>>>
>>> Of course the wo:if-wo:else tags are correct. Turns out ERXElse holds the lastCondition state in a static (!) dictionary. How is this even supposed to work with high concurrency?
>>>
>>> In my case, I’m rendering HTML in background threads to be delivered on the next Ajax poll, which seems to interfere with foreground worker threads.
>>>
>>> Any thoughts on this?
>>>
>>> Thanks
>>> Maik
>>>
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list      (email@hidden)
>>> Help/Unsubscribe/Update your Subscription:
>>>
>>> This email sent to email@hidden
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


  • Prev by Date: Re: Using ERAttachment in an existing Wonder App
  • Next by Date: ERAttachment uploaders pain
  • Previous by thread: Re: Using ERAttachment in an existing Wonder App
  • Next by thread: ERAttachment uploaders pain
  • Index(es):
    • Date
    • Thread