Map<String, PoolData> poolInfo = new HashMap<>(); for (MWMPool pool : mResourcePlan.getPools()) { PoolData currentPoolData = getPoolData(poolInfo, pool.getPath()); currentPoolData.found = true; String parent = getParentPath(pool.getPath(), ""); PoolData parentPoolData = getPoolData(poolInfo, parent); parentPoolData.hasChildren = true; parentPoolData.totalChildrenAllocFraction += pool.getAllocFraction(); if (pool.getQueryParallelism() != null && pool.getQueryParallelism() < 1) { response.addToErrors("Invalid query parallelism for pool: " + pool.getPath()); } else { totalQueryParallelism += pool.getQueryParallelism(); " for pool: " + pool.getPath());
Map<String, Set<MWMPool>> triggersToPools = new HashMap<>(); for (MWMPool copyPool : src.getPools()) { MWMPool pool = new MWMPool(dest, copyPool.getPath(), copyPool.getAllocFraction(), copyPool.getQueryParallelism(), copyPool.getSchedulingPolicy()); pm.makePersistent(pool); pools.put(copyPool.getPath(), pool); if (copyPool.getTriggers() != null) { for (MWMTrigger trigger : copyPool.getTriggers()) { dest.setDefaultPool(pools.get(src.getDefaultPool().getPath())); MWMPool pool = null; if (copyMapping.getPool() != null) { pool = pools.get(copyMapping.getPool().getPath());
private void moveDescendents(MWMResourcePlan resourcePlan, String path, String newPoolPath) throws NoSuchObjectException { if (!poolParentExists(resourcePlan, newPoolPath)) { throw new NoSuchObjectException("Pool path is invalid, the parent does not exist"); } boolean commited = false; Query query = null; openTransaction(); try { query = pm.newQuery(MWMPool.class, "resourcePlan == rp && path.startsWith(poolPath)"); query.declareParameters("MWMResourcePlan rp, java.lang.String poolPath"); List<MWMPool> descPools = (List<MWMPool>) query.execute(resourcePlan, path + "."); pm.retrieveAll(descPools); for (MWMPool pool : descPools) { pool.setPath(newPoolPath + pool.getPath().substring(path.length())); } commited = commitTransaction(); } finally { rollbackAndCleanup(commited, query); } }
private WMPool fromMPool(MWMPool mPool, String rpName) { WMPool result = new WMPool(rpName, mPool.getPath()); assert mPool.getAllocFraction() != null; result.setAllocFraction(mPool.getAllocFraction()); assert mPool.getQueryParallelism() != null; result.setQueryParallelism(mPool.getQueryParallelism()); result.setSchedulingPolicy(mPool.getSchedulingPolicy()); result.setNs(mPool.getResourcePlan().getNs()); return result; }
private WMMapping fromMMapping(MWMMapping mMapping, String rpName) { WMMapping result = new WMMapping(rpName, mMapping.getEntityType().toString(), mMapping.getEntityName()); if (mMapping.getPool() != null) { result.setPoolPath(mMapping.getPool().getPath()); } if (mMapping.getOrdering() != null) { result.setOrdering(mMapping.getOrdering()); } result.setNs(mMapping.getResourcePlan().getNs()); return result; }
private WMResourcePlan fromMResourcePlan(MWMResourcePlan mplan) { if (mplan == null) { return null; } WMResourcePlan rp = new WMResourcePlan(); rp.setName(mplan.getName()); rp.setNs(mplan.getNs()); rp.setStatus(WMResourcePlanStatus.valueOf(mplan.getStatus().name())); if (mplan.getQueryParallelism() != null) { rp.setQueryParallelism(mplan.getQueryParallelism()); } if (mplan.getDefaultPool() != null) { rp.setDefaultPoolPath(mplan.getDefaultPool().getPath()); } return rp; }
MWMResourcePlan resourcePlan = getMWMResourcePlan(resourcePlanName, ns, true); if (resourcePlan.getDefaultPool() != null && resourcePlan.getDefaultPool().getPath().equals(poolPath)) { throw new InvalidOperationException("Cannot drop default pool of a resource plan");
private WMFullResourcePlan fullFromMResourcePlan(MWMResourcePlan mplan) { if (mplan == null) { return null; } WMFullResourcePlan rp = new WMFullResourcePlan(); rp.setPlan(fromMResourcePlan(mplan)); for (MWMPool mPool : mplan.getPools()) { rp.addToPools(fromMPool(mPool, mplan.getName())); for (MWMTrigger mTrigger : mPool.getTriggers()) { rp.addToPoolTriggers(new WMPoolTrigger(mPool.getPath(), mTrigger.getName())); } } for (MWMTrigger mTrigger : mplan.getTriggers()) { rp.addToTriggers(fromMWMTrigger(mTrigger, mplan.getName())); } for (MWMMapping mMapping : mplan.getMappings()) { rp.addToMappings(fromMMapping(mMapping, mplan.getName())); } return rp; }
Map<String, Set<MWMPool>> triggersToPools = new HashMap<>(); for (MWMPool copyPool : src.getPools()) { MWMPool pool = new MWMPool(dest, copyPool.getPath(), copyPool.getAllocFraction(), copyPool.getQueryParallelism(), copyPool.getSchedulingPolicy()); pm.makePersistent(pool); pools.put(copyPool.getPath(), pool); if (copyPool.getTriggers() != null) { for (MWMTrigger trigger : copyPool.getTriggers()) { dest.setDefaultPool(pools.get(src.getDefaultPool().getPath())); MWMPool pool = null; if (copyMapping.getPool() != null) { pool = pools.get(copyMapping.getPool().getPath());
Map<String, PoolData> poolInfo = new HashMap<>(); for (MWMPool pool : mResourcePlan.getPools()) { PoolData currentPoolData = getPoolData(poolInfo, pool.getPath()); currentPoolData.found = true; String parent = getParentPath(pool.getPath(), ""); PoolData parentPoolData = getPoolData(poolInfo, parent); parentPoolData.hasChildren = true; parentPoolData.totalChildrenAllocFraction += pool.getAllocFraction(); if (pool.getQueryParallelism() != null && pool.getQueryParallelism() < 1) { response.addToErrors("Invalid query parallelism for pool: " + pool.getPath()); } else { totalQueryParallelism += pool.getQueryParallelism(); " for pool: " + pool.getPath());
private void moveDescendents(MWMResourcePlan resourcePlan, String path, String newPoolPath) throws NoSuchObjectException { if (!poolParentExists(resourcePlan, newPoolPath)) { throw new NoSuchObjectException("Pool path is invalid, the parent does not exist"); } boolean commited = false; Query query = null; openTransaction(); try { query = pm.newQuery(MWMPool.class, "resourcePlan == rp && path.startsWith(poolPath)"); query.declareParameters("MWMResourcePlan rp, java.lang.String poolPath"); List<MWMPool> descPools = (List<MWMPool>) query.execute(resourcePlan, path + "."); pm.retrieveAll(descPools); for (MWMPool pool : descPools) { pool.setPath(newPoolPath + pool.getPath().substring(path.length())); } commited = commitTransaction(); } finally { rollbackAndCleanup(commited, query); } }
private WMPool fromMPool(MWMPool mPool, String rpName) { WMPool result = new WMPool(rpName, mPool.getPath()); assert mPool.getAllocFraction() != null; result.setAllocFraction(mPool.getAllocFraction()); assert mPool.getQueryParallelism() != null; result.setQueryParallelism(mPool.getQueryParallelism()); result.setSchedulingPolicy(mPool.getSchedulingPolicy()); return result; }
private WMMapping fromMMapping(MWMMapping mMapping, String rpName) { WMMapping result = new WMMapping(rpName, mMapping.getEntityType().toString(), mMapping.getEntityName()); if (mMapping.getPool() != null) { result.setPoolPath(mMapping.getPool().getPath()); } if (mMapping.getOrdering() != null) { result.setOrdering(mMapping.getOrdering()); } return result; }
private WMResourcePlan fromMResourcePlan(MWMResourcePlan mplan) { if (mplan == null) { return null; } WMResourcePlan rp = new WMResourcePlan(); rp.setName(mplan.getName()); rp.setStatus(WMResourcePlanStatus.valueOf(mplan.getStatus().name())); if (mplan.getQueryParallelism() != null) { rp.setQueryParallelism(mplan.getQueryParallelism()); } if (mplan.getDefaultPool() != null) { rp.setDefaultPoolPath(mplan.getDefaultPool().getPath()); } return rp; }
MWMResourcePlan resourcePlan = getMWMResourcePlan(resourcePlanName, true); if (resourcePlan.getDefaultPool() != null && resourcePlan.getDefaultPool().getPath().equals(poolPath)) { throw new InvalidOperationException("Cannot drop default pool of a resource plan");
private WMFullResourcePlan fullFromMResourcePlan(MWMResourcePlan mplan) { if (mplan == null) { return null; } WMFullResourcePlan rp = new WMFullResourcePlan(); rp.setPlan(fromMResourcePlan(mplan)); for (MWMPool mPool : mplan.getPools()) { rp.addToPools(fromMPool(mPool, mplan.getName())); for (MWMTrigger mTrigger : mPool.getTriggers()) { rp.addToPoolTriggers(new WMPoolTrigger(mPool.getPath(), mTrigger.getName())); } } for (MWMTrigger mTrigger : mplan.getTriggers()) { rp.addToTriggers(fromMWMTrigger(mTrigger, mplan.getName())); } for (MWMMapping mMapping : mplan.getMappings()) { rp.addToMappings(fromMMapping(mMapping, mplan.getName())); } return rp; }