You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uniffle.apache.org by ro...@apache.org on 2022/07/26 15:30:48 UTC

[incubator-uniffle] branch master updated: [Log enhancement] return error message when getting assignment servers and log exception when initializing (#64)

This is an automated email from the ASF dual-hosted git repository.

roryqi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-uniffle.git


The following commit(s) were added to refs/heads/master by this push:
     new 20d39e8  [Log enhancement] return error message when getting assignment servers and log exception when initializing (#64)
20d39e8 is described below

commit 20d39e8455788ce27b97c9a63031d8c42cf64e5f
Author: Junfan Zhang <ju...@outlook.com>
AuthorDate: Tue Jul 26 23:30:44 2022 +0800

    [Log enhancement] return error message when getting assignment servers and log exception when initializing (#64)
    
    ### What changes were proposed in this pull request?
    Log enhancement: return error message when getting assignment servers and log exception when initializing
    
    ### Why are the changes needed?
    To be easy to find the cause of error.
    
    ### Does this PR introduce _any_ user-facing change?
    No
    
    ### How was this patch tested?
    No need.
---
 .../org/apache/uniffle/client/impl/ShuffleWriteClientImpl.java |  3 ++-
 .../org/apache/uniffle/coordinator/CoordinatorGrpcService.java | 10 ++++++++--
 .../java/org/apache/uniffle/coordinator/CoordinatorServer.java |  8 ++++++--
 .../apache/uniffle/client/impl/grpc/CoordinatorGrpcClient.java |  2 +-
 .../client/response/RssGetShuffleAssignmentsResponse.java      |  4 ++++
 proto/src/main/proto/Rss.proto                                 |  1 +
 .../src/main/java/org/apache/uniffle/server/ShuffleServer.java |  7 ++++++-
 7 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/client/src/main/java/org/apache/uniffle/client/impl/ShuffleWriteClientImpl.java b/client/src/main/java/org/apache/uniffle/client/impl/ShuffleWriteClientImpl.java
index 4ba62d7..43d8b3b 100644
--- a/client/src/main/java/org/apache/uniffle/client/impl/ShuffleWriteClientImpl.java
+++ b/client/src/main/java/org/apache/uniffle/client/impl/ShuffleWriteClientImpl.java
@@ -393,7 +393,8 @@ public class ShuffleWriteClientImpl implements ShuffleWriteClient {
       }
     }
     String msg = "Error happened when getShuffleAssignments with appId[" + appId + "], shuffleId[" + shuffleId
-        + "], numMaps[" + partitionNum + "], partitionNumPerRange[" + partitionNumPerRange + "] to coordinator";
+        + "], numMaps[" + partitionNum + "], partitionNumPerRange[" + partitionNumPerRange + "] to coordinator. "
+        + "Error message: " + response.getMessage();
     throwExceptionIfNecessary(response, msg);
 
     return new ShuffleAssignmentsInfo(response.getPartitionToServers(), response.getServerToPartitionRanges());
diff --git a/coordinator/src/main/java/org/apache/uniffle/coordinator/CoordinatorGrpcService.java b/coordinator/src/main/java/org/apache/uniffle/coordinator/CoordinatorGrpcService.java
index b3bbf72..ce14458 100644
--- a/coordinator/src/main/java/org/apache/uniffle/coordinator/CoordinatorGrpcService.java
+++ b/coordinator/src/main/java/org/apache/uniffle/coordinator/CoordinatorGrpcService.java
@@ -123,8 +123,14 @@ public class CoordinatorGrpcService extends CoordinatorServerGrpc.CoordinatorSer
       logAssignmentResult(appId, shuffleId, pra);
       responseObserver.onNext(response);
     } catch (Exception e) {
-      LOG.error(e.getMessage());
-      response = GetShuffleAssignmentsResponse.newBuilder().setStatus(StatusCode.INTERNAL_ERROR).build();
+      LOG.error("Errors on getting shuffle assignments for app: {}, shuffleId: {}, partitionNum: {}, "
+          + "partitionNumPerRange: {}, replica: {}, requiredTags: {}",
+          appId, shuffleId, partitionNum, partitionNumPerRange, replica, requiredTags, e);
+      response = GetShuffleAssignmentsResponse
+          .newBuilder()
+          .setStatus(StatusCode.INTERNAL_ERROR)
+          .setRetMsg(e.getMessage())
+          .build();
       responseObserver.onNext(response);
     } finally {
       responseObserver.onCompleted();
diff --git a/coordinator/src/main/java/org/apache/uniffle/coordinator/CoordinatorServer.java b/coordinator/src/main/java/org/apache/uniffle/coordinator/CoordinatorServer.java
index 05fb64b..1c8bafd 100644
--- a/coordinator/src/main/java/org/apache/uniffle/coordinator/CoordinatorServer.java
+++ b/coordinator/src/main/java/org/apache/uniffle/coordinator/CoordinatorServer.java
@@ -49,8 +49,12 @@ public class CoordinatorServer {
 
   public CoordinatorServer(CoordinatorConf coordinatorConf) throws Exception {
     this.coordinatorConf = coordinatorConf;
-    initialization();
-
+    try {
+      initialization();
+    } catch (Exception e) {
+      LOG.error("Errors on initializing coordinator server.", e);
+      throw e;
+    }
   }
 
   public static void main(String[] args) throws Exception {
diff --git a/internal-client/src/main/java/org/apache/uniffle/client/impl/grpc/CoordinatorGrpcClient.java b/internal-client/src/main/java/org/apache/uniffle/client/impl/grpc/CoordinatorGrpcClient.java
index 41b2a86..dc1fa47 100644
--- a/internal-client/src/main/java/org/apache/uniffle/client/impl/grpc/CoordinatorGrpcClient.java
+++ b/internal-client/src/main/java/org/apache/uniffle/client/impl/grpc/CoordinatorGrpcClient.java
@@ -238,7 +238,7 @@ public class CoordinatorGrpcClient extends GrpcClient implements CoordinatorClie
         response = new RssGetShuffleAssignmentsResponse(ResponseStatusCode.TIMEOUT);
         break;
       default:
-        response = new RssGetShuffleAssignmentsResponse(ResponseStatusCode.INTERNAL_ERROR);
+        response = new RssGetShuffleAssignmentsResponse(ResponseStatusCode.INTERNAL_ERROR, rpcResponse.getRetMsg());
     }
 
     return response;
diff --git a/internal-client/src/main/java/org/apache/uniffle/client/response/RssGetShuffleAssignmentsResponse.java b/internal-client/src/main/java/org/apache/uniffle/client/response/RssGetShuffleAssignmentsResponse.java
index 605ec79..f916a85 100644
--- a/internal-client/src/main/java/org/apache/uniffle/client/response/RssGetShuffleAssignmentsResponse.java
+++ b/internal-client/src/main/java/org/apache/uniffle/client/response/RssGetShuffleAssignmentsResponse.java
@@ -32,6 +32,10 @@ public class RssGetShuffleAssignmentsResponse extends ClientResponse {
     super(statusCode);
   }
 
+  public RssGetShuffleAssignmentsResponse(ResponseStatusCode statusCode, String message) {
+    super(statusCode, message);
+  }
+
   public Map<Integer, List<ShuffleServerInfo>> getPartitionToServers() {
     return partitionToServers;
   }
diff --git a/proto/src/main/proto/Rss.proto b/proto/src/main/proto/Rss.proto
index 491316d..647430d 100644
--- a/proto/src/main/proto/Rss.proto
+++ b/proto/src/main/proto/Rss.proto
@@ -307,6 +307,7 @@ message PartitionRangeAssignment {
 message GetShuffleAssignmentsResponse {
   StatusCode status = 1;
   repeated PartitionRangeAssignment assignments = 2;
+  string retMsg = 3;
 }
 
 message ReportShuffleClientOpRequest {
diff --git a/server/src/main/java/org/apache/uniffle/server/ShuffleServer.java b/server/src/main/java/org/apache/uniffle/server/ShuffleServer.java
index 8ddf6fc..0cae0cf 100644
--- a/server/src/main/java/org/apache/uniffle/server/ShuffleServer.java
+++ b/server/src/main/java/org/apache/uniffle/server/ShuffleServer.java
@@ -67,7 +67,12 @@ public class ShuffleServer {
 
   public ShuffleServer(ShuffleServerConf shuffleServerConf) throws Exception {
     this.shuffleServerConf = shuffleServerConf;
-    initialization();
+    try {
+      initialization();
+    } catch (Exception e) {
+      LOG.error("Errors on initializing shuffle server.", e);
+      throw e;
+    }
   }
 
   /**