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

Reply via email to