On Fri, Jan 29, 2016 at 8:40 PM, Emmanuel Lécharny <[email protected]>
wrote:

> Le 29/01/16 15:51, Zheng, Kai a écrit :
> >>> I'm most certainly overdoing : the first step is to start the server,
> which is all but a good idea. I have to simply read the configuration
> instead, because this is all what I need.
> > You mean it doesn't have to use or start a server to run the repair
> process, right.
>
> Right. We just need to know where to find the data, and which index are
> to be recreated. This is described in the configuration partition. We
> also have to know about the schema, thus be able to read it.
>
> > If so it sounds good, because purely running a repair tool against the
> database would be easy to use. Later it can also be a healthy check tool.
>
> Ideally, we should be able to start the server in repair mode. This is
> what we do when we define a new index : you don't have to create the
> index files, it's done at startup (actually, this is automatic, we see
> that an index table is missing, and we create it).
>
> That makes me thing that a repair mode would be much simpler than
> starting the server with a 'repair' parameter : it's enough to delete
> all the indexes, they will be recreated at startup !!! (Actually, t
> won't work simply because we recreate the user index, not the system
> indexes, but the idea is brillant : we just have to check the system
> index and rebuild them if missing... I'll do that this week-end !)
>
it is not easy for the server to detect a corrupted database, and
"deleting" index files
is a manual step which requires internal knowledge about the installation
directory
instead passing a -repair flag is much easier.

Upon seeing the -repair flag the server can just delete the index files
before initializing
the partitions then the respective partitions can take care of re-building
the indices.

>
> Thanks Kai : you again proved that discussing a pb is the best way to
> see a better way to deal with it :-)
>
>

Reply via email to