) throws IOException {
mURI = kijiURI;
mSchemaHashTable = newSchemaHashTable(mURI, conf, tableFactory);
mSchemaIdTable = newSchemaIdTable(mURI, conf, tableFactory);
mZKClient = ZooKeeperUtils.getZooKeeperClient(mURI);
mZKLock = new ZooKeeperLock(mZKClient, ZooKeeperUtils.getSchemaTableLock(mURI));
final State oldState = mState.getAndSet(State.OPEN);
Preconditions.checkState(oldState == State.UNINITIALIZED,
"Cannot open SchemaTable instance in state %s.", oldState);
DebugResourceTracker.get().registerResource(this);