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

gfix & "Index x is corrupt (missing entries) in table ..." all indexes on large tables [CORE3916] #4251

Closed
firebird-automations opened this issue Sep 5, 2012 · 8 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Viktor Belzetskiy (viktor_bs)

Attachments:
test_corrupt.zip

gfix with the keys "-validate -no_update -full" always gives the error "Index x is corrupt (missing entries) in table ..." for all table indexes size 2487410 or more pages. Database page size 16K.
To receive this error, you must fill 500 million records.

script:

CREATE TABLE REP_ATOM_BRICK_DRUGS_DATA (
PERIOD_ID INTEGER,
BRICK_CODE VARCHAR(5),
DRUGS_ID INTEGER,
IS_DUMP INTEGER,
V DOUBLE PRECISION,
Q DOUBLE PRECISION,
PRT DOUBLE PRECISION
);

CREATE UNIQUE INDEX REP_ATOM_BRICK_DRUGS_DATA_IDX1 ON REP_ATOM_BRICK_DRUGS_DATA (PERIOD_ID, BRICK_CODE, DRUGS_ID);
CREATE INDEX REP_ATOM_BRICK_DRUGS_DATA_IDX3 ON REP_ATOM_BRICK_DRUGS_DATA (DRUGS_ID);

Sample Database and script with the attachment...

Commits: ca6f6e7 2aa9c70

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

> you must fill 500 million records.

@firebird-automations
Copy link
Collaborator Author

Modified by: Viktor Belzetskiy (viktor_bs)

Attachment: test_corrupt.zip [ 12206 ]

description: gfix with the keys "-validate-no_update-full" always gives the error "Index x is corrupt (missing entries) in table ..." for all table indexes size 2487410 or more pages. Database page size 16K.
To receive this error, you must fill 500 million records.

script:

CREATE TABLE REP_ATOM_BRICK_DRUGS_DATA (
PERIOD_ID INTEGER,
BRICK_CODE VARCHAR(5),
DRUGS_ID INTEGER,
IS_DUMP INTEGER,
V DOUBLE PRECISION,
Q DOUBLE PRECISION,
PRT DOUBLE PRECISION
);

CREATE UNIQUE INDEX REP_ATOM_BRICK_DRUGS_DATA_IDX1 ON REP_ATOM_BRICK_DRUGS_DATA (PERIOD_ID, BRICK_CODE, DRUGS_ID);
CREATE INDEX REP_ATOM_BRICK_DRUGS_DATA_IDX3 ON REP_ATOM_BRICK_DRUGS_DATA (DRUGS_ID);

If necessary, I can send on e-mail archive with empty database and script to fill it. Archive size 65KB.

=>

gfix with the keys "-validate-no_update-full" always gives the error "Index x is corrupt (missing entries) in table ..." for all table indexes size 2487410 or more pages. Database page size 16K.
To receive this error, you must fill 500 million records.

script:

CREATE TABLE REP_ATOM_BRICK_DRUGS_DATA (
PERIOD_ID INTEGER,
BRICK_CODE VARCHAR(5),
DRUGS_ID INTEGER,
IS_DUMP INTEGER,
V DOUBLE PRECISION,
Q DOUBLE PRECISION,
PRT DOUBLE PRECISION
);

CREATE UNIQUE INDEX REP_ATOM_BRICK_DRUGS_DATA_IDX1 ON REP_ATOM_BRICK_DRUGS_DATA (PERIOD_ID, BRICK_CODE, DRUGS_ID);
CREATE INDEX REP_ATOM_BRICK_DRUGS_DATA_IDX3 ON REP_ATOM_BRICK_DRUGS_DATA (DRUGS_ID);

Sample Database and script with the attachment...

@firebird-automations
Copy link
Collaborator Author

Modified by: Viktor Belzetskiy (viktor_bs)

description: gfix with the keys "-validate-no_update-full" always gives the error "Index x is corrupt (missing entries) in table ..." for all table indexes size 2487410 or more pages. Database page size 16K.
To receive this error, you must fill 500 million records.

script:

CREATE TABLE REP_ATOM_BRICK_DRUGS_DATA (
PERIOD_ID INTEGER,
BRICK_CODE VARCHAR(5),
DRUGS_ID INTEGER,
IS_DUMP INTEGER,
V DOUBLE PRECISION,
Q DOUBLE PRECISION,
PRT DOUBLE PRECISION
);

CREATE UNIQUE INDEX REP_ATOM_BRICK_DRUGS_DATA_IDX1 ON REP_ATOM_BRICK_DRUGS_DATA (PERIOD_ID, BRICK_CODE, DRUGS_ID);
CREATE INDEX REP_ATOM_BRICK_DRUGS_DATA_IDX3 ON REP_ATOM_BRICK_DRUGS_DATA (DRUGS_ID);

Sample Database and script with the attachment...

=>

gfix with the keys "-validate -no_update -full" always gives the error "Index x is corrupt (missing entries) in table ..." for all table indexes size 2487410 or more pages. Database page size 16K.
To receive this error, you must fill 500 million records.

script:

CREATE TABLE REP_ATOM_BRICK_DRUGS_DATA (
PERIOD_ID INTEGER,
BRICK_CODE VARCHAR(5),
DRUGS_ID INTEGER,
IS_DUMP INTEGER,
V DOUBLE PRECISION,
Q DOUBLE PRECISION,
PRT DOUBLE PRECISION
);

CREATE UNIQUE INDEX REP_ATOM_BRICK_DRUGS_DATA_IDX1 ON REP_ATOM_BRICK_DRUGS_DATA (PERIOD_ID, BRICK_CODE, DRUGS_ID);
CREATE INDEX REP_ATOM_BRICK_DRUGS_DATA_IDX3 ON REP_ATOM_BRICK_DRUGS_DATA (DRUGS_ID);

Sample Database and script with the attachment...

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

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

resolution: Fixed [ 1 ]

Fix Version: 3.0 Alpha 1 [ 10331 ]

Fix Version: 2.5.3 [ 10461 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

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

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test => Cannot be tested

Test Details: > you must fill 500 million records.

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