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