From: Vlad K. <hv...@us...> - 2012-11-01 20:20:18
|
> 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. Dmitry already discussed it with me and we are looking for another solution for CORE-3034. Regards, Vlad |