### Question:
TableDeleteFamilyHandler extends TableEventHandler { @Override public String toString() { String name = "UnknownServerName"; if(server != null && server.getServerName() != null) { name = server.getServerName().toString(); } String family = "UnknownFamily"; if(familyName != null) { family = Bytes.toString(familyName); } return getClass().getSimpleName() + "-" + name + "-" + getSeqid() + "-" + tableNameStr + "-" + family; } TableDeleteFamilyHandler(byte[] tableName, byte [] familyName,
      Server server, final MasterServices masterServices); @Override String toString();  }### Answer:
@Test public void deleteColumnFamilyWithMultipleRegions() throws Exception { HBaseAdmin admin = TEST_UTIL.getHBaseAdmin(); HTableDescriptor beforehtd = admin.getTableDescriptor(Bytes .toBytes(TABLENAME)); FileSystem fs = TEST_UTIL.getDFSCluster().getFileSystem(); assertTrue(admin.isTableAvailable(TABLENAME)); assertEquals(3, beforehtd.getColumnFamilies().length); HColumnDescriptor[] families = beforehtd.getColumnFamilies(); for (int i = 0; i < families.length; i++) { assertTrue(families[i].getNameAsString().equals("cf" + (i + 1))); } Path tableDir = new Path(TEST_UTIL.getDefaultRootDirPath().toString() + "/" + TABLENAME); assertTrue(fs.exists(tableDir)); FileStatus[] fileStatus = fs.listStatus(tableDir); for (int i = 0; i < fileStatus.length; i++) { if (fileStatus[i].isDir() == true) { FileStatus[] cf = fs.listStatus(fileStatus[i].getPath()); int k = 1; for (int j = 0; j < cf.length; j++) { if (cf[j].isDir() == true && cf[j].getPath().getName().startsWith(".") == false) { assertTrue(cf[j].getPath().getName().equals("cf" + k)); k++; } } } } admin.disableTable(TABLENAME); admin.deleteColumn(TABLENAME, "cf2"); HTableDescriptor afterhtd = admin.getTableDescriptor(Bytes .toBytes(TABLENAME)); assertEquals(2, afterhtd.getColumnFamilies().length); HColumnDescriptor[] newFamilies = afterhtd.getColumnFamilies(); assertTrue(newFamilies[0].getNameAsString().equals("cf1")); assertTrue(newFamilies[1].getNameAsString().equals("cf3")); fileStatus = fs.listStatus(tableDir); for (int i = 0; i < fileStatus.length; i++) { if (fileStatus[i].isDir() == true) { FileStatus[] cf = fs.listStatus(fileStatus[i].getPath()); for (int j = 0; j < cf.length; j++) { if (cf[j].isDir() == true) { assertFalse(cf[j].getPath().getName().equals("cf2")); } } } } }