Incorrect result set (missing records) may be returned by the ORDER plan query
navigating on a descending index
---------------------------------------------------------------------------------------------------------------
Key: CORE-5226
URL: http://tracker.firebirdsql.org/browse/CORE-5226
Project: Firebird Core
Issue Type: Bug
Components: Engine
Affects Versions: 3.0.0, 4.0 Initial, 2.5.5, 2.5.4, 2.5.3 Update 1, 2.1.7,
2.5.3, 2.5.2 Update 1, 2.5.2, 2.5.1, 2.5.0
Reporter: Dmitry Yemanov
It happens only if the index key was removed (concurrently or by the
cooperative GC) after reading it but before validating it using the fetched
record. Only DESC indices are affected, the issue also depends on index key
values. The bug seems to be inherited from InterBase.
Simplified example (leaf page layout):
key A, length 23, points to record 120006 (old version to be GCed)
key B, length 22, points to record 119054
key C, length 22, points to record 119535
key D, length 22, points to record 120006 (last committed version)
Key A gets GCed while reading and disappears, but key B is skipped and only
records for C and D are returned. The second execution (with no GC involved)
correctly returns {B, C, D}. The issue manifests itself only if key B has all
its 22 bytes equal to key A (which is one byte longer).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel