Loading transfer_service/data_rpc_server.py +24 −15 Original line number Diff line number Diff line Loading @@ -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." Loading @@ -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"] Loading @@ -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: Loading @@ -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: Loading @@ -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" Loading @@ -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: Loading @@ -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 Loading @@ -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"] Loading @@ -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"] Loading @@ -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: Loading @@ -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 Loading transfer_service/import_rpc_server.py +7 −7 Original line number Diff line number Diff line Loading @@ -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) Loading @@ -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): Loading @@ -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: Loading Loading @@ -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: Loading @@ -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): Loading Loading @@ -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" } Loading transfer_service/storage_rpc_server.py +5 −5 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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: Loading @@ -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: Loading @@ -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: Loading @@ -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: Loading Loading
transfer_service/data_rpc_server.py +24 −15 Original line number Diff line number Diff line Loading @@ -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." Loading @@ -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"] Loading @@ -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: Loading @@ -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: Loading @@ -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" Loading @@ -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: Loading @@ -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 Loading @@ -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"] Loading @@ -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"] Loading @@ -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: Loading @@ -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 Loading
transfer_service/import_rpc_server.py +7 −7 Original line number Diff line number Diff line Loading @@ -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) Loading @@ -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): Loading @@ -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: Loading Loading @@ -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: Loading @@ -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): Loading Loading @@ -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" } Loading
transfer_service/storage_rpc_server.py +5 −5 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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: Loading @@ -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: Loading @@ -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: Loading @@ -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: Loading