----------------------------
I'm skipping the code review of the tests for now. Out of curiosity,
what's your coverage percentage?
Here are the numbers. I only copied and pasted the ones relevant to
the engine.
Name Stmts Miss Cover Missing
----------------------------------------------------------------------
solaris_install.engine 465 38 91% 107,
110, 113, 237, 243, 340, 344, 381, 508-509, 528-540, 747, 777-788,
892, 904, 909, 943-947, 983, 992
solaris_install.engine.checkpoint 17 2 88% 67, 84
solaris_install.engine.checkpoint_data 96 6 93% 63,
127, 130, 133, 170-172
solaris_install.engine.install_common 13 0 100%
Sweet. :)
Multiprocessing uses a subprocess / fork / exec / wait framework
which gives us 100% control over the process running. It would also
allow the engine cancel checkpoints instead of relying on the
checkpoints themselves to implement a cancel method.
That's one item we need to discuss and get other people's opinion.
With the current model of having the engine
suggest the checkpoint should quit and trust that the checkpoints will
behave and quit at it's earliest convinience,
the engine really has no control over whether the checkpoint. The
good thing about doing it this way is that the checkpoint
can come to a "good" stopping point and quit. The disadvantage is of
course that the engine has no control
over what a checkpoint does.
With the MP module, and the engine controlling the checkpoint, one
approach could be to roll back to the last successful dataset snapshot
and end execution there. I'm also not suggesting removing the ability
of the individual checkpoints to control execution. MP has similar IPC
controls that can be used to tell the engine, "Hey! Something's wrong!
Can you stop?"
If we change to use the multiprocessing module like you suggested, the
engine can kill a checkpoint at anytime.
However, that might lead to a problem with the system being left in an
unknown state. I don't know whether
that's a good trade off or not.
-Drew
_______________________________________________
caiman-discuss mailing list
caiman-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss