@Override public EvaluationResult evaluate(EvaluationContext context) { EvaluationResult evalResult = new EvaluationResult(); try { int compared = compareVersion(getVersion(), new int[] {2, 3, 0}); if (compared >= 0) { evalResult.setReturnCode(EvaluationResultCode.OK); evalResult.setMessage("Version test for hadoop common has passed."); } else { evalResult.setReturnCode(EvaluationResultCode.ERROR); evalResult.setMessage("Checking the version of hadoop common component has failed.\n" + "Current version : " + versionInfo.getProperty("version")); } } catch (Exception e) { evalResult.setReturnCode(EvaluationResultCode.ERROR); evalResult.setThrowable(e); evalResult.setMessage("Checking the version of hadoop common component has failed."); } return evalResult; }
public void fireRules(EvaluationContext context) throws EvaluationFailedException { List<RuleWrapper> candidateRules = getCandidateRules(); for (RuleWrapper wrapper: candidateRules) { EvaluationResult result = wrapper.getRule().evaluate(context); if (result.getReturnCode() == EvaluationResultCode.ERROR) { throw new EvaluationFailedException(result.getMessage(), result.getThrowable()); } } }
@Test public void testTajoConfValidationRule() throws Exception { TajoConf tajoConf = new TajoConf(new YarnConfiguration()); EvaluationContext context = new EvaluationContext(); context.addParameter(TajoConf.class.getName(), tajoConf); TajoConfValidationRule validationRule = new TajoConfValidationRule(); EvaluationResult result = validationRule.evaluate(context); assertThat(result, is(notNullValue())); assertThat(result.getReturnCode(), is(EvaluationResultCode.OK)); }
@Test public void testFileSystemRuleWithError() throws Exception { TajoConf tajoConf = new TajoConf(new YarnConfiguration()); createTajoDirectories(tajoConf); Path systemResourceDir = TajoConf.getSystemResourceDir(tajoConf); FileSystem defaultFs = systemResourceDir.getFileSystem(tajoConf); if (defaultFs.exists(systemResourceDir)) { defaultFs.delete(systemResourceDir, true); } EvaluationContext context = new EvaluationContext(); context.addParameter(TajoConf.class.getName(), tajoConf); FileSystemRule fsRule = new FileSystemRule(); EvaluationResult result = fsRule.evaluate(context); assertThat(result, is(notNullValue())); assertThat(result.getReturnCode(), is(EvaluationResultCode.ERROR)); } }
@Override public EvaluationResult evaluate(EvaluationContext context) { EvaluationResult evalResult = new EvaluationResult(); try { int compared = compareVersion(getVersion(), new int[] {2, 3, 0}); if (compared >= 0) { evalResult.setReturnCode(EvaluationResultCode.OK); evalResult.setMessage("Version test for hadoop common has passed."); } else { evalResult.setReturnCode(EvaluationResultCode.ERROR); evalResult.setMessage("Checking the version of hadoop common component has failed.\n" + "Current version : " + versionInfo.getProperty("version")); } } catch (Exception e) { evalResult.setReturnCode(EvaluationResultCode.ERROR); evalResult.setThrowable(e); evalResult.setMessage("Checking the version of hadoop common component has failed."); } return evalResult; }
public void fireRules(EvaluationContext context) throws EvaluationFailedException { List<RuleWrapper> candidateRules = getCandidateRules(); for (RuleWrapper wrapper: candidateRules) { EvaluationResult result = wrapper.getRule().evaluate(context); if (result.getReturnCode() == EvaluationResultCode.ERROR) { throw new EvaluationFailedException(result.getMessage(), result.getThrowable()); } } }
@Test public void testFileSystemRule() throws Exception { TajoConf tajoConf = new TajoConf(new YarnConfiguration()); createTajoDirectories(tajoConf); EvaluationContext context = new EvaluationContext(); context.addParameter(TajoConf.class.getName(), tajoConf); FileSystemRule fsRule = new FileSystemRule(); EvaluationResult result = fsRule.evaluate(context); assertThat(result, is(notNullValue())); assertThat(result.getReturnCode(), is(EvaluationResultCode.OK)); }
@Override public EvaluationResult evaluate(EvaluationContext context) { EvaluationResult result = new EvaluationResult(); Object tajoConfObj = context.getParameter(TajoConf.class.getName()); if (tajoConfObj != null && tajoConfObj instanceof TajoConf) { TajoConf tajoConf = (TajoConf) tajoConfObj; try { checkAccessControlOnTajoPaths(tajoConf); result.setReturnCode(EvaluationResultCode.OK); } catch (Exception e) { result.setReturnCode(EvaluationResultCode.ERROR); result.setMessage("Current User cannot access to this filesystem."); result.setThrowable(e); } } else { result.setReturnCode(EvaluationResultCode.ERROR); result.setMessage("Tajo Configuration is null or not a Configuration Type."); } return result; }
@Override public EvaluationResult evaluate(EvaluationContext context) { EvaluationResult result = new EvaluationResult(); Object tajoConfObj = context.getParameter(TajoConf.class.getName()); if (tajoConfObj != null && tajoConfObj instanceof TajoConf) { TajoConf tajoConf = (TajoConf) tajoConfObj; try { checkAccessControlOnTajoPaths(tajoConf); result.setReturnCode(EvaluationResultCode.OK); } catch (Exception e) { result.setReturnCode(EvaluationResultCode.ERROR); result.setMessage("Current User cannot access to this filesystem."); result.setThrowable(e); } } else { result.setReturnCode(EvaluationResultCode.ERROR); result.setMessage("Tajo Configuration is null or not a Configuration Type."); } return result; }
@Override public EvaluationResult evaluate(EvaluationContext context) { Object tajoConfObj = context.getParameter(TajoConf.class.getName()); EvaluationResult result = new EvaluationResult(); if (tajoConfObj != null && tajoConfObj instanceof TajoConf) { TajoConf tajoConf = (TajoConf) tajoConfObj; try { checkTajoMasterConnectivity(tajoConf); result.setReturnCode(EvaluationResultCode.OK); } catch (Exception e) { result.setReturnCode(EvaluationResultCode.ERROR); result.setMessage(e.getMessage()); result.setThrowable(e); } } else { result.setReturnCode(EvaluationResultCode.ERROR); result.setMessage("WorkerContext is null or not a WorkerContext type."); } return result; }
@Override public EvaluationResult evaluate(EvaluationContext context) { Object tajoConfObj = context.getParameter(TajoConf.class.getName()); EvaluationResult result = new EvaluationResult(); if (tajoConfObj != null && tajoConfObj instanceof TajoConf) { TajoConf tajoConf = (TajoConf) tajoConfObj; try { checkTajoMasterConnectivity(tajoConf); result.setReturnCode(EvaluationResultCode.OK); } catch (Exception e) { result.setReturnCode(EvaluationResultCode.ERROR); result.setMessage(e.getMessage()); result.setThrowable(e); } } else { result.setReturnCode(EvaluationResultCode.ERROR); result.setMessage("WorkerContext is null or not a WorkerContext type."); } return result; }
@Override public EvaluationResult evaluate(EvaluationContext context) { EvaluationResult result = new EvaluationResult(); Object tajoConfObj = context.getParameter(TajoConf.class.getName()); result.setReturnCode(EvaluationResultCode.OK); if (tajoConfObj != null && tajoConfObj instanceof TajoConf) { TajoConf tajoConf = (TajoConf) tajoConfObj; for (TajoConf.ConfVars confVar: TajoConf.ConfVars.values()) { String varValue = tajoConf.get(confVar.keyname()); Collection<ConstraintViolation> violationSet = isValidationTestPassed(confVar, varValue); if (violationSet.size() > 0) { result.setReturnCode(EvaluationResultCode.ERROR); result.setMessage("Validation Test has been failed on " + confVar.keyname() + ". Actual value is " + varValue); result.setThrowable(new ConstraintViolationException(violationSet)); break; } } } return result; }
@Override public EvaluationResult evaluate(EvaluationContext context) { EvaluationResult result = new EvaluationResult(); Object tajoConfObj = context.getParameter(TajoConf.class.getName()); result.setReturnCode(EvaluationResultCode.OK); if (tajoConfObj != null && tajoConfObj instanceof TajoConf) { TajoConf tajoConf = (TajoConf) tajoConfObj; for (TajoConf.ConfVars confVar: TajoConf.ConfVars.values()) { String varValue = tajoConf.get(confVar.keyname()); Collection<ConstraintViolation> violationSet = isValidationTestPassed(confVar, varValue); if (violationSet.size() > 0) { result.setReturnCode(EvaluationResultCode.ERROR); result.setMessage("Validation Test has been failed on " + confVar.keyname() + ". Actual value is " + varValue); result.setThrowable(new ConstraintViolationException(violationSet)); break; } } } return result; }