This is an automated email from the ASF dual-hosted git repository. dhavaljrajpara pushed a commit to branch RANGER-5711 in repository https://gitbox.apache.org/repos/asf/ranger.git
commit 599f2a518278400153666bfa95cfcc527846c0bc Author: Dhaval Rajpara <[email protected]> AuthorDate: Wed Oct 28 07:46:30 2026 +0530 RANGER-5711 : Key Manager shows 'Data not found' error upon access by keyadmin user --- .../src/main/java/org/apache/ranger/biz/KmsKeyMgr.java | 16 +++++++++++----- .../react-webapp/src/views/Encryption/KeyManager.jsx | 3 ++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/security-admin/src/main/java/org/apache/ranger/biz/KmsKeyMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/KmsKeyMgr.java index ee16980d7..6781aee8c 100755 --- a/security-admin/src/main/java/org/apache/ranger/biz/KmsKeyMgr.java +++ b/security-admin/src/main/java/org/apache/ranger/biz/KmsKeyMgr.java @@ -114,7 +114,7 @@ public VXKmsKeyList searchKeys(HttpServletRequest request, String repoName) thro providers = getKMSURL(repoName); } catch (Exception e) { logger.error("getKey({}) failed", repoName, e); - throw restErrorUtil.createRESTException("Provider '" + repoName + "' not found or invalid: " + e.getMessage(), MessageEnums.DATA_NOT_FOUND); + throwServiceNotFoundException(repoName); } List<VXKmsKey> vXKeys = new ArrayList<>(); @@ -243,7 +243,7 @@ public VXKmsKey rolloverKey(String provider, VXKmsKey vXKey) throws Exception { providers = getKMSURL(provider); } catch (Exception e) { logger.error("rolloverKey({}, {}) failed", provider, vXKey.getName(), e); - throw restErrorUtil.createRESTException("Provider '" + provider + "' not found or invalid: " + e.getMessage(), MessageEnums.DATA_NOT_FOUND); + throwServiceNotFoundException(provider); } VXKmsKey ret = null; @@ -312,7 +312,7 @@ public void deleteKey(String provider, String name) throws Exception { providers = getKMSURL(provider); } catch (Exception e) { logger.error("deleteKey({}, {}) failed", provider, name, e); - throw restErrorUtil.createRESTException("Provider '" + provider + "' not found or invalid: " + e.getMessage(), MessageEnums.DATA_NOT_FOUND); + throwServiceNotFoundException(provider); } boolean isKerberos = false; @@ -374,7 +374,7 @@ public VXKmsKey createKey(String provider, VXKmsKey vXKey) throws Exception { providers = getKMSURL(provider); } catch (Exception e) { logger.error("createKey({}, {}) failed", provider, vXKey.getName(), e); - throw restErrorUtil.createRESTException("Provider '" + provider + "' not found or invalid: " + e.getMessage(), MessageEnums.DATA_NOT_FOUND); + throwServiceNotFoundException(provider); } VXKmsKey ret = null; @@ -443,7 +443,7 @@ public VXKmsKey getKey(String provider, String name) throws Exception { providers = getKMSURL(provider); } catch (Exception e) { logger.error("getKey({}, {}) failed", provider, name, e); - throw restErrorUtil.createRESTException("Provider '" + provider + "' not found or invalid: " + e.getMessage(), MessageEnums.DATA_NOT_FOUND); + throwServiceNotFoundException(provider); } boolean isKerberos = false; @@ -550,6 +550,12 @@ public VXKmsKeyList getFilteredKeyList(HttpServletRequest request, VXKmsKeyList return vXKmsKeyList; } + private void throwServiceNotFoundException(String serviceName) { + throw restErrorUtil.createRESTException( + "Service Name (Provider) '" + serviceName + "' not found or invalid", + MessageEnums.DATA_NOT_FOUND); + } + private String[] getKMSURL(String name) throws Exception { String[] providers; diff --git a/security-admin/src/main/webapp/react-webapp/src/views/Encryption/KeyManager.jsx b/security-admin/src/main/webapp/react-webapp/src/views/Encryption/KeyManager.jsx index 75dc4a82c..6b4a641e8 100644 --- a/security-admin/src/main/webapp/react-webapp/src/views/Encryption/KeyManager.jsx +++ b/security-admin/src/main/webapp/react-webapp/src/views/Encryption/KeyManager.jsx @@ -391,7 +391,8 @@ const KeyManager = () => { try { selectedServicesResponse = await fetchApi({ url: "/keys/keys", - params: params + params: params, + skipNavigate: true }); selectedServicesData = selectedServicesResponse.data.vXKeys; totalCount = selectedServicesResponse.data.totalCount;
