----------------------------

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

Reply via email to