[
https://issues.apache.org/jira/browse/HDFS-16946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17727161#comment-17727161
]
ASF GitHub Bot commented on HDFS-16946:
---------------------------------------
goiri commented on code in PR #5696:
URL: https://github.com/apache/hadoop/pull/5696#discussion_r1209480436
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/metrics/RBFMetrics.java:
##########
@@ -50,6 +50,8 @@
import javax.management.ObjectName;
import javax.management.StandardMBean;
+import com.fasterxml.jackson.core.JsonProcessingException;
Review Comment:
What's our take on using fasterxml in HDFS?
Is that the common approach?
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/metrics/RBFMetrics.java:
##########
@@ -712,13 +715,22 @@ public long getCurrentTokensCount() {
@Override
public String getTopTokenRealOwners() {
- RouterSecurityManager mgr =
+ String topTokenRealOwnersString = "";
+ RouterSecurityManager routerSecurityManager =
this.router.getRpcServer().getRouterSecurityManager();
- if (mgr != null && mgr.getSecretManager() != null) {
- return JSON.toString(mgr.getSecretManager()
- .getTopTokenRealOwners(this.topTokenRealOwners));
+ if (routerSecurityManager != null &&
routerSecurityManager.getSecretManager() != null) {
+ try {
+ List<Metrics2Util.NameValuePair> topOwners =
routerSecurityManager.getSecretManager()
+ .getTopTokenRealOwners(this.topTokenRealOwners);
+ if (topOwners.size() > 0) {
Review Comment:
```suggestion
if (!topOwners.isEmpty()) {
```
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/metrics/RBFMetrics.java:
##########
@@ -712,13 +715,22 @@ public long getCurrentTokensCount() {
@Override
public String getTopTokenRealOwners() {
- RouterSecurityManager mgr =
+ String topTokenRealOwnersString = "";
+ RouterSecurityManager routerSecurityManager =
this.router.getRpcServer().getRouterSecurityManager();
- if (mgr != null && mgr.getSecretManager() != null) {
- return JSON.toString(mgr.getSecretManager()
- .getTopTokenRealOwners(this.topTokenRealOwners));
+ if (routerSecurityManager != null &&
routerSecurityManager.getSecretManager() != null) {
Review Comment:
Let's reverse the if.
```
if (routerSecurityManager == null ||
routerSecurityManager.getSecretManager() == null) {
return topTokenRealOwnersString;
}
```
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/metrics/RBFMetrics.java:
##########
@@ -712,13 +715,22 @@ public long getCurrentTokensCount() {
@Override
public String getTopTokenRealOwners() {
Review Comment:
Do we have a unit test for this?
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/metrics/RBFMetrics.java:
##########
@@ -712,13 +715,22 @@ public long getCurrentTokensCount() {
@Override
public String getTopTokenRealOwners() {
- RouterSecurityManager mgr =
+ String topTokenRealOwnersString = "";
+ RouterSecurityManager routerSecurityManager =
this.router.getRpcServer().getRouterSecurityManager();
- if (mgr != null && mgr.getSecretManager() != null) {
- return JSON.toString(mgr.getSecretManager()
- .getTopTokenRealOwners(this.topTokenRealOwners));
+ if (routerSecurityManager != null &&
routerSecurityManager.getSecretManager() != null) {
+ try {
+ List<Metrics2Util.NameValuePair> topOwners =
routerSecurityManager.getSecretManager()
+ .getTopTokenRealOwners(this.topTokenRealOwners);
+ if (topOwners.size() > 0) {
+ topTokenRealOwnersString = new
ObjectMapper().writeValueAsString(topOwners);
+ }
+ }
+ catch (JsonProcessingException jsonProcessingException) {
+ LOG.error("Unable to parse the top token real owners to string" +
jsonProcessingException.getMessage());
Review Comment:
Use {}
> RBF: top real owners metrics can't been parsed json string
> ----------------------------------------------------------
>
> Key: HDFS-16946
> URL: https://issues.apache.org/jira/browse/HDFS-16946
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: rbf
> Affects Versions: 3.4.0
> Reporter: Max Xie
> Assignee: Nishtha Shah
> Priority: Minor
> Labels: pull-request-available
> Attachments: image-2023-03-09-22-24-39-833.png
>
>
> After HDFS-15447, Add top real owners metrics for delegation tokens. But the
> metrics can't been parsed json string.
> RBFMetrics$getTopTokenRealOwners method just return
> `org.apache.hadoop.metrics2.util.Metrics2Util$NameValuePair@1`
> !image-2023-03-09-22-24-39-833.png!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]