public static SelfDiagnosisRuleEngine getInstance() { if (instance == null) { synchronized (SelfDiagnosisRuleEngine.class) { if (instance == null) { instance = new SelfDiagnosisRuleEngine(); } } } return instance; }
private SelfDiagnosisRuleEngine() { wrapperMap = new HashMap<>(); loadPredefinedRules(); }
private void diagnoseTajoWorker() throws EvaluationFailedException { SelfDiagnosisRuleEngine ruleEngine = SelfDiagnosisRuleEngine.getInstance(); SelfDiagnosisRuleSession ruleSession = ruleEngine.newRuleSession(); EvaluationContext context = new EvaluationContext(); context.addParameter(TajoConf.class.getName(), systemConf); ruleSession.withCategoryNames("base", "worker").fireRules(context); }
protected void loadPredefinedRules() { ClassLoader cl = Thread.currentThread().getContextClassLoader(); ServiceLoader<SelfDiagnosisRuleProvider> serviceLoader = ServiceLoader.load(SelfDiagnosisRuleProvider.class, cl); Iterator<SelfDiagnosisRuleProvider> iterator = serviceLoader.iterator(); wrapperMap.clear(); while (iterator.hasNext()) { SelfDiagnosisRuleProvider ruleProvider = iterator.next(); loadRuleData(ruleProvider.getDefinedRules()); } }
List<RuleWrapper> candidateRules = new ArrayList<>(); wrapperMap = ruleEngine.getRules(); Class<?> callerClazz = getCallerClassName();
private void diagnoseTajoMaster() throws EvaluationFailedException { SelfDiagnosisRuleEngine ruleEngine = SelfDiagnosisRuleEngine.getInstance(); SelfDiagnosisRuleSession ruleSession = ruleEngine.newRuleSession(); EvaluationContext context = new EvaluationContext(); context.addParameter(TajoConf.class.getName(), systemConf); ruleSession.withCategoryNames("base", "master").fireRules(context); }
protected void loadPredefinedRules() { ClassLoader cl = Thread.currentThread().getContextClassLoader(); ServiceLoader<SelfDiagnosisRuleProvider> serviceLoader = ServiceLoader.load(SelfDiagnosisRuleProvider.class, cl); Iterator<SelfDiagnosisRuleProvider> iterator = serviceLoader.iterator(); wrapperMap.clear(); while (iterator.hasNext()) { SelfDiagnosisRuleProvider ruleProvider = iterator.next(); loadRuleData(ruleProvider.getDefinedRules()); } }
List<RuleWrapper> candidateRules = TUtil.newList(); wrapperMap = ruleEngine.getRules(); Class<?> callerClazz = getCallerClassName();
private void diagnoseTajoMaster() throws EvaluationFailedException { SelfDiagnosisRuleEngine ruleEngine = SelfDiagnosisRuleEngine.getInstance(); SelfDiagnosisRuleSession ruleSession = ruleEngine.newRuleSession(); EvaluationContext context = new EvaluationContext(); context.addParameter(TajoConf.class.getName(), systemConf); ruleSession.withCategoryNames("base", "master").fireRules(context); }
public void reset() { if (wrapperMap != null) { wrapperMap.clear(); } loadPredefinedRules(); }
public static SelfDiagnosisRuleEngine getInstance() { if (instance == null) { synchronized (SelfDiagnosisRuleEngine.class) { if (instance == null) { instance = new SelfDiagnosisRuleEngine(); } } } return instance; }
private void diagnoseTajoWorker() throws EvaluationFailedException { SelfDiagnosisRuleEngine ruleEngine = SelfDiagnosisRuleEngine.getInstance(); SelfDiagnosisRuleSession ruleSession = ruleEngine.newRuleSession(); EvaluationContext context = new EvaluationContext(); context.addParameter(TajoConf.class.getName(), systemConf); ruleSession.withCategoryNames("base", "worker").fireRules(context); }
public void reset() { if (wrapperMap != null) { wrapperMap.clear(); } loadPredefinedRules(); }
@Test(expected=EvaluationFailedException.class) public void testTajoConfValidationRuleWithException() throws Exception { TajoConf tajoConf = new TajoConf(new YarnConfiguration()); SelfDiagnosisRuleEngine ruleEngine = SelfDiagnosisRuleEngine.getInstance(); SelfDiagnosisRuleSession ruleSession = ruleEngine.newRuleSession(); tajoConf.setVar(TajoConf.ConfVars.ROOT_DIR, "invalid path."); EvaluationContext context = new EvaluationContext(); context.addParameter(TajoConf.class.getName(), tajoConf); ruleSession.withRuleNames("TajoConfValidationRule").fireRules(context); fail("EvaluationFailedException exception is expected, but it does not happen."); }
private SelfDiagnosisRuleEngine() { wrapperMap = TUtil.newHashMap(); loadPredefinedRules(); }