@Override public List<HiveLock> getLocks(boolean verifyTablePartitions, boolean fetchData) throws LockException { return getLocks(verifyTablePartitions, fetchData, ctx.getConf()); }
@Override public List<HiveLock> lock(List<HiveLockObj> objs, boolean keepAlive, LockedDriverState lDrvState) throws LockException { return lock(objs, numRetriesForLock, sleepTime); }
@Override public void unlock(HiveLock hiveLock) throws LockException { unlock(hiveLock, numRetriesForUnLock, sleepTime); }
public HiveLock lock(HiveLockObject key, HiveLockMode mode, int numRetriesForLock, long sleepTime) throws LockException { for (int i = 0; i <= numRetriesForLock; i++) { if (i > 0) { sleep(sleepTime); } HiveLock lock = lockPrimitive(key, mode); if (lock != null) { return lock; } } return null; }
public List<HiveLock> lock(List<HiveLockObj> objs, int numRetriesForLock, long sleepTime) throws LockException { sortLocks(objs); for (int i = 0; i <= numRetriesForLock; i++) { if (i > 0) { sleep(sleepTime); } List<HiveLock> locks = lockPrimitive(objs, numRetriesForLock, sleepTime); if (locks != null) { return locks; } } return null; }
private List<HiveLock> lockPrimitive(List<HiveLockObj> objs, int numRetriesForLock, long sleepTime) throws LockException { List<HiveLock> locks = new ArrayList<HiveLock>(); for (HiveLockObj obj : objs) { HiveLock lock = lockPrimitive(obj.getObj(), obj.getMode()); if (lock == null) { releaseLocks(locks, numRetriesForLock, sleepTime); return null; } locks.add(lock); } return locks; }
conf.set("hive.lock.numretries", "0"); conf.set("hive.unlock.numretries", "0"); EmbeddedLockManager manager = new EmbeddedLockManager(); manager.setContext(new HiveLockManagerCtx(conf)); HiveLock path1sel1Lock = manager.lock(path1sel1, HiveLockMode.SHARED, false); Assert.assertNotNull(path1sel1Lock); Assert.assertEquals(1, manager.getLocks(path1sel1, false, false).size()); Assert.assertEquals(1, manager.getLocks(path1sel1, false, true).size()); Assert.assertEquals(1, manager.getLocks(false, true).size()); Assert.assertNull(manager.lock(path1up1, HiveLockMode.EXCLUSIVE, false)); HiveLock path1sel2Lock = manager.lock(path1sel2, HiveLockMode.SHARED, false); Assert.assertNotNull(path1sel2Lock); Assert.assertEquals(1, manager.getLocks(path1sel1, false, false).size()); Assert.assertEquals(2, manager.getLocks(path1sel1, false, true).size()); Assert.assertEquals(2, manager.getLocks(path1sel2, false, true).size()); Assert.assertEquals(2, manager.getLocks(false, true).size()); Assert.assertNull(manager.lock(path1up2, HiveLockMode.EXCLUSIVE, false)); HiveLock path2sel1Lock = manager.lock(path2sel1, HiveLockMode.SHARED, false); Assert.assertNotNull(path2sel1Lock); Assert.assertEquals(1, manager.getLocks(path1sel1, false, false).size()); Assert.assertEquals(2, manager.getLocks(path1sel1, false, true).size()); Assert.assertEquals(2, manager.getLocks(path1sel2, false, true).size()); Assert.assertEquals(1, manager.getLocks(path2sel1, false, true).size()); Assert.assertEquals(3, manager.getLocks(false, true).size());
@Override public void setContext(HiveLockManagerCtx ctx) throws LockException { this.ctx = ctx; refresh(); }
@Override public void releaseLocks(List<HiveLock> hiveLocks) { releaseLocks(hiveLocks, numRetriesForUnLock, sleepTime); }
public void unlock(HiveLock hiveLock, int numRetriesForUnLock, long sleepTime) throws LockException { String[] paths = hiveLock.getHiveLockObject().getPaths(); HiveLockObjectData data = hiveLock.getHiveLockObject().getData(); for (int i = 0; i <= numRetriesForUnLock; i++) { if (i > 0) { sleep(sleepTime); } if (root.unlock(paths, data)) { return; } } throw new LockException("Failed to release lock " + hiveLock); }
private List<HiveLock> lock(List<HiveLockObj> objs, int numRetriesForLock, long sleepTime) throws LockException { sortLocks(objs); if (LOG.isDebugEnabled()) { for (HiveLockObj obj : objs) { LOG.debug("Acquiring lock for {} with mode {}", obj.getObj().getName(), obj.getMode()); } } for (int i = 0; i <= numRetriesForLock; i++) { if (i > 0) { sleep(sleepTime); } List<HiveLock> locks = lockPrimitive(objs, numRetriesForLock, sleepTime); if (locks != null) { return locks; } } return null; }
public HiveLock lock(HiveLockObject key, HiveLockMode mode, int numRetriesForLock, long sleepTime) throws LockException { for (int i = 0; i <= numRetriesForLock; i++) { if (i > 0) { sleep(sleepTime); } HiveLock lock = lockPrimitive(key, mode); if (lock != null) { return lock; } } return null; }
private List<HiveLock> lockPrimitive(List<HiveLockObj> objs, int numRetriesForLock, long sleepTime) throws LockException { List<HiveLock> locks = new ArrayList<HiveLock>(); for (HiveLockObj obj : objs) { HiveLock lock = lockPrimitive(obj.getObj(), obj.getMode()); if (lock == null) { releaseLocks(locks, numRetriesForLock, sleepTime); return null; } locks.add(lock); } return locks; }
@Override public void setContext(HiveLockManagerCtx ctx) throws LockException { this.ctx = ctx; refresh(); }
@Override public void releaseLocks(List<HiveLock> hiveLocks) { releaseLocks(hiveLocks, numRetriesForUnLock, sleepTime); }
public void unlock(HiveLock hiveLock, int numRetriesForUnLock, long sleepTime) throws LockException { String[] paths = hiveLock.getHiveLockObject().getPaths(); HiveLockObjectData data = hiveLock.getHiveLockObject().getData(); for (int i = 0; i <= numRetriesForUnLock; i++) { if (i > 0) { sleep(sleepTime); } if (root.unlock(paths, data)) { return; } } throw new LockException("Failed to release lock " + hiveLock); }
public List<HiveLock> lock(List<HiveLockObj> objs, int numRetriesForLock, long sleepTime) throws LockException { sortLocks(objs); for (int i = 0; i <= numRetriesForLock; i++) { if (i > 0) { sleep(sleepTime); } List<HiveLock> locks = lockPrimitive(objs, numRetriesForLock, sleepTime); if (locks != null) { return locks; } } return null; }
public HiveLock lock(HiveLockObject key, HiveLockMode mode, int numRetriesForLock, long sleepTime) throws LockException { for (int i = 0; i <= numRetriesForLock; i++) { if (i > 0) { sleep(sleepTime); } HiveLock lock = lockPrimitive(key, mode); if (lock != null) { return lock; } } return null; }
private List<HiveLock> lockPrimitive(List<HiveLockObj> objs, int numRetriesForLock, long sleepTime) throws LockException { List<HiveLock> locks = new ArrayList<HiveLock>(); for (HiveLockObj obj : objs) { HiveLock lock = lockPrimitive(obj.getObj(), obj.getMode()); if (lock == null) { releaseLocks(locks, numRetriesForLock, sleepTime); return null; } locks.add(lock); } return locks; }
@Override public HiveLock lock(HiveLockObject key, HiveLockMode mode, boolean keepAlive) throws LockException { return lock(key, mode, numRetriesForLock, sleepTime); }