schemaTable = pool.getTable(this.schemaName);
} catch (RuntimeException e) {
if (e.getCause() instanceof TableNotFoundException) {
schemaTable = createSchemaTable();
} else {
throw new AvroBaseException(e.getCause());
}
}
try {
loadSchemas(schemaTable);
} catch (IOException e) {
throw new AvroBaseException(e);
} finally {
pool.putTable(schemaTable);
}
HTableInterface table = getTable();
try {
if (table.getTableDescriptor().getFamily(family) == null) {
HColumnDescriptor familyDesc = getColumnDesc(family);
try {
admin.disableTable(tableName);
admin.addColumn(tableName, familyDesc);
admin.enableTable(tableName);
} catch (IOException e) {
throw new AvroBaseException(e);
}
}
} catch (IOException e) {
throw new AvroBaseException(e);
} finally {
pool.putTable(table);
}
}