This is an automated email from the ASF dual-hosted git repository.
sshenoy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 130b7b6587 HDDS-8068. Fix Exception: JMXJsonServlet, getting attribute
RatisRoles of Hadoop:service=OzoneManager. (#4352)
130b7b6587 is described below
commit 130b7b65879da76035e27f6fdfea32be038d1f6b
Author: ashishkumar50 <[email protected]>
AuthorDate: Tue Mar 21 12:12:53 2023 +0530
HDDS-8068. Fix Exception: JMXJsonServlet, getting attribute RatisRoles of
Hadoop:service=OzoneManager. (#4352)
---
.../java/org/apache/hadoop/ozone/om/OzoneManager.java | 4 ++++
.../hadoop/ozone/om/ratis/OzoneManagerRatisServer.java | 16 +++++++++-------
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
index e6381162b5..b2b163b0a8 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
@@ -2928,6 +2928,10 @@ public final class OzoneManager extends
ServiceRuntimeInfoImpl
if (isRatisEnabled) {
try {
leaderId = omRatisServer.getLeader();
+ if (leaderId == null) {
+ LOG.error("No leader found");
+ return "Exception: Not a leader";
+ }
serviceList = getServiceList();
} catch (IOException e) {
LOG.error("IO-Exception Occurred", e);
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerRatisServer.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerRatisServer.java
index aa4c9b1db8..3b4e899910 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerRatisServer.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerRatisServer.java
@@ -750,13 +750,15 @@ public final class OzoneManagerRatisServer {
public RaftPeer getLeader() {
try {
RaftServer.Division division = server.getDivision(raftGroupId);
- if (division.getInfo().isLeader()) {
- return division.getPeer();
- } else {
- ByteString leaderId = division.getInfo().getRoleInfoProto()
- .getFollowerInfo().getLeaderInfo().getId().getId();
- return leaderId.isEmpty() ? null :
- division.getRaftConf().getPeer(RaftPeerId.valueOf(leaderId));
+ if (division != null) {
+ if (division.getInfo().isLeader()) {
+ return division.getPeer();
+ } else {
+ ByteString leaderId = division.getInfo().getRoleInfoProto()
+ .getFollowerInfo().getLeaderInfo().getId().getId();
+ return leaderId.isEmpty() ? null :
+ division.getRaftConf().getPeer(RaftPeerId.valueOf(leaderId));
+ }
}
} catch (IOException e) {
// In this case we return not a leader.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]