Has there been any discussion/thoughts/earlier work on doing a process-based (instead of thread-based) version of miniHBaseCluster?
Currently, in the thread-based miniHBaseCluster unit tests, to simulate various kill -9 scenarios of killing a specific region server or master is trickier. There is a abortRegionServer()/expireRSSession etc. but those are still somewhat of a controlled shutdown... and it is questionable if they mimic the real scenarios accurately enough. Yesterday, Todd e.g. asked in IRC if there was a simple way to kill/abort the master in this setup... and I think the answer is there isn't currently a simple way to do that. Karthik & I were trying to write a test where we want to simulate kill of a RS, and then restart an RS on the same server/port before the ZK expiry. But using abortRegionServer() causes the ZK lease to expire right away... as it seems to be doing a more controlled shutdown of the various threads associated with that RS. If we went to a process-based setup, where Master and each RS were each there own separate processes, simulating a lot of these scenarios in a single-box unit test run env might be much easier. Thoughts? regards, Kannan