@Override protected RuleRegistrySet createDefaultRuleRegistrySet() { return new RuleRegistrySet( new LocalRuleRegistry() ); } }
protected Comparator<RuleResult> getPlanComparator() { if( registrySet.getPlanComparator() != null ) return registrySet.getPlanComparator(); return DEFAULT_PLAN_COMPARATOR; }
private void notifyInterrupted() { if( interrupted.isEmpty() ) return; for( RuleResult ruleResult : interrupted ) getFlowLogger().logInfo( "rule registry: {}, planned longer than default duration, was cancelled", ruleResult.getRegistry().getName() ); if( interrupted.size() == registrySet.size() ) throw new PlannerException( "planner registry timeout exceeded for all registries: " + formatDurationFromMillis( registrySet.getPlannerTimeoutSec() * 1000 ) ); if( !registrySet.isIgnoreFailed() || success.isEmpty() ) rethrow( interrupted.get( 0 ).getPlannerException() ); }
if( testTempReplaced && flowConnector.getRuleRegistrySet().findRegistryWith( "CombineAdjacentTapTransformer" ) == null ) testTempReplaced = false;
Set<Future<RuleResult>> futures = new HashSet<>(); RuleRegistrySet.Select select = registrySet.getSelect(); long totalDuration = registrySet.getPlannerTimeoutSec(); long startAll = TimeUnit.MILLISECONDS.toSeconds( System.currentTimeMillis() ); getFlowLogger().logWarn( "planner cancelling long running registries past timeout period: {}, see RuleRegistrySet#setPlannerTimeoutSec() to change timeout", formatDurationFromMillis( registrySet.getPlannerTimeoutSec() * 1000 ) ); else getFlowLogger().logInfo( "first registry completed, planner cancelling remaining running registries: {}, successful: {}", futures.size(), success.size() );
private RuleResult selectSuccess() { if( success.isEmpty() ) throw new IllegalStateException( "no planner results from registry set" ); for( RuleResult ruleResult : success ) getFlowLogger().logInfo( "rule registry: {}, supports assembly with steps: {}, nodes: {}", ruleResult.getRegistry().getName(), ruleResult.getNumSteps(), ruleResult.getNumNodes() ); if( success.size() != 1 ) { // sort is stable Collections.sort( success, getOrderComparator() ); Collections.sort( success, getPlanComparator() ); } RuleResult ruleResult = success.get( 0 ); if( registrySet.getSelect() == RuleRegistrySet.Select.FIRST ) getFlowLogger().logInfo( "rule registry: {}, result was selected as first successful", ruleResult.getRegistry().getName() ); else if( registrySet.getSelect() == RuleRegistrySet.Select.COMPARED ) getFlowLogger().logInfo( "rule registry: {}, result was selected using: \'{}\'", ruleResult.getRegistry().getName(), getPlanComparator().toString() ); return ruleResult; }
if( testTempReplaced && flowConnector.getRuleRegistrySet().findRegistryWith( "CombineAdjacentTapTransformer" ) == null ) testTempReplaced = false;
@Override protected RuleRegistrySet createDefaultRuleRegistrySet() { return new RuleRegistrySet( new MapReduceHadoopRuleRegistry() ); } }
@Override protected RuleRegistrySet createDefaultRuleRegistrySet() { return new RuleRegistrySet( new MapReduceHadoopRuleRegistry() ); } }
@Override protected RuleRegistrySet createDefaultRuleRegistrySet() { return new RuleRegistrySet(new FlinkDagRuleRegistry()); }
@Override protected RuleRegistrySet createDefaultRuleRegistrySet() { return new RuleRegistrySet( new NoHashJoinHadoop2TezRuleRegistry(), new HashJoinHadoop2TezRuleRegistry() ); } }
@Override protected RuleRegistrySet createDefaultRuleRegistrySet() { return new RuleRegistrySet( new NoHashJoinHadoop2TezRuleRegistry(), new HashJoinHadoop2TezRuleRegistry() ); } }