Using sling6 stand alone jar file, if I create 50 nodes and 50 properties
on each node using 4 concurrent POSTs:
$ seq 50 | xargs -P2 -I% bash -c "seq 50 | xargs -P2 -I~  curl -s -u
admin:admin -Fprop~=value~ localhost:5100/tmp/test/node%"  > /dev/null
(more than one POST to same node)

I get garbage nodes like /tmp/test/node1[2] .
And, node1  doesn't get all 50 properties.

That seems to be due to concurrent POST to the same node.
For example, executing these in parallel creates node1[2]  even though I am
POSTing to node1
curl -u admin:admin -Fprop1=value1 localhost:5100/tmp/test/node1
curl -u admin:admin -Fprop2=value2 localhost:5100/tmp/test/node1


When I use 4 concurrent POSTs but force them to POST to different nodes, I
don't get such weird behavior:
$ seq 50 | xargs -P4 -I% bash -c "seq 50 | xargs -P1 -I~  curl -s -u
admin:admin -Fprop~=value~ localhost:5100/tmp/test/node%"  > /dev/null


I don't really have control of clients (web <form>'s). More than one user
might submit the same form that will POST to same node.
Is there a way to control concurrent number of POSTs to the same node in
sling? I can't find plausible configuration on under
/system/console/configMgr/

Or, can this be fixed through jackrabbit configuration?

Or should I use a proxy server that can allow only 1 concurrent POST per
url?

Has anyone encountered problems with concurrent POSTs to the same node? How
did you resolve?


On Thu, Feb 7, 2013 at 5:21 PM, Paul McMahon <[email protected]> wrote:

> I don't think that you'd really want Sling running in single threaded mode
> - your performance would rapidly become unusable.
>
> Given that error I assume this is a CQ instance. You might want to check
> with daycare - depending on which version of CQ you are one there might be
> hot fix that resolves that issue - I seem to recall one at least
> (specifically the on around replication data).
>
> Paul McMahon
>
>
> ________________________________
>  From: Sam Lee <[email protected]>
> To: [email protected]
> Sent: Thursday, February 7, 2013 10:23 AM
> Subject: single threaded mode?
>
> Hey,
>
> I am getting lots of:
> Caused by: org.apache.jackrabbit.core.state.StaleItemStateException:
> 30a33d9e-ed9a-42bf-a8c6-14c74b6b3858/{
> http://www.day.com/jcr/cq/1.0}lastReplicatedBy has been modified
> externally
>
> on different JCR items.
>
> How can I run sling in single threaded mode? Only one thread will write to
> the repository. Or, one servlet thread handles all concurrent HTTP requests
> (after queuing them up).
> Is this possible?
>

Reply via email to