[
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.