@Override public void onNext(final AllocatedEvaluator eval) { synchronized (ReefEventStateManager.this) { ReefEventStateManager.this.put(eval.getId(), eval.getEvaluatorDescriptor()); } } }
@Override public void onNext(final AllocatedEvaluator allocatedEvaluator) { LOG.log(Level.INFO, "Received AllocatedEvaluator: {0} :: CLOSING", allocatedEvaluator); allocatedEvaluator.close(); } }
@Override public void onNext(final AllocatedEvaluator allocatedEvaluator) { final String evalId = allocatedEvaluator.getId(); LOG.log(Level.FINEST, "Allocated evaluator: {0}", evalId); if (conf != null) { LOG.log(Level.FINE, "Satisfying failed configuration for {0}", evalId); allocatedEvaluator.submitContext(conf); submittedComputeEvalConfigs.put(evalId, conf); return; if (confPair != null) { LOG.log(Level.FINE, "Satisfying failed configuration for {0}", evalId); allocatedEvaluator.submitContextAndService(confPair.first, confPair.second); submittedDataEvalConfigs.put(evalId, confPair); return; .build(); LOG.log(Level.FINE, "Submitting Compute Context to {0}", evalId); allocatedEvaluator.submitContext(idConfiguration); submittedComputeEvalConfigs.put(allocatedEvaluator.getId(), idConfiguration); if (evaluatorsForComputeRequest == 0) { LOG.log(Level.FINE, "All Compute requests satisfied. Releasing gate"); allocatedEvaluator.submitContextAndService(confPair.first, confPair.second); submittedDataEvalConfigs.put(allocatedEvaluator.getId(), confPair);
@Override public Configuration getContextConfiguration(final AllocatedEvaluator allocatedEvaluator) { final NumberedSplit<InputSplit> numberedSplit = this.evaluatorToPartitionMapper.getInputSplit( allocatedEvaluator.getEvaluatorDescriptor().getNodeDescriptor().getName(), allocatedEvaluator.getId()); return ContextConfiguration.CONF .set(ContextConfiguration.IDENTIFIER, DATA_LOAD_CONTEXT_PREFIX + numberedSplit.getIndex()) .build(); }
@Override public Configuration getServiceConfiguration(final AllocatedEvaluator allocatedEvaluator) { try { final NumberedSplit<InputSplit> numberedSplit = this.evaluatorToPartitionMapper.getInputSplit( allocatedEvaluator.getEvaluatorDescriptor().getNodeDescriptor().getName(), allocatedEvaluator.getId()); final Configuration serviceConfiguration = ServiceConfiguration.CONF .set(ServiceConfiguration.SERVICES, this.inMemory ? InMemoryInputFormatDataSet.class : InputFormatDataSet.class) .build(); return Tang.Factory.getTang().newConfigurationBuilder(serviceConfiguration) .bindImplementation( DataSet.class, this.inMemory ? InMemoryInputFormatDataSet.class : InputFormatDataSet.class) .bindNamedParameter(JobConfExternalConstructor.InputFormatClass.class, inputFormatClass) .bindNamedParameter(JobConfExternalConstructor.InputPath.class, inputPath) .bindNamedParameter( InputSplitExternalConstructor.SerializedInputSplit.class, WritableSerializer.serialize(numberedSplit.getEntry())) .bindConstructor(InputSplit.class, InputSplitExternalConstructor.class) .bindConstructor(JobConf.class, JobConfExternalConstructor.class) .build(); } catch (final BindException ex) { final String evalId = allocatedEvaluator.getId(); final String msg = "Unable to create configuration for evaluator " + evalId; LOG.log(Level.WARNING, msg, ex); throw new RuntimeException(msg, ex); } }