Description
TestMasterObserver fails when deleteTable() takes more time to complete the last steps.
java.lang.AssertionError: Delete table handler should be called. at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.assertTrue(Assert.java:41) at org.apache.hadoop.hbase.coprocessor.TestMasterObserver.testTableOperations(TestMasterObserver.java:1283)
The problem is the same as the one in createTable() and it is because the sync version of the Admin operation is not sync, but relies on the last operation on the server e.g. delete meta.
but the post-operation method of the coprocessor is called after meta is deleted..
long story short, the client is not really sync and it will be fixed by HBASE-12439. so for now we should have the same fix we have for createTable which is using a latch.
(note: there are other tests failing for this reason e.g. AccessController, NamespaceAuditor, ... but I'll fix them in another patch since we have already a workaround in TestMasterObserver)