[ 
https://issues.apache.org/jira/browse/HBASE-478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jim Kellerman updated HBASE-478:
--------------------------------

    Attachment: 478-trunk.patch

HBASE-478 offlining of table does not run reliably, HBASE-599 CME iterating 
return from ServerManager.getMarkedToClose

M BaseScanner, ProcessRegionClose, ProcessServerShutdown, RegionManager, 
ServerManager, TableDelete

Require tables to be offline before they can be deleted. This enables the Set 
regionsToBeDeleted to be removed.

M In ChangeTableState.postProcessMeta

If onlining a region, mark it as noLongerClosing.  Fix a couple of potential 
synchronization problems. Put regions being offlined into localKillList before 
adding those already queued for that server.

M ModifyColumn

In postProcessMeta, throw InvalidColumnNameException if the column does not 
exist instead of generic IOException

M ProcessServerShutdown

Remove regions from closing regions when ProcessServerShutdown finishes.

M RegionManager

Fix potential synchronization problem in regionsAwaitingAssignment, 
markToCloseBulk

Eliminate potential CME's by returning a copy of map in onlineMetaRegions

Eliminate CME by changing getMarkedToClose to removeMarkedToClose

Add method allRegionsClosed.

M RetryableMetaOperation

Don't retry in doWithRetries if exception caught is TableNotFoundException, 
TableNotDisabledException, or InvalidColumnNameException. Just rethrow the 
exception.

M ServerManager

Fix potential synchronization problems in regionServerStartup, 
processRegionServerAllsWell, cancelLease, leaseExpired

If a region server exits cleanly, do not put any region up for reassignment if 
it was marked to close.

In processMsgs, remove regions to close, rather than getting, iterating and 
removing. Caused a CME.

Don't need to iterate over entrySet in getAverageLoad. Iterating over values is 
sufficient.

Eliminate potential CME's by returning a copy of map in getServersToServerInfo, 
getServersToLoad, getLoadToServers

M TableDelete

Add method processScanItem, which throws TableNotDisabledException if the table 
is still online.

M TableOperation

Don't throw an error from TableOperation.process if info:regioninfo is empty. 
Log an error and continue.

Change IOException to TableNotFoundException in TableOperation.process

M Memcache

Add deleted columns to results of MemcacheScanner

M TestHBaseCluster

Remove private method cleanup which deleted table.


> offlining of table does not run reliably
> ----------------------------------------
>
>                 Key: HBASE-478
>                 URL: https://issues.apache.org/jira/browse/HBASE-478
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.2.0, 0.1.2, 0.1.1
>            Reporter: stack
>            Assignee: Jim Kellerman
>            Priority: Critical
>             Fix For: 0.2.0, 0.1.2
>
>         Attachments: 478-0.1-v2.patch, 478-0.1.patch, 478-trunk.patch
>
>
> I have a table of 4 regions made w/ PE.  I cannot reliably offline it.  I'm 
> using 'disable TestTable' and have traced it to ensure its not a problem in 
> hql.    What I see is that one region will get the offlined mark or maybe 
> two.. but never all.
> Jim in IRC suggested that if we did the .TABLE. catalog table, offlining the 
> entry there might be more reliable than trying to offline all regions in a 
> table.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to