Description
We should get rid of HRegion creating its own HLog. It should ALWAYS get the log from outside.
I think this was added for unit tests, but we should refrain from such practice in the future (adding UT constructors always leads to weird and critical bugs down the road). See recent: HBASE-11982, HBASE-11654.
Get rid of weird things like ignoreHLog:
/** * @param ignoreHLog - true to skip generate new hlog if it is null, mostly for createTable */ public static HRegion createHRegion(final HRegionInfo info, final Path rootDir, final Configuration conf, final HTableDescriptor hTableDescriptor, final HLog hlog, final boolean initialize, final boolean ignoreHLog)
We can unify all the createXX and newXX methods and separate creating a region in the file system vs opening a region.
Attachments
Attachments
Issue Links
- is duplicated by
-
HBASE-12018 HRegion.close neglects to close its HLog
- Closed
- is related to
-
HBASE-11982 Bootstraping hbase:meta table creates a WAL file in region dir
- Closed
- links to