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

Mikhail Antonov updated HBASE-14391:
------------------------------------
     Fix Version/s: (was: 1.3.0)
                    1.3.1
Empty regionserver WAL will never be deleted although the coresponding regionserver has been stale
--------------------------------------------------------------------------------------------------

Key: HBASE-14391
URL: https://issues.apache.org/jira/browse/HBASE-14391
Project: HBase
Issue Type: Bug
Components: wal
Affects Versions: 1.0.2
Reporter: Qianxi Zhang
Assignee: Qianxi Zhang
Fix For: 2.0.0, 1.1.6, 1.3.1, 1.2.3

Attachments: HBASE-14391-master-v3.patch, HBASE_14391_master_v4.patch, HBASE_14391_trunk_v1.patch, HBASE_14391_trunk_v2.patch, WALs-leftover-dir.txt


When I restarted the hbase cluster in which there was few data, I found there are two directories for one host with different timestamp which indicates that the old regionserver wal directory is not deleted.
FHLog#989
{code}
@Override
public void close() throws IOException {
shutdown();
final FileStatus[] files = getFiles();
if (null != files && 0 != files.length) {
for (FileStatus file : files) {
Path p = getWALArchivePath(this.fullPathArchiveDir, file.getPath());
// Tell our listeners that a log is going to be archived.
if (!this.listeners.isEmpty()) {
for (WALActionsListener i : this.listeners) {
i.preLogArchive(file.getPath(), p);
}
}
if (!FSUtils.renameAndSetModifyTime(fs, file.getPath(), p)) {
throw new IOException("Unable to rename " + file.getPath() + " to " + p);
}
// Tell our listeners that a log was archived.
if (!this.listeners.isEmpty()) {
for (WALActionsListener i : this.listeners) {
i.postLogArchive(file.getPath(), p);
}
}
}
LOG.debug("Moved " + files.length + " WAL file(s) to " +
FSUtils.getPath(this.fullPathArchiveDir));
}
LOG.info("Closed WAL: " + toString());
}
{code}
When regionserver is stopped, the hlog will be archived, so wal/regionserver is empty in hdfs.
MasterFileSystem#252
{code}
if (curLogFiles == null || curLogFiles.length == 0) {
// Empty log folder. No recovery needed
continue;
}
{code}
The regionserver directory will be not splitted, it makes sense. But it will be not deleted.


--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Search Discussions

Discussion Posts

Previous

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 2 of 2 | next ›
Discussion Overview
groupissues @
categorieshbase, hadoop
postedJun 14, '16 at 4:41a
activeJun 18, '16 at 5:22p
posts2
users1
websitehbase.apache.org

1 user in discussion

Mikhail Antonov (JIRA): 2 posts

People

Translate

site design / logo © 2019 Grokbase