[
https://issues.apache.org/jira/browse/HBASE-5937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13449640#comment-13449640
]
Flavio Junqueira commented on HBASE-5937:
-----------------------------------------
I have moved static finals to HLog as suggested.
I have also looked at making getReader/getWriter part of HLog. I picked
getReader and extracted the classes using calling it. For each class, I tried
to determine if we can instantiate HLog or have already an instance of it. Here
is a summary:
# HLogInputFormat: Not clear how to instantiate HLog
# HLogPrettyPrinter: Executed through main calls in FSHLog and
HLogPrettyPrinter, so maybe we could pass necessary parameters
# HLogSplitter: Have all parameters
# HRegion: Have HLog object
# ReplicationSource: Not clear how to instantiate HLog
I was also wondering if there are important side-effects in the case we use the
factory to get an HLog object just to get a reader or a writer. I have looked
into the main constructor of FSHLog and I haven't been able to convince myself
that there is a way of executing it without throwing an exception unnecessarily
or having side-effects.
The errors and failures I'm getting for tests now are:
{noformat}
Failed tests:
testRetrying(org.apache.hadoop.hbase.catalog.TestMetaReaderEditor): reader:
count=2, t=null
testExceptionFromCoprocessorDuringPut(org.apache.hadoop.hbase.coprocessor.TestRegionServerCoprocessorExceptionWithAbort):
The put should have failed, as the coprocessor is buggy
testWALCoprocessorReplay(org.apache.hadoop.hbase.coprocessor.TestWALObserver)
test2727(org.apache.hadoop.hbase.regionserver.wal.TestWALReplay)
testReplayEditsWrittenViaHRegion(org.apache.hadoop.hbase.regionserver.wal.TestWALReplay)
testReplayEditsAfterPartialFlush(org.apache.hadoop.hbase.regionserver.wal.TestWALReplay):
expected:<30> but was:<20>
testReplayEditsWrittenIntoWAL(org.apache.hadoop.hbase.regionserver.wal.TestWALReplay):
Flushcount=0
test2727(org.apache.hadoop.hbase.regionserver.wal.TestWALReplayCompressed)
testReplayEditsWrittenViaHRegion(org.apache.hadoop.hbase.regionserver.wal.TestWALReplayCompressed)
testReplayEditsAfterPartialFlush(org.apache.hadoop.hbase.regionserver.wal.TestWALReplayCompressed):
expected:<30> but was:<20>
testReplayEditsWrittenIntoWAL(org.apache.hadoop.hbase.regionserver.wal.TestWALReplayCompressed):
Flushcount=0
{noformat}
{noformat}
testZKClosingNodeVersionMismatch(org.apache.hadoop.hbase.regionserver.handler.TestCloseRegionHandler):
KeeperErrorCode = NodeExists for
/hbase/unassigned/67f6e4f3629fa0bb34fbd5cb604ff44e
testCloseRegion(org.apache.hadoop.hbase.regionserver.handler.TestCloseRegionHandler):
KeeperErrorCode = NodeExists for
/hbase/unassigned/e2b47297b32db6a95e2a310be053172f
testDataCorrectnessReplayingRecoveredEdits(org.apache.hadoop.hbase.regionserver.TestHRegionOnCluster):
Failed 1 action: ExecutionException: 1 time,
testReplayEditsAfterRegionMovedWithMultiCF(org.apache.hadoop.hbase.regionserver.wal.TestWALReplay):
Failed after attempts=10, exceptions:(..)
testReplayEditsAfterRegionMovedWithMultiCF(org.apache.hadoop.hbase.regionserver.wal.TestWALReplayCompressed):
Failed after attempts=10, exceptions:(..)
{noformat}
> Refactor HLog into an interface.
> --------------------------------
>
> Key: HBASE-5937
> URL: https://issues.apache.org/jira/browse/HBASE-5937
> Project: HBase
> Issue Type: Sub-task
> Reporter: Li Pi
> Assignee: Flavio Junqueira
> Priority: Minor
>
> What the summary says. Create HLog interface. Make current implementation use
> it.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira