Calabash: limits to Piperack scalability?

Norm (and anyone else that is familiar with Piperack),

I started playing with the Piperack RESTful server bundled with Calabash.  I was looking for a long-running Calabash server with a useful API, and it fits the bill perfectly.

So now I'm wondering: are there limits to the scalability you can get with Piperack?  

* Looking at the REST API documentation and the code (from the 1.0.16 release), it looks like a single pipeline can't run concurrently in multiple threads; that is, it looks like multiple concurrent requests to http://.../pipelines/foo/run wouldn't work.  However, I don't see anything in the code that would prevent concurrent requests from corrupting the state of the pipeline; BaseResource.runProtected(), for instance, looks like a critical section that should be protected from concurrent requests.  What prevents multiple concurrent requests to the same pipeline from corrupting the state of the pipeline?

* Is there anything in the code that would limit separate pipelines from running concurrently?  It looks like Restlet supports it; I'm really asking about any underlying architectural limitations.

* If not, is there anything that would prevent multiple pipelines from the same XProc file running concurrently?

I'm not looking for hard numbers; I asking more about any inherent architectural limitations I should be aware of that would prevent me from cranking Piperack up to handle, say, hundreds or thousands of messages a second.

Thanks in advance,

Jonathan W. Cranford 
Senior Information Systems Engineer
The MITRE Corporation (

Received on Tuesday, 25 March 2014 15:56:27 UTC