Improve validation and fix of lost data pages
---------------------------------------------
Key: CORE-4978
URL: http://tracker.firebirdsql.org/browse/CORE-4978
Project: Firebird Core
Issue Type: Improvement
Components: GFIX
Affects Versions: 3.0 Beta 2, 2.5.4
Reporter: Roman Simakov
I investigated one corrupted database and find that it has very many orphan
backversions but few in-use ones. That's because of
return corrupt(tdbb, VAL_REL_CHAIN_ORPHANS, relation,
vdr_rel_backversion_counter - vdr_rel_chain_counter, vdr_rel_chain_counter);
Then I find that there are data pages with backversions but they are absent in
pointer page. I found that it may happen if server crashed before flushing PP.
Carefulwrite work correctly in this case.
Improvement can be to build map of visited datapages directly while walking
relation and map of visited data pages by reference to backversions. In such
way we can find real data pages and even return them into pointer page and page
inventary page.
--
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
------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel