From 0475dd5dae4c832f74188003823bacadc734c543 Mon Sep 17 00:00:00 2001 From: Zhihong Yu Date: Tue, 26 Jun 2012 16:31:36 +0000 Subject: [PATCH] HBASE-5967 OpenDataException because HBaseProtos.ServerLoad cannot be converted to an open data type (Gregory) git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1354098 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/hadoop/hbase/ClusterStatus.java | 2 +- .../main/java/org/apache/hadoop/hbase/ServerLoad.java | 10 ++++++---- .../hadoop/hbase/master/TestMasterNoCluster.java | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java index b293547874d..f14fcab17dd 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java @@ -294,7 +294,7 @@ public class ClusterStatus extends VersionedWritable { for (Map.Entry entry : liveServers.entrySet()) { LiveServerInfo.Builder lsi = LiveServerInfo.newBuilder().setServer(ProtobufUtil.toServerName(entry.getKey())); - lsi.setServerLoad(entry.getValue().getServerLoadPB()); + lsi.setServerLoad(entry.getValue().obtainServerLoadPB()); builder.addLiveServers(lsi.build()); } for (ServerName deadServer : getDeadServerNames()) { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ServerLoad.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ServerLoad.java index 4c452a3781e..15e5f503012 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ServerLoad.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ServerLoad.java @@ -75,8 +75,10 @@ public class ServerLoad { } + // NOTE: Function name cannot start with "get" because then an OpenDataException is thrown because + // HBaseProtos.ServerLoad cannot be converted to an open data type(see HBASE-5967). /* @return the underlying ServerLoad protobuf object */ - public HBaseProtos.ServerLoad getServerLoadPB() { + public HBaseProtos.ServerLoad obtainServerLoadPB() { return serverLoad; } @@ -208,7 +210,7 @@ public class ServerLoad { * @return string array of loaded RegionServer-level coprocessors */ public String[] getRegionServerCoprocessors() { - List list = getServerLoadPB().getCoprocessorsList(); + List list = obtainServerLoadPB().getCoprocessorsList(); String [] ret = new String[list.size()]; int i = 0; for (Coprocessor elem : list) { @@ -227,11 +229,11 @@ public class ServerLoad { // Need a set to remove duplicates, but since generated Coprocessor class // is not Comparable, make it a Set instead of Set TreeSet coprocessSet = new TreeSet(); - for (Coprocessor coprocessor : getServerLoadPB().getCoprocessorsList()) { + for (Coprocessor coprocessor : obtainServerLoadPB().getCoprocessorsList()) { coprocessSet.add(coprocessor.getName()); } - for (HBaseProtos.RegionLoad rl : getServerLoadPB().getRegionLoadsList()) { + for (HBaseProtos.RegionLoad rl : obtainServerLoadPB().getRegionLoadsList()) { for (Coprocessor coprocessor : rl.getCoprocessorsList()) { coprocessSet.add(coprocessor.getName()); } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java index 9bdecce3f3a..e3e69d96f1e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java @@ -219,7 +219,7 @@ public class TestMasterNoCluster { RegionServerReportRequest.Builder request = RegionServerReportRequest.newBuilder();; ServerName sn = ServerName.parseVersionedServerName(sns[i].getVersionedBytes()); request.setServer(ProtobufUtil.toServerName(sn)); - request.setLoad(ServerLoad.EMPTY_SERVERLOAD.getServerLoadPB()); + request.setLoad(ServerLoad.EMPTY_SERVERLOAD.obtainServerLoadPB()); master.regionServerReport(null, request.build()); } // Master should now come up.