hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Kellerman (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HBASE-478) offlining of table does not run reliably
Date Tue, 06 May 2008 03:27:56 GMT

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


Mime
View raw message