public class TestDefaultWALProvider
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected static Configuration |
conf |
TestName |
currentTest |
protected static FileSystem |
fs |
protected static Log |
LOG |
protected static HBaseTestingUtility |
TEST_UTIL |
protected static FileSystem |
walFs |
protected static Path |
walRootDir |
Constructor and Description |
---|
TestDefaultWALProvider() |
Modifier and Type | Method and Description |
---|---|
protected void |
addEdits(WAL log,
HRegionInfo hri,
HTableDescriptor htd,
int times,
java.util.concurrent.atomic.AtomicLong sequenceId) |
protected void |
flushRegion(WAL wal,
byte[] regionEncodedName,
java.util.Set<byte[]> flushedFamilyNames)
helper method to simulate region flush for a WAL.
|
void |
setMembershipDedups()
Ensure that we can use Set.add to deduplicate WALs
|
void |
setUp() |
static void |
setUpBeforeClass() |
void |
tearDown() |
static void |
tearDownAfterClass() |
void |
testConcurrentWrites()
Write to a log file with three concurrent threads and verifying all data is written.
|
void |
testGetServerNameFromWALDirectoryName() |
void |
testLogCleaning() |
void |
testWALArchiving()
Tests wal archiving by adding data, doing flushing/rolling and checking we archive old logs
and also don't archive "live logs" (that is, a log with un-flushed entries).
|
protected static final Log LOG
protected static Configuration conf
protected static FileSystem fs
protected static FileSystem walFs
protected static Path walRootDir
protected static final HBaseTestingUtility TEST_UTIL
public final TestName currentTest
public void setUp() throws java.lang.Exception
java.lang.Exception
public void tearDown() throws java.lang.Exception
java.lang.Exception
public static void setUpBeforeClass() throws java.lang.Exception
java.lang.Exception
public static void tearDownAfterClass() throws java.lang.Exception
java.lang.Exception
public void testGetServerNameFromWALDirectoryName() throws java.io.IOException
java.io.IOException
protected void addEdits(WAL log, HRegionInfo hri, HTableDescriptor htd, int times, java.util.concurrent.atomic.AtomicLong sequenceId) throws java.io.IOException
java.io.IOException
protected void flushRegion(WAL wal, byte[] regionEncodedName, java.util.Set<byte[]> flushedFamilyNames)
wal
- regionEncodedName
- public void testLogCleaning() throws java.lang.Exception
java.lang.Exception
public void testWALArchiving() throws java.io.IOException
This is what it does: It creates two regions, and does a series of inserts along with log rolling. Whenever a WAL is rolled, HLogBase checks previous wals for archiving. A wal is eligible for archiving if for all the regions which have entries in that wal file, have flushed - past their maximum sequence id in that wal file.
java.io.IOException
public void testConcurrentWrites() throws java.lang.Exception
java.lang.Exception
public void setMembershipDedups() throws java.io.IOException
java.io.IOException