Subject | Re: [firebird-support] Internal GDS software consistency check (cannot find free space(255) |
---|---|
Author | Ann W. Harrison |
Post date | 2005-08-30T16:26:12Z |
d2ortiz_cool wrote:
times without getting space. Extending a table means adding a new page
to the table. That may involve extending the file - but a failure to
extend the file due to lack of space on disk will not cause this error.
Extending the table may also involve adding a new pointer page for the
table or a new Page Inventory Page for the database. During either of
those operations - and in fact, during a simple addition of a page to an
existing table - the allocating transaction must release the page it has
just allocated. If another concurrent transaction grabs the page, the
original allocator will get an error saying that there's no space on the
page. If that happens 20 times in a row, you get the "cannot find free
space" message.
That made sense when machines were smaller and slower, but may not make
sense if you've got a highly-concurrent, insert intensive application.
Increasing the retries from 20 to 200 may solve your problem and would
be a very easy change.
Regards,
Ann
>That error occurs when the database has tried to extend the table 20
> A few months i have a database of 142,415,004 kb with these definition
>
> Internal GDS software consistency check (cannot find free space(255)
times without getting space. Extending a table means adding a new page
to the table. That may involve extending the file - but a failure to
extend the file due to lack of space on disk will not cause this error.
Extending the table may also involve adding a new pointer page for the
table or a new Page Inventory Page for the database. During either of
those operations - and in fact, during a simple addition of a page to an
existing table - the allocating transaction must release the page it has
just allocated. If another concurrent transaction grabs the page, the
original allocator will get an error saying that there's no space on the
page. If that happens 20 times in a row, you get the "cannot find free
space" message.
That made sense when machines were smaller and slower, but may not make
sense if you've got a highly-concurrent, insert intensive application.
Increasing the retries from 20 to 200 may solve your problem and would
be a very easy change.
Regards,
Ann
>