HBASE-843 Deleting and recreating a table in a single process does not work (Jonathan Gray via Jim Kellerman)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@688830 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jim Kellerman 2008-08-25 19:13:29 +00:00
parent c6616d527a
commit 90685d499c
2 changed files with 7 additions and 1 deletions

View File

@ -1,6 +1,6 @@
HBase Change Log HBase Change Log
Release 0.3.0 - Unreleased Release 0.18.0 - Unreleased
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES
HBASE-697 Thrift idl needs update/edit to match new 0.2 API (and to fix bugs) HBASE-697 Thrift idl needs update/edit to match new 0.2 API (and to fix bugs)
(Tim Sell via Stack) (Tim Sell via Stack)
@ -32,6 +32,8 @@ Release 0.3.0 - Unreleased
HBASE-810 Prevent temporary deadlocks when, during a scan with write HBASE-810 Prevent temporary deadlocks when, during a scan with write
operations, the region splits (Jean-Daniel Cryans via Jim operations, the region splits (Jean-Daniel Cryans via Jim
Kellerman) Kellerman)
HBASE-843 Deleting and recreating a table in a single process does not work
(Jonathan Gray via Jim Kellerman)
IMPROVEMENTS IMPROVEMENTS
HBASE-801 When a table haven't disable, shell could response in a "user HBASE-801 When a table haven't disable, shell could response in a "user

View File

@ -49,6 +49,7 @@ import org.apache.hadoop.ipc.RemoteException;
public class HBaseAdmin { public class HBaseAdmin {
private final Log LOG = LogFactory.getLog(this.getClass().getName()); private final Log LOG = LogFactory.getLog(this.getClass().getName());
private final HConnection connection; private final HConnection connection;
private volatile HBaseConfiguration conf;
private final long pause; private final long pause;
private final int numRetries; private final int numRetries;
private volatile HMasterInterface master; private volatile HMasterInterface master;
@ -61,6 +62,7 @@ public class HBaseAdmin {
*/ */
public HBaseAdmin(HBaseConfiguration conf) throws MasterNotRunningException { public HBaseAdmin(HBaseConfiguration conf) throws MasterNotRunningException {
this.connection = HConnectionManager.getConnection(conf); this.connection = HConnectionManager.getConnection(conf);
this.conf = conf;
this.pause = conf.getLong("hbase.client.pause", 30 * 1000); this.pause = conf.getLong("hbase.client.pause", 30 * 1000);
this.numRetries = conf.getInt("hbase.client.retries.number", 5); this.numRetries = conf.getInt("hbase.client.retries.number", 5);
this.master = connection.getMaster(); this.master = connection.getMaster();
@ -285,6 +287,8 @@ public class HBaseAdmin {
// continue // continue
} }
} }
// Delete cached information to prevent clients from using old locations
HConnectionManager.deleteConnectionInfo(conf);
LOG.info("Deleted " + Bytes.toString(tableName)); LOG.info("Deleted " + Bytes.toString(tableName));
} }