Java 类org.apache.hadoop.hbase.master.TableLockManager 实例源码

项目:ditb    文件:MasterProcedureScheduler.java   
private synchronized boolean trySharedLock(final TableLockManager lockManager,
    final String purpose) {
  if (hasExclusiveLock()) return false;

  // Take zk-read-lock
  TableName tableName = getKey();
  tableLock = lockManager.readLock(tableName, purpose);
  try {
    tableLock.acquire();
  } catch (IOException e) {
    LOG.error("failed acquire read lock on " + tableName, e);
    tableLock = null;
    return false;
  }

  trySharedLock();
  return true;
}
项目:ditb    文件:DisableTableHandler.java   
public DisableTableHandler(Server server, TableName tableName,
    AssignmentManager assignmentManager, TableLockManager tableLockManager,
    boolean skipTableStateCheck) {
  super(server, EventType.C_M_DISABLE_TABLE);
  this.tableName = tableName;
  this.assignmentManager = assignmentManager;
  this.tableLockManager = tableLockManager;
  this.skipTableStateCheck = skipTableStateCheck;
}
项目:ditb    文件:EnableTableHandler.java   
public EnableTableHandler(Server server, TableName tableName,
    AssignmentManager assignmentManager, TableLockManager tableLockManager,
    boolean skipTableStateCheck) {
  super(server, EventType.C_M_ENABLE_TABLE);
  this.tableName = tableName;
  this.assignmentManager = assignmentManager;
  this.tableLockManager = tableLockManager;
  this.skipTableStateCheck = skipTableStateCheck;
}
项目:ditb    文件:EnableTableHandler.java   
public EnableTableHandler(MasterServices services, TableName tableName,
    AssignmentManager assignmentManager,
    TableLockManager tableLockManager, boolean skipTableStateCheck) {
  this((Server)services, tableName, assignmentManager, tableLockManager,
      skipTableStateCheck);
  this.services = services;
}
项目:ditb    文件:MasterProcedureScheduler.java   
public MasterProcedureScheduler(final Configuration conf, final TableLockManager lockManager) {
  this.lockManager = lockManager;

  // TODO: should this be part of the HTD?
  metaTablePriority = conf.getInt("hbase.master.procedure.queue.meta.table.priority", 3);
  sysTablePriority = conf.getInt("hbase.master.procedure.queue.system.table.priority", 2);
  userTablePriority = conf.getInt("hbase.master.procedure.queue.user.table.priority", 1);
}
项目:ditb    文件:MasterProcedureScheduler.java   
private synchronized boolean tryZkExclusiveLock(final TableLockManager lockManager,
    final String purpose) {
  // Take zk-write-lock
  TableName tableName = getKey();
  tableLock = lockManager.writeLock(tableName, purpose);
  try {
    tableLock.acquire();
  } catch (IOException e) {
    LOG.error("failed acquire write lock on " + tableName, e);
    tableLock = null;
    return false;
  }
  return true;
}
项目:ditb    文件:MasterProcedureScheduler.java   
private void releaseTableLock(final TableLockManager lockManager, boolean reset) {
  for (int i = 0; i < 3; ++i) {
    try {
      tableLock.release();
      if (reset) {
        tableLock = null;
      }
      break;
    } catch (IOException e) {
      LOG.warn("Could not release the table write-lock", e);
    }
  }
}
项目:ditb    文件:TableLockChecker.java   
public TableLockChecker(ZooKeeperWatcher zkWatcher, ErrorReporter errorReporter) {
  this.zkWatcher = zkWatcher;
  this.errorReporter = errorReporter;
  expireTimeout = zkWatcher.getConfiguration().getLong(
      TableLockManager.TABLE_LOCK_EXPIRE_TIMEOUT,
      TableLockManager.DEFAULT_TABLE_LOCK_EXPIRE_TIMEOUT_MS);
}
项目:ditb    文件:TableLockChecker.java   
public void checkTableLocks() throws IOException {
  TableLockManager tableLockManager
    = TableLockManager.createTableLockManager(zkWatcher.getConfiguration(), zkWatcher, null);
  final long expireDate = EnvironmentEdgeManager.currentTime() - expireTimeout;

  MetadataHandler handler = new MetadataHandler() {
    @Override
    public void handleMetadata(byte[] ownerMetadata) {
      ZooKeeperProtos.TableLock data = TableLockManager.fromBytes(ownerMetadata);
      String msg = "Table lock acquire attempt found:";
      if (data != null) {
         msg = msg +
            String.format("[tableName=%s:%s, lockOwner=%s, threadId=%s, " +
            "purpose=%s, isShared=%s, createTime=%s]",
            data.getTableName().getNamespace().toStringUtf8(),
            data.getTableName().getQualifier().toStringUtf8(),
            ProtobufUtil.toServerName(data.getLockOwner()), data.getThreadId(),
            data.getPurpose(), data.getIsShared(), data.getCreateTime());
      }

      if (data != null && data.hasCreateTime() && data.getCreateTime() < expireDate) {
        errorReporter.reportError(HBaseFsck.ErrorReporter.ERROR_CODE.EXPIRED_TABLE_LOCK, msg);
      } else {
        errorReporter.print(msg);
      }
    }
  };

  tableLockManager.visitAllLocks(handler);
}
项目:pbase    文件:DisableTableHandler.java   
public DisableTableHandler(Server server, TableName tableName,
    AssignmentManager assignmentManager, TableLockManager tableLockManager,
    boolean skipTableStateCheck) {
  super(server, EventType.C_M_DISABLE_TABLE);
  this.tableName = tableName;
  this.assignmentManager = assignmentManager;
  this.tableLockManager = tableLockManager;
  this.skipTableStateCheck = skipTableStateCheck;
}
项目:pbase    文件:EnableTableHandler.java   
public EnableTableHandler(Server server, TableName tableName,
    AssignmentManager assignmentManager, TableLockManager tableLockManager,
    boolean skipTableStateCheck) {
  super(server, EventType.C_M_ENABLE_TABLE);
  this.tableName = tableName;
  this.assignmentManager = assignmentManager;
  this.tableLockManager = tableLockManager;
  this.skipTableStateCheck = skipTableStateCheck;
}
项目:pbase    文件:EnableTableHandler.java   
public EnableTableHandler(MasterServices services, TableName tableName,
    AssignmentManager assignmentManager,
    TableLockManager tableLockManager, boolean skipTableStateCheck) {
  this((Server)services, tableName, assignmentManager, tableLockManager,
      skipTableStateCheck);
  this.services = services;
}
项目:pbase    文件:TableLockChecker.java   
public TableLockChecker(ZooKeeperWatcher zkWatcher, ErrorReporter errorReporter) {
  this.zkWatcher = zkWatcher;
  this.errorReporter = errorReporter;
  expireTimeout = zkWatcher.getConfiguration().getLong(
      TableLockManager.TABLE_LOCK_EXPIRE_TIMEOUT,
      TableLockManager.DEFAULT_TABLE_LOCK_EXPIRE_TIMEOUT_MS);
}
项目:pbase    文件:TableLockChecker.java   
public void checkTableLocks() throws IOException {
  TableLockManager tableLockManager
    = TableLockManager.createTableLockManager(zkWatcher.getConfiguration(), zkWatcher, null);
  final long expireDate = EnvironmentEdgeManager.currentTime() - expireTimeout;

  MetadataHandler handler = new MetadataHandler() {
    @Override
    public void handleMetadata(byte[] ownerMetadata) {
      ZooKeeperProtos.TableLock data = TableLockManager.fromBytes(ownerMetadata);
      String msg = "Table lock acquire attempt found:";
      if (data != null) {
         msg = msg +
            String.format("[tableName=%s, lockOwner=%s, threadId=%s, " +
            "purpose=%s, isShared=%s, createTime=%s]", Bytes.toString(data.getTableName().toByteArray()),
            ProtobufUtil.toServerName(data.getLockOwner()), data.getThreadId(),
            data.getPurpose(), data.getIsShared(), data.getCreateTime());
      }

      if (data != null && data.hasCreateTime() && data.getCreateTime() < expireDate) {
        errorReporter.reportError(HBaseFsck.ErrorReporter.ERROR_CODE.EXPIRED_TABLE_LOCK, msg);
      } else {
        errorReporter.print(msg);
      }
    }
  };

  tableLockManager.visitAllLocks(handler);
}
项目:HIndex    文件:DisableTableHandler.java   
public DisableTableHandler(Server server, TableName tableName,
    CatalogTracker catalogTracker, AssignmentManager assignmentManager,
    TableLockManager tableLockManager, boolean skipTableStateCheck) {
  super(server, EventType.C_M_DISABLE_TABLE);
  this.tableName = tableName;
  this.assignmentManager = assignmentManager;
  this.catalogTracker = catalogTracker;
  this.tableLockManager = tableLockManager;
  this.skipTableStateCheck = skipTableStateCheck;
}
项目:HIndex    文件:EnableTableHandler.java   
public EnableTableHandler(Server server, TableName tableName,
    CatalogTracker catalogTracker, AssignmentManager assignmentManager,
    TableLockManager tableLockManager, boolean skipTableStateCheck) {
  super(server, EventType.C_M_ENABLE_TABLE);
  this.tableName = tableName;
  this.catalogTracker = catalogTracker;
  this.assignmentManager = assignmentManager;
  this.tableLockManager = tableLockManager;
  this.skipTableStateCheck = skipTableStateCheck;
}
项目:HIndex    文件:TableLockChecker.java   
public TableLockChecker(ZooKeeperWatcher zkWatcher, ErrorReporter errorReporter) {
  this.zkWatcher = zkWatcher;
  this.errorReporter = errorReporter;
  expireTimeout = zkWatcher.getConfiguration().getLong(
      TableLockManager.TABLE_LOCK_EXPIRE_TIMEOUT,
      TableLockManager.DEFAULT_TABLE_LOCK_EXPIRE_TIMEOUT_MS);
}
项目:HIndex    文件:TableLockChecker.java   
public void checkTableLocks() throws IOException {
  TableLockManager tableLockManager
    = TableLockManager.createTableLockManager(zkWatcher.getConfiguration(), zkWatcher, null);
  final long expireDate = EnvironmentEdgeManager.currentTimeMillis() - expireTimeout;

  MetadataHandler handler = new MetadataHandler() {
    @Override
    public void handleMetadata(byte[] ownerMetadata) {
      ZooKeeperProtos.TableLock data = TableLockManager.fromBytes(ownerMetadata);
      String msg = "Table lock acquire attempt found:";
      if (data != null) {
         msg = msg +
            String.format("[tableName=%s, lockOwner=%s, threadId=%s, " +
            "purpose=%s, isShared=%s, createTime=%s]", Bytes.toString(data.getTableName().toByteArray()),
            ProtobufUtil.toServerName(data.getLockOwner()), data.getThreadId(),
            data.getPurpose(), data.getIsShared(), data.getCreateTime());
      }

      if (data != null && data.hasCreateTime() && data.getCreateTime() < expireDate) {
        errorReporter.reportError(HBaseFsck.ErrorReporter.ERROR_CODE.EXPIRED_TABLE_LOCK, msg);
      } else {
        errorReporter.print(msg);
      }
    }
  };

  tableLockManager.visitAllLocks(handler);
}
项目:PyroDB    文件:DisableTableHandler.java   
public DisableTableHandler(Server server, TableName tableName,
    CatalogTracker catalogTracker, AssignmentManager assignmentManager,
    TableLockManager tableLockManager, boolean skipTableStateCheck) {
  super(server, EventType.C_M_DISABLE_TABLE);
  this.tableName = tableName;
  this.assignmentManager = assignmentManager;
  this.catalogTracker = catalogTracker;
  this.tableLockManager = tableLockManager;
  this.skipTableStateCheck = skipTableStateCheck;
}
项目:PyroDB    文件:EnableTableHandler.java   
public EnableTableHandler(Server server, TableName tableName,
    CatalogTracker catalogTracker, AssignmentManager assignmentManager,
    TableLockManager tableLockManager, boolean skipTableStateCheck) {
  super(server, EventType.C_M_ENABLE_TABLE);
  this.tableName = tableName;
  this.catalogTracker = catalogTracker;
  this.assignmentManager = assignmentManager;
  this.tableLockManager = tableLockManager;
  this.skipTableStateCheck = skipTableStateCheck;
}
项目:PyroDB    文件:TableLockChecker.java   
public TableLockChecker(ZooKeeperWatcher zkWatcher, ErrorReporter errorReporter) {
  this.zkWatcher = zkWatcher;
  this.errorReporter = errorReporter;
  expireTimeout = zkWatcher.getConfiguration().getLong(
      TableLockManager.TABLE_LOCK_EXPIRE_TIMEOUT,
      TableLockManager.DEFAULT_TABLE_LOCK_EXPIRE_TIMEOUT_MS);
}
项目:PyroDB    文件:TableLockChecker.java   
public void checkTableLocks() throws IOException {
  TableLockManager tableLockManager
    = TableLockManager.createTableLockManager(zkWatcher.getConfiguration(), zkWatcher, null);
  final long expireDate = EnvironmentEdgeManager.currentTimeMillis() - expireTimeout;

  MetadataHandler handler = new MetadataHandler() {
    @Override
    public void handleMetadata(byte[] ownerMetadata) {
      ZooKeeperProtos.TableLock data = TableLockManager.fromBytes(ownerMetadata);
      String msg = "Table lock acquire attempt found:";
      if (data != null) {
         msg = msg +
            String.format("[tableName=%s, lockOwner=%s, threadId=%s, " +
            "purpose=%s, isShared=%s, createTime=%s]", Bytes.toString(data.getTableName().toByteArray()),
            ProtobufUtil.toServerName(data.getLockOwner()), data.getThreadId(),
            data.getPurpose(), data.getIsShared(), data.getCreateTime());
      }

      if (data != null && data.hasCreateTime() && data.getCreateTime() < expireDate) {
        errorReporter.reportError(HBaseFsck.ErrorReporter.ERROR_CODE.EXPIRED_TABLE_LOCK, msg);
      } else {
        errorReporter.print(msg);
      }
    }
  };

  tableLockManager.visitAllLocks(handler);
}
项目:c5    文件:DisableTableHandler.java   
public DisableTableHandler(Server server, TableName tableName,
    CatalogTracker catalogTracker, AssignmentManager assignmentManager,
    TableLockManager tableLockManager, boolean skipTableStateCheck) {
  super(server, EventType.C_M_DISABLE_TABLE);
  this.tableName = tableName;
  this.assignmentManager = assignmentManager;
  this.catalogTracker = catalogTracker;
  this.tableLockManager = tableLockManager;
  this.skipTableStateCheck = skipTableStateCheck;
}
项目:c5    文件:EnableTableHandler.java   
public EnableTableHandler(Server server, TableName tableName,
    CatalogTracker catalogTracker, AssignmentManager assignmentManager,
    TableLockManager tableLockManager, boolean skipTableStateCheck) {
  super(server, EventType.C_M_ENABLE_TABLE);
  this.tableName = tableName;
  this.catalogTracker = catalogTracker;
  this.assignmentManager = assignmentManager;
  this.tableLockManager = tableLockManager;
  this.skipTableStateCheck = skipTableStateCheck;
}
项目:c5    文件:TableLockChecker.java   
public TableLockChecker(ZooKeeperWatcher zkWatcher, ErrorReporter errorReporter) {
  this.zkWatcher = zkWatcher;
  this.errorReporter = errorReporter;
  expireTimeout = zkWatcher.getConfiguration().getLong(
      TableLockManager.TABLE_LOCK_EXPIRE_TIMEOUT,
      TableLockManager.DEFAULT_TABLE_LOCK_EXPIRE_TIMEOUT_MS);
}
项目:c5    文件:TableLockChecker.java   
public void checkTableLocks() throws IOException {
  TableLockManager tableLockManager
    = TableLockManager.createTableLockManager(zkWatcher.getConfiguration(), zkWatcher, null);
  final long expireDate = EnvironmentEdgeManager.currentTimeMillis() - expireTimeout;

  MetadataHandler handler = new MetadataHandler() {
    @Override
    public void handleMetadata(byte[] ownerMetadata) {
      ZooKeeperProtos.TableLock data = TableLockManager.fromBytes(ownerMetadata);
      String msg = "Table lock acquire attempt found:";
      if (data != null) {
         msg = msg +
            String.format("[tableName=%s, lockOwner=%s, threadId=%s, " +
            "purpose=%s, isShared=%s, createTime=%s]", Bytes.toString(data.getTableName().toByteArray()),
            ProtobufUtil.toServerName(data.getLockOwner()), data.getThreadId(),
            data.getPurpose(), data.getIsShared(), data.getCreateTime());
      }

      if (data.hasCreateTime() && data.getCreateTime() < expireDate) {
        errorReporter.reportError(HBaseFsck.ErrorReporter.ERROR_CODE.EXPIRED_TABLE_LOCK, msg);
      } else {
        errorReporter.print(msg);
      }
    }
  };

  tableLockManager.visitAllLocks(handler);
}
项目:ditb    文件:MasterProcedureScheduler.java   
private synchronized void releaseSharedLock(final TableLockManager lockManager) {
  releaseTableLock(lockManager, isSingleSharedLock());
  releaseSharedLock();
}
项目:ditb    文件:MasterProcedureScheduler.java   
private synchronized void releaseZkExclusiveLock(final TableLockManager lockManager) {
  releaseTableLock(lockManager, true);
}
项目:ditb    文件:TableLockChecker.java   
public void fixExpiredTableLocks() throws IOException {
  TableLockManager tableLockManager
    = TableLockManager.createTableLockManager(zkWatcher.getConfiguration(), zkWatcher, null);

  tableLockManager.reapAllExpiredLocks();
}
项目:ditb    文件:HRegionServer.java   
@Override public TableLockManager getTableLockManager() {
  return tableLockManager;
}
项目:ditb    文件:TestMasterProcedureScheduler.java   
@Before
public void setUp() throws IOException {
  conf = HBaseConfiguration.create();
  queue = new MasterProcedureScheduler(conf, new TableLockManager.NullTableLockManager());
}
项目:ditb    文件:MockRegionServerServices.java   
@Override
public TableLockManager getTableLockManager() {
  return new NullTableLockManager();
}
项目:incubator-tephra    文件:TransactionProcessorTest.java   
@Override
public TableLockManager getTableLockManager() {
  return new TableLockManager.NullTableLockManager();
}
项目:incubator-tephra    文件:TransactionProcessorTest.java   
@Override
public TableLockManager getTableLockManager() {
  return new TableLockManager.NullTableLockManager();
}
项目:pbase    文件:TableLockChecker.java   
public void fixExpiredTableLocks() throws IOException {
  TableLockManager tableLockManager
    = TableLockManager.createTableLockManager(zkWatcher.getConfiguration(), zkWatcher, null);

  tableLockManager.reapAllExpiredLocks();
}
项目:pbase    文件:HRegionServer.java   
@Override
public TableLockManager getTableLockManager() {
    return tableLockManager;
}
项目:pbase    文件:MockRegionServerServices.java   
@Override
public TableLockManager getTableLockManager() {
  return new NullTableLockManager();
}
项目:HIndex    文件:TableLockChecker.java   
public void fixExpiredTableLocks() throws IOException {
  TableLockManager tableLockManager
    = TableLockManager.createTableLockManager(zkWatcher.getConfiguration(), zkWatcher, null);

  tableLockManager.reapAllExpiredLocks();
}
项目:HIndex    文件:HRegionServer.java   
@Override
public TableLockManager getTableLockManager() {
  return tableLockManager;
}
项目:HIndex    文件:MockRegionServerServices.java   
@Override
public TableLockManager getTableLockManager() {
  return new NullTableLockManager();
}