Stephen Yuan Jiang created HBASE-13800:
------------------------------------------
Summary: TestStore#testDeleteExpiredStoreFiles should create
different data/log directory for each call
Key: HBASE-13800
URL: https://issues.apache.org/jira/browse/HBASE-13800
Project: HBase
Issue Type: Bug
Components: test
Affects Versions: 1.1.0, 2.0.0, 1.2.0
Reporter: Stephen Yuan Jiang
Assignee: Stephen Yuan Jiang
Priority: Minor
When TestStore#init() was called twice in
TestStore#testDeleteExpiredStoreFiles, it did not use different base directory
for each call (other tests in the same test suite do). If the first call did
not release the handle of WAL files fast enough, the second init() call would
fail.
This is constantly seen in Windows environment:
{noformat}
java.io.IOException: Target WAL already exists within directory
file:/C:/hbase/hbase-server/target/test-data/f39ecdde-1d04-4332-93c7-4c8df1e08e67/TestStoretestDeleteExpiredStoreFiles/WALs/testDeleteExpiredStoreFiles
at
org.apache.hadoop.hbase.regionserver.wal.FSHLog.<init>(FSHLog.java:525)
at
org.apache.hadoop.hbase.wal.DefaultWALProvider.init(DefaultWALProvider.java:97)
at
org.apache.hadoop.hbase.wal.WALFactory.getProvider(WALFactory.java:147)
at org.apache.hadoop.hbase.wal.WALFactory.<init>(WALFactory.java:179)
at
org.apache.hadoop.hbase.regionserver.TestStore.init(TestStore.java:185)
at
org.apache.hadoop.hbase.regionserver.TestStore.init(TestStore.java:162)
at
org.apache.hadoop.hbase.regionserver.TestStore.testDeleteExpiredStoreFiles(TestStore.java:307)
at
org.apache.hadoop.hbase.regionserver.TestStore.testDeleteExpiredStoreFiles(TestStore.java:286)
{noformat}
The fix is trivial: just like other tests in the same test suite, use different
base directory for multiple init() calls in the same test.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)