write-write conflicts on cached search contexts in WAConfiguration

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

write-write conflicts on cached search contexts in WAConfiguration

Johan Brichau-2
Hi,

When I put a Seaside app under (moderate) load, I start seeing (a lot of) these messages on the object log:

Commit failure - retrying 4056 10/21/2011 17:15:19:721 /examples/counter?_s=DOlpgBbSgehpWYrn&_k=Kb2SqTqskaYDAVQ-&1 aSymbolDictionary

The object in the log entry is the following: aSymbolDictionary( #'commitResult'->#'success', #'Write-Write'->anArray( anIdentityDictionary( #'cacheCapacity'->aWAAttributeSearchContext)))

Am I understanding correctly that this means that there is a write-write conflict in an identitydictionary on the key-value pair that is mentioned?
This appears to be a conflict in the instance variable of WAConfiguration instances.

From here on, I am a bit lost how the write-write conflict could appear.

The log above comes from a load test on the counter example where I modified the ++ link action to include a delay of 2s using "(Delay forSeconds: 2) wait". The idea is to simulate longer request running times. If I leave out the delay, I am not seeing them (even under high load), but the problem is (of course) that I am seeing these in our real application that has longer request running times...

My load tests are done using a jmeter test, which I attach.




Counter.jmx (10K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflicts on cached search contexts in WAConfiguration

Dale Henrichs
Johan,

Good catch. See Issue 303 for my take on the problem...

Dale

----- Original Message -----
| From: "Johan Brichau" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Friday, October 21, 2011 11:20:13 AM
| Subject: [GS/SS Beta] write-write conflicts on cached search contexts in WAConfiguration
|
| Hi,
|
| When I put a Seaside app under (moderate) load, I start seeing (a lot
| of) these messages on the object log:
|
| Commit failure - retrying 4056 10/21/2011 17:15:19:721
| /examples/counter?_s=DOlpgBbSgehpWYrn&_k=Kb2SqTqskaYDAVQ-&1
| aSymbolDictionary
|
| The object in the log entry is the following: aSymbolDictionary(
| #'commitResult'->#'success', #'Write-Write'->anArray(
| anIdentityDictionary( #'cacheCapacity'->aWAAttributeSearchContext)))
|
| Am I understanding correctly that this means that there is a
| write-write conflict in an identitydictionary on the key-value pair
| that is mentioned?
| This appears to be a conflict in the instance variable of
| WAConfiguration instances.
|
| From here on, I am a bit lost how the write-write conflict could
| appear.
|
| The log above comes from a load test on the counter example where I
| modified the ++ link action to include a delay of 2s using "(Delay
| forSeconds: 2) wait". The idea is to simulate longer request running
| times. If I leave out the delay, I am not seeing them (even under
| high load), but the problem is (of course) that I am seeing these in
| our real application that has longer request running times...
|
| My load tests are done using a jmeter test, which I attach.
|
|
|
|
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflicts on cached search contexts in WAConfiguration

Johan Brichau-2
Hi Dale,

That is what I tried: replacing the identitydict with a RcKeyValueDict

However, that just meant I was getting RcWrite-write conflicts :-(

Johan

On 21 Oct 2011, at 20:56, Dale Henrichs wrote:

> Johan,
>
> Good catch. See Issue 303 for my take on the problem...
>
> Dale
>
> ----- Original Message -----
> | From: "Johan Brichau" <[hidden email]>
> | To: "GemStone Seaside beta discussion" <[hidden email]>
> | Sent: Friday, October 21, 2011 11:20:13 AM
> | Subject: [GS/SS Beta] write-write conflicts on cached search contexts in WAConfiguration
> |
> | Hi,
> |
> | When I put a Seaside app under (moderate) load, I start seeing (a lot
> | of) these messages on the object log:
> |
> | Commit failure - retrying 4056 10/21/2011 17:15:19:721
> | /examples/counter?_s=DOlpgBbSgehpWYrn&_k=Kb2SqTqskaYDAVQ-&1
> | aSymbolDictionary
> |
> | The object in the log entry is the following: aSymbolDictionary(
> | #'commitResult'->#'success', #'Write-Write'->anArray(
> | anIdentityDictionary( #'cacheCapacity'->aWAAttributeSearchContext)))
> |
> | Am I understanding correctly that this means that there is a
> | write-write conflict in an identitydictionary on the key-value pair
> | that is mentioned?
> | This appears to be a conflict in the instance variable of
> | WAConfiguration instances.
> |
> | From here on, I am a bit lost how the write-write conflict could
> | appear.
> |
> | The log above comes from a load test on the counter example where I
> | modified the ++ link action to include a delay of 2s using "(Delay
> | forSeconds: 2) wait". The idea is to simulate longer request running
> | times. If I leave out the delay, I am not seeing them (even under
> | high load), but the problem is (of course) that I am seeing these in
> | our real application that has longer request running times...
> |
> | My load tests are done using a jmeter test, which I attach.
> |
> |
> |
> |