Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Database gets partially corrupted in the "no-reserve" mode [CORE5329] #5605

Closed
firebird-automations opened this issue Aug 13, 2016 · 4 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @dyemanov

If a "no-reserve" (aka "use full space") option was enabled for a v2.5 database, then the issue becomes visible right after restore on v3.0, just do an immediate validation and see:

Summary of validation errors
Number of database page errors : 90167

Then check firebird.log and see:

solaris Sat Aug 13 18:01:28 2016
Database: /work/data/abc.fdb
Error: Page 1017 wrong type (expected SCN inventory encountered purposely undefined)

solaris Sat Aug 13 18:01:28 2016
Database: /work/data/abc.fdb
Error: SCN's page 1017 {sequence 1} inconsistent

solaris Sat Aug 13 18:01:28 2016
Database: /work/data/abc.fdb
Error: Page 2034 wrong type (expected SCN inventory encountered purposely undefined)

solaris Sat Aug 13 18:01:28 2016
Database: /work/data/abc.fdb
Error: SCN's page 2034 {sequence 2} inconsistent

and so on. Only SCN pages are corrupted, they are all unexpectedly zeroed.

It means that only incremental restore is affected by this issue, basically the database operates OK. A short-term workaround is: gfix -use reserve + backup/restore.

Commits: 610594a 02d9e44 408dff8 3ba0eb1

====== Test Details ======

NB: could not get validation errors using steps described by hvlad. Confirmed bug if use .fbk from 2.5.x and restore it.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

The issue is easy to reproduce without restore:
- create database
- set "no reserve" (gfix -use full)
- fill it with some data
- run validation

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0.1 [ 10730 ]

Fix Version: 4.0 Alpha 1 [ 10731 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: No test => Done successfully

Test Details: NB: could not get validation errors using steps described by hvlad. Confirmed bug if use .fbk from 2.5.x and restore it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants