Uploaded image for project: 'Giraph (Retired)'
  1. Giraph (Retired)
  2. GIRAPH-362

Address master task id for communication for master (known issue from GIRAPH-211)

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      There is a workaround from GIRAPH-211 to handle requests a little differently due to issues communicating to the master. We should fix this to be a regular request in the future.

        public void sendWritableRequest(Integer destWorkerId,
                                        InetSocketAddress remoteServer,
                                        WritableRequest request) {
          if (clientRequestIdRequestInfoMap.isEmpty()) {
            byteCounter.resetAll();
          }
          boolean registerRequest = true;
      /*if[HADOOP_NON_SECURE]
      else[HADOOP_NON_SECURE]*/
          if (request.getType() == RequestType.SASL_TOKEN_MESSAGE_REQUEST) {
            registerRequest = false;
          }
      /*end[HADOOP_NON_SECURE]*/
      
          Channel channel = getNextChannel(remoteServer);
          RequestInfo newRequestInfo = new RequestInfo(remoteServer, request);
          if (registerRequest) {
            request.setClientId(clientId);
            request.setRequestId(
              addressRequestIdGenerator.getNextRequestId(remoteServer));
            ClientRequestId clientRequestId =
              new ClientRequestId(destWorkerId, request.getRequestId());
            RequestInfo oldRequestInfo = clientRequestIdRequestInfoMap.putIfAbsent(
              clientRequestId, newRequestInfo);
            if (oldRequestInfo != null) {
              throw new IllegalStateException("sendWritableRequest: Impossible to " +
                "have a previous request id = " + request.getRequestId() + ", " +
                "request info of " + oldRequestInfo);
            }
          }
          ChannelFuture writeFuture = channel.write(request);
          newRequestInfo.setWriteFuture(writeFuture);
      
          if (limitNumberOfOpenRequests &&
              clientRequestIdRequestInfoMap.size() > maxNumberOfOpenRequests) {
            waitSomeRequests(maxNumberOfOpenRequests);
          }
        }
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              aching Avery Ching
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: