From 247eadc58274cd6e92101e6450c5fe1b6ba5eeed Mon Sep 17 00:00:00 2001 From: anoopsamjohn Date: Fri, 16 May 2014 04:13:14 +0000 Subject: [PATCH] HBASE-11167 Avoid usage of java.rmi package Exception in MemStore. (Anoop) git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1595100 13f79535-47bb-0310-9956-ffa450edef68 --- .../hbase/regionserver/DefaultMemStore.java | 8 ++-- .../hadoop/hbase/regionserver/MemStore.java | 4 +- .../UnexpectedStateException.java | 43 +++++++++++++++++++ .../regionserver/TestDefaultMemStore.java | 3 +- .../regionserver/TestMemStoreChunkPool.java | 5 +-- 5 files changed, 52 insertions(+), 11 deletions(-) create mode 100644 hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/UnexpectedStateException.java diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java index c0a4b51019f..51f22d8d8dd 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.regionserver; import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; -import java.rmi.UnexpectedException; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; @@ -176,14 +175,15 @@ public class DefaultMemStore implements MemStore { /** * The passed snapshot was successfully persisted; it can be let go. * @param id Id of the snapshot to clean out. - * @throws UnexpectedException + * @throws UnexpectedStateException * @see #snapshot() */ @Override - public void clearSnapshot(long id) throws UnexpectedException { + public void clearSnapshot(long id) throws UnexpectedStateException { MemStoreLAB tmpAllocator = null; if (this.snapshotId != id) { - throw new UnexpectedException("Current snapshot id is " + this.snapshotId + ",passed " + id); + throw new UnexpectedStateException("Current snapshot id is " + this.snapshotId + ",passed " + + id); } // OK. Passed in snapshot is same as current snapshot. If not-empty, // create a new snapshot and let the old one go. diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java index aa67c53ea00..b370b4920ee 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java @@ -17,7 +17,6 @@ */ package org.apache.hadoop.hbase.regionserver; -import java.rmi.UnexpectedException; import java.util.List; import org.apache.hadoop.classification.InterfaceAudience; @@ -44,9 +43,10 @@ public interface MemStore extends HeapSize { /** * Clears the current snapshot of the Memstore. * @param id + * @throws UnexpectedStateException * @see #snapshot() */ - void clearSnapshot(long id) throws UnexpectedException; + void clearSnapshot(long id) throws UnexpectedStateException; /** * On flush, how much memory we will clear. diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/UnexpectedStateException.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/UnexpectedStateException.java new file mode 100644 index 00000000000..947a397942c --- /dev/null +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/UnexpectedStateException.java @@ -0,0 +1,43 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hbase.regionserver; + +import org.apache.hadoop.classification.InterfaceAudience; +import org.apache.hadoop.hbase.HBaseIOException; + +@InterfaceAudience.Private +public class UnexpectedStateException extends HBaseIOException { + + private static final long serialVersionUID = -6727953144066746071L; + + public UnexpectedStateException() { + super(); + } + + public UnexpectedStateException(String message) { + super(message); + } + + public UnexpectedStateException(String message, Throwable cause) { + super(message, cause); + } + + public UnexpectedStateException(Throwable cause) { + super(cause); + } +} diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java index 011b9a4d361..f2db498bedb 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.regionserver; import java.io.IOException; import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; -import java.rmi.UnexpectedException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -961,7 +960,7 @@ public class TestDefaultMemStore extends TestCase { return ROW_COUNT; } - private long runSnapshot(final DefaultMemStore hmc) throws UnexpectedException { + private long runSnapshot(final DefaultMemStore hmc) throws UnexpectedStateException { // Save off old state. int oldHistorySize = hmc.snapshot.size(); MemStoreSnapshot snapshot = hmc.snapshot(); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java index 2936f232ada..d73bdb85d55 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.regionserver; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import java.rmi.UnexpectedException; import java.util.List; import java.util.Random; @@ -97,7 +96,7 @@ public class TestMemStoreChunkPool { } @Test - public void testPuttingBackChunksAfterFlushing() throws UnexpectedException { + public void testPuttingBackChunksAfterFlushing() throws UnexpectedStateException { byte[] row = Bytes.toBytes("testrow"); byte[] fam = Bytes.toBytes("testfamily"); byte[] qf1 = Bytes.toBytes("testqualifier1"); @@ -132,7 +131,7 @@ public class TestMemStoreChunkPool { @Test public void testPuttingBackChunksWithOpeningScanner() - throws UnexpectedException { + throws UnexpectedStateException { byte[] row = Bytes.toBytes("testrow"); byte[] fam = Bytes.toBytes("testfamily"); byte[] qf1 = Bytes.toBytes("testqualifier1");