in client/src/main/java/org/apache/celeborn/client/ShuffleClientImpl.java [2037:2076]
private StatusCode getPushDataFailCause(String message) {
logger.debug("Push data failed cause message: {}", message);
StatusCode cause;
if (message == null) {
logger.error("Push data throw unexpected exception");
cause = StatusCode.PUSH_DATA_FAIL_NON_CRITICAL_CAUSE_PRIMARY;
} else if (message.startsWith(StatusCode.PUSH_DATA_FAIL_NON_CRITICAL_CAUSE_REPLICA.name())) {
cause = StatusCode.PUSH_DATA_FAIL_NON_CRITICAL_CAUSE_REPLICA;
} else if (message.startsWith(StatusCode.PUSH_DATA_WRITE_FAIL_REPLICA.name())) {
cause = StatusCode.PUSH_DATA_WRITE_FAIL_REPLICA;
} else if (message.startsWith(StatusCode.PUSH_DATA_WRITE_FAIL_PRIMARY.name())) {
cause = StatusCode.PUSH_DATA_WRITE_FAIL_PRIMARY;
} else if (message.startsWith(StatusCode.PUSH_DATA_CREATE_CONNECTION_FAIL_PRIMARY.name())) {
cause = StatusCode.PUSH_DATA_CREATE_CONNECTION_FAIL_PRIMARY;
} else if (message.startsWith(StatusCode.PUSH_DATA_CREATE_CONNECTION_FAIL_REPLICA.name())) {
cause = StatusCode.PUSH_DATA_CREATE_CONNECTION_FAIL_REPLICA;
} else if (message.startsWith(StatusCode.PUSH_DATA_CONNECTION_EXCEPTION_PRIMARY.name())) {
cause = StatusCode.PUSH_DATA_CONNECTION_EXCEPTION_PRIMARY;
} else if (message.startsWith(StatusCode.PUSH_DATA_CONNECTION_EXCEPTION_REPLICA.name())) {
cause = StatusCode.PUSH_DATA_CONNECTION_EXCEPTION_REPLICA;
} else if (message.startsWith(StatusCode.PUSH_DATA_TIMEOUT_PRIMARY.name())) {
cause = StatusCode.PUSH_DATA_TIMEOUT_PRIMARY;
} else if (message.startsWith(StatusCode.PUSH_DATA_TIMEOUT_REPLICA.name())) {
cause = StatusCode.PUSH_DATA_TIMEOUT_REPLICA;
} else if (message.startsWith(StatusCode.REPLICATE_DATA_FAILED.name())) {
cause = StatusCode.REPLICATE_DATA_FAILED;
} else if (message.startsWith(StatusCode.PUSH_DATA_PRIMARY_WORKER_EXCLUDED.name())) {
cause = StatusCode.PUSH_DATA_PRIMARY_WORKER_EXCLUDED;
} else if (message.startsWith(StatusCode.PUSH_DATA_REPLICA_WORKER_EXCLUDED.name())) {
cause = StatusCode.PUSH_DATA_REPLICA_WORKER_EXCLUDED;
} else if (message.startsWith(StatusCode.PUSH_DATA_FAIL_PARTITION_NOT_FOUND.name())) {
cause = StatusCode.PUSH_DATA_FAIL_PARTITION_NOT_FOUND;
} else if (ExceptionUtils.connectFail(message)) {
// Throw when push to primary worker connection causeException.
cause = StatusCode.PUSH_DATA_CONNECTION_EXCEPTION_PRIMARY;
} else {
cause = StatusCode.PUSH_DATA_FAIL_NON_CRITICAL_CAUSE_PRIMARY;
}
return cause;
}