After running a testing server out of storage, I tried to track down why it
was so hard to get it back up again.  (Rather than what I usually do which
is just throwing it away and making the test be smaller).

I couldn't start a backend because it couldn't write the relcache init file.

I found this comment, but it did not carry its sentiment to completion:

        /*
         * We used to consider this a fatal error, but we might as well
         * continue with backend startup ...
         */

With the attached patch applied, I could at least get a backend going so I
could drop some tables/indexes and free up space.

I'm not enamoured with the implementation of passing a flag down
to write_item, but it seemed better than making write_item return an error
code and then checking the return status in a dozen places.  Maybe we could
turn write_item into a macro, so the macro can implement the "return" from
the outer function directly?

Cheers,

Jeff

Attachment: relcache_init_v1.patch
Description: Binary data

Reply via email to