Hello, All!

The fix effectively disables JRD_reschedule calls. For example in 
btr.cpp:scan() JRD_reschedule will 
never yield control to another thread because it is always called with at least 
one latch.

Since AST processing in Firebird 2.5 and later requires yield of control this 
means that other 
connections will have to wait until long index scan finishes.

In our case this means that long SELECT statement blocks all other writing 
connections for 15 
minutes or more effectively causing server collapse.
New connections are also impossible during that time as they require AST 
processing to function.

I privately discussed this issue with Dmitry and would like to confirm here 
that backing out the 
patch indeed fixes the problem.

Nikolay Samofatov

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to