public ShowLocksResponse getLocks() throws LockException { return getLocks(new ShowLocksRequest()); }
private void showLocksNewFormat(String preamble) throws LockException { ShowLocksResponse rsp = getLocks(); // write the results in the file ByteArrayOutputStream baos = new ByteArrayOutputStream(1024*2); DataOutputStream os = new DataOutputStream(baos); try { DDLTask.dumpLockInfo(os, rsp); os.flush(); LOG.info(baos.toString()); } catch(IOException ex) { LOG.error("Dumping lock info for " + preamble + " failed: " + ex.getMessage(), ex); } } /**
public ShowLocksResponse getLocks() throws LockException { return getLocks(new ShowLocksRequest()); }
private void showLocksNewFormat(String preamble) throws LockException { ShowLocksResponse rsp = getLocks(); // write the results in the file ByteArrayOutputStream baos = new ByteArrayOutputStream(1024*2); DataOutputStream os = new DataOutputStream(baos); try { DDLTask.dumpLockInfo(os, rsp); os.flush(); LOG.info(baos.toString()); } catch(IOException ex) { LOG.error("Dumping lock info for " + preamble + " failed: " + ex.getMessage(), ex); } } /**
private List<ShowLocksResponseElement> getLocks(HiveTxnManager txnMgr) throws Exception { ShowLocksResponse rsp = ((DbLockManager)txnMgr.getLockManager()).getLocks(); return rsp.getLocks(); } /**
locks = lockMgr.getLocks(false, false);
ShowLocksResponse rsp = lockMgr.getLocks(rqst);
locks = lockMgr.getLocks(false, false);
private void testLockExpiration(HiveTxnManager txnMgr, int numLocksBefore, boolean shouldExpire) throws Exception { DbLockManager lockManager = (DbLockManager)txnMgr.getLockManager(); ShowLocksResponse resp = lockManager.getLocks(); Assert.assertEquals("Wrong number of locks before expire", numLocksBefore, resp.getLocks().size()); Thread.sleep(HiveConf.getTimeVar(conf, HiveConf.ConfVars.HIVE_TXN_TIMEOUT, TimeUnit.MILLISECONDS)); runReaper(); resp = lockManager.getLocks(); if (shouldExpire) { Assert.assertEquals("Expected all locks to expire", 0, resp.getLocks().size()); lockManager.clearLocalLockRecords(); } else { Assert.assertEquals("No lock should expire because there is heartbeating", numLocksBefore, resp.getLocks().size()); } }
ShowLocksResponse rsp = lockMgr.getLocks(rqst);
private List<ShowLocksResponseElement> getLocksWithFilterOptions(HiveTxnManager txnMgr, String dbName, String tblName, Map<String, String> partSpec) throws Exception { if (dbName == null && tblName != null) { dbName = SessionState.get().getCurrentDatabase(); } ShowLocksRequest rqst = new ShowLocksRequest(); rqst.setDbname(dbName); rqst.setTablename(tblName); if (partSpec != null) { List<String> keyList = new ArrayList<String>(); List<String> valList = new ArrayList<String>(); for (String partKey : partSpec.keySet()) { String partVal = partSpec.remove(partKey); keyList.add(partKey); valList.add(partVal); } String partName = FileUtils.makePartName(keyList, valList); rqst.setPartname(partName); } ShowLocksResponse rsp = ((DbLockManager)txnMgr.getLockManager()).getLocks(rqst); return rsp.getLocks(); }
@Test public void testWriteDynamicPartition() throws Exception { WriteEntity we = addDynamicPartitionedOutput(newTable(true), WriteEntity.WriteType.INSERT); QueryPlan qp = new MockQueryPlan(this, HiveOperation.QUERY); txnMgr.openTxn(ctx, "fred"); txnMgr.acquireLocks(qp, ctx, "fred"); List<HiveLock> locks = ctx.getHiveLocks(); Assert.assertEquals(1, locks.size()); /*Assert.assertEquals(1, TxnDbUtil.countLockComponents(((DbLockManager.DbHiveLock) locks.get(0)).lockId)); */// Make sure we're locking the whole table, since this is dynamic partitioning ShowLocksResponse rsp = ((DbLockManager)txnMgr.getLockManager()).getLocks(); List<ShowLocksResponseElement> elms = rsp.getLocks(); Assert.assertEquals(1, elms.size()); Assert.assertNotNull(elms.get(0).getTablename()); Assert.assertNull(elms.get(0).getPartname()); txnMgr.commitTxn(); locks = txnMgr.getLockManager().getLocks(false, false); Assert.assertEquals(0, locks.size()); }
ShowLocksResponse rsp = lockMgr.getLocks();
@Override public void heartbeat() throws LockException { LOG.debug("Heartbeating lock and transaction " + txnId); List<HiveLock> locks = lockMgr.getLocks(false, false); if (locks.size() == 0) { if (txnId == 0) {