String name = null; if (isActivate) { name = appliedRp.getPlan().getName(); LOG.info("Activating a new resource plan " + name + ": " + appliedRp); } else {
public void showResourcePlans(DataOutputStream out, List<WMResourcePlan> resourcePlans) throws HiveException { try { for (WMResourcePlan plan : resourcePlans) { out.write(plan.getName().getBytes(UTF_8)); out.write(separator); out.write(plan.getStatus().name().getBytes(UTF_8)); out.write(separator); if (plan.isSetQueryParallelism()) { out.write(Integer.toString(plan.getQueryParallelism()).getBytes(UTF_8)); } else { write(out, "null"); } out.write(separator); if (plan.isSetDefaultPoolPath()) { out.write(plan.getDefaultPoolPath().getBytes(UTF_8)); } else { write(out, "null"); } out.write(terminator); } } catch (IOException e) { throw new HiveException(e); } }
public Object getFieldValue(_Fields field) { switch (field) { case NAME: return getName(); case STATUS: return getStatus(); case QUERY_PARALLELISM: return getQueryParallelism(); case DEFAULT_POOL_PATH: return getDefaultPoolPath(); case NS: return getNs(); } throw new IllegalStateException(); }
public void startPool(HiveConf conf, final WMFullResourcePlan resourcePlan) throws Exception { if (restrictedConfig == null) { // Sanity check; restrictedConfig is always set in setup. throw new AssertionError("setupPool or setupNonPool needs to be called first"); } if (defaultSessionPool != null) { defaultSessionPool.start(); } if (expirationTracker != null) { expirationTracker.start(); } initTriggers(conf); if (resourcePlan != null) { updateTriggers(resourcePlan); LOG.info("Updated tez session pool manager with active resource plan: {}", resourcePlan.getPlan().getName()); } }
this.userPoolMapping = new UserPoolMapping(null, null); } else { this.rpName = plan.getPlan().getName(); this.defaultPool = plan.getPlan().getDefaultPoolPath(); this.userPoolMapping = new UserPoolMapping(plan.getMappings(), defaultPool);
public void createResourcePlan(WMResourcePlan resourcePlan, String copyFromName, boolean ifNotExists) throws HiveException { String ns = conf.getVar(ConfVars.HIVE_SERVER2_WM_NAMESPACE); if (resourcePlan.isSetNs() && !ns.equals(resourcePlan.getNs())) { throw new HiveException("Cannot create a plan in a different NS; was " + resourcePlan.getNs() + ", configured " + ns); } resourcePlan.setNs(ns); try { getMSC().createResourcePlan(resourcePlan, copyFromName); } catch (AlreadyExistsException e) { if (!ifNotExists) { throw new HiveException(e, ErrorMsg.RESOURCE_PLAN_ALREADY_EXISTS, resourcePlan.getName()); } } catch (Exception e) { throw new HiveException(e); } }
private void addMapping(WMFullResourcePlan fullRp, String type, String name, String poolName) { WMMapping mapping = new WMMapping(fullRp.getPlan().getName(), type, name); mapping.setPoolPath(poolName); fullRp.addToMappings(mapping); }
private void addPool(WMFullResourcePlan fullRp, String poolName, double allocFraction, int parallelism, String policy) { WMPool pool = new WMPool(fullRp.getPlan().getName(), poolName); pool.setAllocFraction(allocFraction); pool.setQueryParallelism(parallelism); if (policy != null) { pool.setSchedulingPolicy(policy); } fullRp.addToPools(pool); }
@Override public void showResourcePlans(DataOutputStream out, List<WMResourcePlan> resourcePlans) throws HiveException { JsonGenerator generator = null; try { generator = new ObjectMapper().getJsonFactory().createJsonGenerator(out); generator.writeStartArray(); for (WMResourcePlan plan : resourcePlans) { generator.writeStartObject(); generator.writeStringField("name", plan.getName()); generator.writeStringField("status", plan.getStatus().name()); if (plan.isSetQueryParallelism()) { generator.writeNumberField("queryParallelism", plan.getQueryParallelism()); } if (plan.isSetDefaultPoolPath()) { generator.writeStringField("defaultPoolPath", plan.getDefaultPoolPath()); } generator.writeEndObject(); } generator.writeEndArray(); generator.close(); } catch (IOException e) { throw new HiveException(e); } finally { if (generator != null) { IOUtils.closeQuietly(generator); } } }
private void addTrigger(WMFullResourcePlan fullRp, String triggerName, String action, String expr, String poolName) { WMTrigger trigger = new WMTrigger(fullRp.getPlan().getName(), triggerName); trigger.setActionExpression(action); trigger.setTriggerExpression(expr); fullRp.addToTriggers(trigger); WMPoolTrigger pool2Trigger = new WMPoolTrigger(poolName, triggerName); fullRp.addToPoolTriggers(pool2Trigger); }
public static void formatFullRP(RPFormatter rpFormatter, WMFullResourcePlan fullRp) throws HiveException { try { WMResourcePlan plan = fullRp.getPlan(); Integer parallelism = plan.isSetQueryParallelism() ? plan.getQueryParallelism() : null; String defaultPool = plan.isSetDefaultPoolPath() ? plan.getDefaultPoolPath() : null; rpFormatter.startRP(plan.getName(), "status", plan.getStatus().toString(), "parallelism", parallelism, "defaultPool", defaultPool); rpFormatter.startPools(); PoolTreeNode root = PoolTreeNode.makePoolTree(fullRp); root.sortChildren(); for (PoolTreeNode pool : root.children) { pool.writePoolTreeNode(rpFormatter); } rpFormatter.endPools(); rpFormatter.endRP(); } catch (IOException e) { throw new HiveException(e); } } }
throws AlreadyExistsException, InvalidObjectException, MetaException, NoSuchObjectException { boolean commited = false; String rpName = normalizeIdentifier(resourcePlan.getName()); if (rpName.isEmpty()) { throw new InvalidObjectException("Resource name cannot be empty.");
public Object getFieldValue(_Fields field) { switch (field) { case NAME: return getName(); case STATUS: return getStatus(); case QUERY_PARALLELISM: return getQueryParallelism(); case DEFAULT_POOL_PATH: return getDefaultPoolPath(); } throw new IllegalStateException(); }
throws AlreadyExistsException, InvalidObjectException, MetaException, NoSuchObjectException { boolean commited = false; String rpName = normalizeIdentifier(resourcePlan.getName()); if (rpName.isEmpty()) { throw new InvalidObjectException("Resource name cannot be empty.");