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 page errors and record level error when updating records with blobs several times [CORE3214] #3588

Closed
firebird-automations opened this issue Nov 4, 2010 · 9 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Alexandre Palmeira (palmeira)

Attachments:
INDICEErr.7z

I have a database with only one table:

CREATE TABLE IMP_PESSOAL_NDX
(
PALAVRA INTEGER NOT NULL,
N INTEGER,
VERSAO SMALLINT,
INDICE BLOB SUB_TYPE 0 SEGMENT SIZE 80,
CONSTRAINT PK_IMP_PESSOAL_NDX PRIMARY KEY (PALAVRA)
);

INDICE is a list of integers. My program reads a list of 300.000 pairs (P, N), locates or inserts the record with PALAVRA=P, reads the sorted integer list in INDICE, adds N to the list and saves it back to INDICE. (I am not sure when the alterations are commited.)

At the end of the process, there are several page errors. The database is several times larger than it should be, and I am unable to back it up.

The issue was also present in version 2.1.

@firebird-automations
Copy link
Collaborator Author

Modified by: Alexandre Palmeira (palmeira)

description: I have a database with only one table:

CREATE TABLE IMP_PESSOAL_NDX
(
PALAVRA INTEGER NOT NULL,
N INTEGER,
VERSAO SMALLINT,
INDICE BLOB SUB_TYPE 0 SEGMENT SIZE 80,
CONSTRAINT PK_IMP_PESSOAL_NDX PRIMARY KEY (PALAVRA)
);

INDICE is a list of integers. My program reads a list of 300.000 pairs (P, N), locates or inserts the record with PALAVRA=P, reads the sorted integer list in INDICE, adds N to the list, saves it back to INDICE, and commit.

At the end of the process, there are several page errors. The database is several times larger than it should be, and I am unable to back it up.

The issue was also present in version 2.1.

=>

I have a database with only one table:

CREATE TABLE IMP_PESSOAL_NDX
(
PALAVRA INTEGER NOT NULL,
N INTEGER,
VERSAO SMALLINT,
INDICE BLOB SUB_TYPE 0 SEGMENT SIZE 80,
CONSTRAINT PK_IMP_PESSOAL_NDX PRIMARY KEY (PALAVRA)
);

INDICE is a list of integers. My program reads a list of 300.000 pairs (P, N), locates or inserts the record with PALAVRA=P, reads the sorted integer list in INDICE, adds N to the list and saves it back to INDICE. (I am not sure when the alterations are commited.)

At the end of the process, there are several page errors. The database is several times larger than it should be, and I am unable to back it up.

The issue was also present in version 2.1.

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

What are the page errors you mention? How did you know about them?

@firebird-automations
Copy link
Collaborator Author

Commented by: Alexandre Palmeira (palmeira)

I created the table and applied the operations I mentioned. Afterwards, the database was much bigger than it should be (over 100x bigger), and it took a very long time to open the table using Database Desktop Pro. So I run a validation (again from DDP) and found out that there were errors.

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Could you provide a reproducible test case ?

run gfix -v -full against corrupted db and show us full output of gfix and contents of firebird.log

@firebird-automations
Copy link
Collaborator Author

Commented by: Alexandre Palmeira (palmeira)

I have attached the corrupted database.
I have tried to reproduce the problem with a smaller number of records (5,000), but this time no problems came up.

@firebird-automations
Copy link
Collaborator Author

Modified by: Alexandre Palmeira (palmeira)

Attachment: INDICEErr.7z [ 11834 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

You attached NOT corrupted database with one table and ZERO records in it.

@firebird-automations
Copy link
Collaborator Author

Commented by: Alexandre Palmeira (palmeira)

Sorry. I forgot that I tried to fix the database. I will try to corrupt the database using the previous version of my program.

@dyemanov
Copy link
Member

Outdated / not reproducible.

@dyemanov dyemanov closed this as not planned Won't fix, can't repro, duplicate, stale Jan 14, 2024
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