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

Block execution of database if data corruption on disk is detected #7540

Closed
andrii0lomakin opened this issue Jul 10, 2017 · 4 comments
Closed
Assignees
Milestone

Comments

@andrii0lomakin
Copy link
Member

We implemented a feature which allows detecting whether data are broken on disk by checking them using CRC32 code. But it this moment we by default put the warning message in a log, and that is it. It will take a while till user notices this message. Data structures may be damaged even more till warning will be noticed. There is no point to run the database with corrupted data structures. We should use the same approach which we use to switch database in read-only mode when space on a disk is exhausted to switch in in read-only mode when data corruption on disk is detected.

@lvca
Copy link
Member

lvca commented Jul 12, 2017

I like this. And if you could provide a listener for such event, running in HA could automatically re-deploy the corrupted database to the server.

@andrii0lomakin
Copy link
Member Author

@lvca this tool is used to indicate that HW is broken we detect not damage of records because of bugs in database but damage of records because of damage of HW. I can not have a link by hand but Redis guys added similar functionality to their database and found that quite a lot of servers have problems with HW. So our main intention is to sort out bug reports which were caused by issues in HW. Anyway, functionality will be implemented exactly using the listener so you can use it too to replace DB. But probably because HW is broken, DB will be broken soon again and there is no point to replace it.

@lvca
Copy link
Member

lvca commented Jul 13, 2017

Fine for me.

@andrii0lomakin andrii0lomakin changed the title Block execution of database if data corruption on disk is dected Block execution of database if data corruption on disk is detected Jul 13, 2017
@andrii0lomakin andrii0lomakin changed the title Block execution of database if data corruption on disk is detected Switch database in read only mode if data corruption on disk is detected Jul 14, 2017
@lvca lvca changed the title Switch database in read only mode if data corruption on disk is detected Block execution of database if data corruption on disk is detected Aug 5, 2017
@andrii0lomakin andrii0lomakin self-assigned this Sep 1, 2017
andrii0lomakin added a commit that referenced this issue Sep 8, 2017
andrii0lomakin added a commit that referenced this issue Sep 12, 2017
andrii0lomakin added a commit that referenced this issue Sep 12, 2017
andrii0lomakin added a commit that referenced this issue Sep 14, 2017
@andrii0lomakin
Copy link
Member Author

fixed

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

No branches or pull requests

4 participants