Issue Details (XML | Word | Printable)

Key: CORE-1299
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Vlad Khorsun
Reporter: Vlad Khorsun
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Wrong index entries order at non-leaf b-tree pages

Created: 03/Jun/07 07:20 AM   Updated: 26/Dec/07 10:40 AM
Component/s: Engine
Affects Version/s: 2.0.1, 2.1 Initial
Fix Version/s: 2.1 Beta 1, 2.0.2

Time Tracking:
Not Specified

File Attachments: 1. Text File CORE-1299.create_db.sql (2 kB)
2. Text File CORE-1299.test_db.sql (1 kB)

Environment: ODS 11 and higer, unique index
Issue Links:
Duplicate
 
Relate
 


 Description  « Hide
Sometimes parent page contains nodes pointed at lower level pages in wrong order.
For example parent page nodes order A, B, C, D while at lower level pages linked in order A, C, B, D

This error can be detected by gfix. It reports in firebird.log 6 errors for the same index page for each such case :

Index XXX is corrupt on page YYY level 1. File: \Fb2\fb2.0\src\jrd\validation.cpp, line: 1656
Index XXX is corrupt on page YYY level 1. File: \Fb2\fb2.0\src\jrd\validation.cpp, line: 1646
Index XXX is corrupt on page YYY level 1. File: \Fb2\fb2.0\src\jrd\validation.cpp, line: 1656
Index XXX is corrupt on page YYY level 1. File: \Fb2\fb2.0\src\jrd\validation.cpp, line: 1646
Index XXX is corrupt on page YYY level 1. File: \Fb2\fb2.0\src\jrd\validation.cpp, line: 1656
Index XXX is corrupt on page YYY level 1. File: \Fb2\fb2.0\src\jrd\validation.cpp, line: 1646

(line number as per 2.0 sources)

This error itself can't lead to wrong query results, AFAIK, but i don't know if it can lead to more serious corruptions being present in actively modified index for a long time

 All   Comments   Work Log   Change History   Version Control   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Vlad Khorsun added a comment - 03/Jun/07 08:29 AM
Edit database file name in both scripts.
Ensure firebird.conf have set GCPolicy = combined (default value)
Start superserver engine
Create test database by CORE-1299.create_db.sql
Run CORE-1299.test_db.sql and gfix -v -f after it.
If gfix detect no errors - make few more runs of CORE-1299.test_db.sql