There are a few cases in which starting a node causes an exception in the kernel (a leftover process using the same db, etc) and the start process will hang until it times out after a while. We should get a separate listener thread to monitor the stderr log and detect this case. During start up we probably want to fail regardless of the error, but after this point this is not necessarily true - the kernel can throw exceptions and yet continue to run fine in certain situations I believe - so we will have to investigate this afterwards.
Note that the daemon listener solution proposed above may be overkill right now, especially since we don't yet know how we want to handle the err log. So for a first cut it may be more appropriate to simply assert that the log file is empty.
There are a few cases in which starting a node causes an exception in the kernel (a leftover process using the same db, etc) and the start process will hang until it times out after a while. We should get a separate listener thread to monitor the
stderr
log and detect this case. During start up we probably want to fail regardless of the error, but after this point this is not necessarily true - the kernel can throw exceptions and yet continue to run fine in certain situations I believe - so we will have to investigate this afterwards.Note that the daemon listener solution proposed above may be overkill right now, especially since we don't yet know how we want to handle the err log. So for a first cut it may be more appropriate to simply assert that the log file is empty.