Java源码示例:org.apache.hadoop.hive.metastore.api.CheckLockRequest
示例1
private long acquireLock() throws UnknownHostException, TException {
final LockComponent lockComponent = new LockComponent(LockType.EXCLUSIVE, LockLevel.TABLE, database);
lockComponent.setTablename(tableName);
final LockRequest lockRequest = new LockRequest(Lists.newArrayList(lockComponent),
System.getProperty("user.name"),
InetAddress.getLocalHost().getHostName());
LockResponse lockResponse = metaStoreClient.lock(lockRequest);
LockState state = lockResponse.getState();
long lockId = lockResponse.getLockid();
//TODO add timeout
while (state.equals(LockState.WAITING)) {
lockResponse = metaStoreClient.check_lock(new CheckLockRequest(lockResponse.getLockid()));
state = lockResponse.getState();
}
if (!state.equals(LockState.ACQUIRED)) {
throw new CommitFailedException(format("Could not acquire the lock on %s.%s, " +
"lock request ended in state %s", database, tableName, state));
}
return lockId;
}
示例2
@Test
public void check_lock() throws TException {
CheckLockRequest request = new CheckLockRequest();
LockResponse expected = new LockResponse();
when(primaryClient.check_lock(request)).thenReturn(expected);
LockResponse result = handler.check_lock(request);
assertThat(result, is(expected));
}
示例3
@Override
public LockResponse checkLock(long lockId)
throws TException
{
return client.check_lock(new CheckLockRequest(lockId));
}
示例4
@Override
@Loggable(value = Loggable.DEBUG, skipResult = true, name = INVOCATION_LOG_NAME)
public LockResponse check_lock(CheckLockRequest rqst)
throws NoSuchTxnException, TxnAbortedException, NoSuchLockException, TException {
return getPrimaryClient().check_lock(rqst);
}
示例5
/**
* {@inheritDoc}
*/
@Override
public LockResponse check_lock(final CheckLockRequest rqst) throws TException {
throw unimplemented("check_lock", new Object[]{rqst});
}