Yes, I’ve already found the root cause (described in my previous message).
Setting tapestry.session-locking-enabled=false instantly fixes this. However, long-term, I’d prefer to have something like this (pseudocode): lock.safeGet(() -> session.getAttribute(name)); lock.safeSet(() -> session.setAttribute(name, value)); This would of course require rewriting at least SessionImpl and TapestrySessionFactoryImpl to support such semantics. On Sun, Mar 18, 2018 at 3:33 PM, Dmitry Gusev <dmitry.gu...@gmail.com> wrote: > Take a thread dump and see what other blocked requests are waiting for? > > On Sunday, March 18, 2018, Ilya Obshadko <xf...@xfyre.com> wrote: > > > Hi everyone, > > > > I’m struggling to understand the cause of the following issue: > > > > - my Tapestry application generates certain PDF files using Apache FOP > and > > Saxon > > - when PDF generator process is started, other requests to that instance > > are blocked until it’s finished > > - moving FOP processing to a new thread using ParallelExecutor.invoke() > > doesn’t seem to affect anything > > > > Any ideas why? > > > > I had a hypothesis that FOP processing actually blocks the whole thing > > because of AWT usage, but couldn’t find any confirmations yet. > > > > -- > > Ilya Obshadko > > > > > -- > Dmitry Gusev > > AnjLab Team > http://anjlab.com > -- Ilya Obshadko