/**
   * notifyMasterOfReduceTaskFailure: Get master's communicator and call reduceTaskFailed on it with
   * the failed reduceTask and the exception
   *
   * @param task
   * @param e
   */
  public void notifyMasterOfReduceTaskFailure(ReduceTask task, Exception e) {
    Registry registry;
    String masterNode = communicator.getMasterHostName();

    try {
      registry = LocateRegistry.getRegistry(masterNode, communicator.getREGISTRY_PORT());
      CommunicatorInterface communicator =
          (CommunicatorInterface) registry.lookup("communicator_" + masterNode);
      communicator.reduceTaskFailed(task, e);
    } catch (RemoteException e1) {
      e1.printStackTrace();
    } catch (NotBoundException e1) {
      e1.printStackTrace();
    }
  }