Commit 804fa321 authored by Cristiano Urban's avatar Cristiano Urban
Browse files

Standardize some common error codes + minor changes.

parent 38bd2576
Loading
Loading
Loading
Loading
+24 −15
Original line number Diff line number Diff line
@@ -49,6 +49,15 @@ class DataRPCServer(RedisRPCServer):
        super(DataRPCServer, self).__init__(host, port, db, rpcQueue)

    def callback(self, requestBody):
        try:
            queueLen = self.pendingQueueWrite.len()
        except Exception:
            errorMsg = "Cache error."
            self.logger.exception(errorMsg)
            response = { "responseType": "ERROR",
                         "errorCode": 3,
                         "errorMsg": errorMsg }
            return response
        # 'requestType' and 'userName' attributes are mandatory
        if "requestType" not in requestBody or "userName" not in requestBody:
            errorMsg = "Malformed request, missing parameters."
@@ -56,11 +65,11 @@ class DataRPCServer(RedisRPCServer):
            response = { "responseType":"ERROR",
                         "errorCode": 1,
                         "errorMsg": errorMsg }
        elif self.pendingQueueWrite.len() >= self.maxPendingJobs:
        elif queueLen >= self.maxPendingJobs:
            errorMsg = "Pending queue is full, please, retry later."
            self.logger.error(errorMsg)
            response = { "responseType": "ERROR",
                         "errorCode": 2,
                         "errorCode": 4,
                         "errorMsg":  errorMsg }
        elif requestBody["requestType"] == "CSTORE" or requestBody["requestType"] == "HSTORE":
            user = requestBody["userName"]
@@ -70,7 +79,7 @@ class DataRPCServer(RedisRPCServer):
                errorMsg = "Database error."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 3,
                             "errorCode": 2,
                             "errorMsg": errorMsg }
                return response            
            try:
@@ -80,14 +89,14 @@ class DataRPCServer(RedisRPCServer):
                errorMsg = "Multiple users with the same email address in RAP."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 4,
                             "errorCode": 5,
                             "errorMsg": errorMsg }
                return response
            except HTTPException:
                errorMsg = "HTTP exception."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 5,
                             "errorCode": 6,
                             "errorMsg": errorMsg }
                return response                
            try:    
@@ -99,7 +108,7 @@ class DataRPCServer(RedisRPCServer):
                errorMsg = "Database error."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 3,
                             "errorCode": 2,
                             "errorMsg": errorMsg }
                return response
            #folderPath = "/home/" + user + "/store"
@@ -111,14 +120,14 @@ class DataRPCServer(RedisRPCServer):
                errorMsg = "The user does not exist on the transfer node."
                self.logger.error(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 6,
                             "errorCode": 7,
                             "errorMsg": errorMsg }
            elif not (userInDb or rapInfo):
                # the user cannot be found neither in RAP nor in db
                errorMsg = "The user is not registered neither in RAP nor in the database."
                self.logger.error(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 7,
                             "errorCode": 8,
                             "errorMsg": errorMsg }
            else:
                if not userInDb and rapInfo:
@@ -129,7 +138,7 @@ class DataRPCServer(RedisRPCServer):
                        errorMsg = "Database error."
                        self.logger.exception(errorMsg)
                        response = { "responseType": "ERROR",
                                     "errorCode": 3,
                                     "errorCode": 2,
                                     "errorMsg": errorMsg }
                        return response
                uid = os.stat(folderPath).st_uid
@@ -147,19 +156,19 @@ class DataRPCServer(RedisRPCServer):
                        errorMsg = "The 'store' directory on the transfer node is empty."
                        self.logger.error(errorMsg)
                        response = { "responseType": "ERROR",
                                     "errorCode": 8,
                                     "errorCode": 9,
                                     "errorMsg": errorMsg }
                    else:
                        errorMsg = "Service busy. Please, retry later."
                        self.logger.error(errorMsg)
                        response = { "responseType": "ERROR",
                                     "errorCode": 9,
                                     "errorCode": 10,
                                     "errorMsg": errorMsg }
                else:
                    errorMsg = "Permission denied."
                    self.logger.error(errorMsg)
                    response = { "responseType": "ERROR",
                                 "errorCode": 10,
                                 "errorCode": 11,
                                 "errorMsg": errorMsg }
        elif requestBody["requestType"] == "STORE_CON":
            username = requestBody["userName"]
@@ -175,7 +184,7 @@ class DataRPCServer(RedisRPCServer):
                errorMsg = "Database error."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 3,
                             "errorCode": 2,
                             "errorMsg": errorMsg }
                return response
            jobObj.jobInfo["storageId"] = requestBody["storageId"]
@@ -186,7 +195,7 @@ class DataRPCServer(RedisRPCServer):
                errorMsg = "Unable to insert the job in the 'write_pending' queue."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 11,
                             "errorCode": 12,
                             "errorMsg": errorMsg }
                return response
            else:
@@ -196,7 +205,7 @@ class DataRPCServer(RedisRPCServer):
            errorMsg = "Unkown request type."
            self.logger.error(errorMsg)
            response = { "responseType": "ERROR",
                         "errorCode": 12,
                         "errorCode": 13,
                         "errorMsg": errorMsg }
        return response

+7 −7
Original line number Diff line number Diff line
@@ -70,14 +70,14 @@ class ImportRPCServer(RedisRPCServer):
            except MultipleUsersException:
                errorMsg = "Multiple users with the same email address in RAP."
                response = { "responseType": "ERROR",
                             "errorCode": 3,
                             "errorCode": 4,
                             "errorMsg": errorMsg }
                return response
            except HTTPException:
                errorMsg = "HTTP exception."
                self.logger.error(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 4,
                             "errorCode": 5,
                             "errorMsg": errorMsg }
                return response
            userInfo = self.systemUtils.userInfo(username)
@@ -85,7 +85,7 @@ class ImportRPCServer(RedisRPCServer):
                errorMsg = "The user does not exist on the transfer node."
                self.logger.error(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 5,
                             "errorCode": 6,
                             "errorMsg": errorMsg }
                return response
            elif not (userInDb or rapInfo):
@@ -93,7 +93,7 @@ class ImportRPCServer(RedisRPCServer):
                errorMsg = "The user is not registered neither in RAP nor in the database."
                self.logger.error(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 6,
                             "errorCode": 7,
                             "errorMsg": errorMsg }
                return response
            else:
@@ -125,7 +125,7 @@ class ImportRPCServer(RedisRPCServer):
                errorMsg = "Invalid storage mount point."
                self.logger.error(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 7,
                             "errorCode": 8,
                             "errorMsg": errorMsg }
                return response
            try:
@@ -134,7 +134,7 @@ class ImportRPCServer(RedisRPCServer):
                errorMsg = "Cache error."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 8,
                             "errorCode": 3,
                             "errorMsg": errorMsg }
                return response
            if not os.path.exists(path):
@@ -191,7 +191,7 @@ class ImportRPCServer(RedisRPCServer):
                    errorMsg = "Cache error."
                    self.logger.exception(errorMsg)
                    response = { "responseType": "ERROR",
                                 "errorCode": 8,
                                 "errorCode": 3,
                                 "errorMsg": errorMsg }
                    return response
                response = { "responseType": "IMPORT_STARTED" }
+5 −5
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ class StorageRPCServer(RedisRPCServer):
                    errorMsg = "Base path doesn't exist."
                    self.logger.error(errorMsg)
                    response = { "responseType": "ERROR",
                                 "errorCode": 2,
                                 "errorCode": 3,
                                 "errorMsg": errorMsg }
                    return response
            try:
@@ -65,7 +65,7 @@ class StorageRPCServer(RedisRPCServer):
                errorMsg = "Database error."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 3,
                             "errorCode": 2,
                             "errorMsg": errorMsg }
                return response
            else:
@@ -84,7 +84,7 @@ class StorageRPCServer(RedisRPCServer):
                errorMsg = "Database error."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 3,
                             "errorCode": 2,
                             "errorMsg": errorMsg }
                return response
            else:
@@ -98,7 +98,7 @@ class StorageRPCServer(RedisRPCServer):
                errorMsg = "Database error."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 3,
                             "errorCode": 2,
                             "errorMsg": errorMsg }
                return response
            else:
@@ -117,7 +117,7 @@ class StorageRPCServer(RedisRPCServer):
                errorMsg = "Database error."
                self.logger.exception(errorMsg)
                response = { "responseType": "ERROR",
                             "errorCode": 3,
                             "errorCode": 2,
                             "errorMsg": errorMsg }
                return response
            else: