[
https://issues.apache.org/jira/browse/HBASE-5937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13460592#comment-13460592
]
Flavio Junqueira commented on HBASE-5937:
-----------------------------------------
Thanks for responding, Stack.
bq. Sorry for not getting to your log. What have you been having to do to get
tests to pass? How did you fix TestMultiParallel? It is stuff to do w/ this
refactoring?
It was our bug.
bq. Currently Reader and Writer are Interfaces defined inside HLog. You get
one by calling a static method on HLog. You'd like to getReader non-static, an
invocation on a particular instance of HLog.
bq. That seems fine by me. It makes sense given what you are trying to do. It
is less flexible than what we currently have but its flexible because it
presumes a particular implementation of HLog.
It is simpler to leave getReader and getWriter as static methods. Given that a
reader/writer is for a concrete WAL, Ivan and I thought that it would be best
to have these methods available as instance methods. However, it is not looking
simple to implement because we don't have HLog objects available in all places
we need a reader or a writer, and the initialization of HLog objects makes it
tricky to instantiate it only to get a reader or a writer. At this point, I'm
tempted to leave them as static methods for now, unless anyone has a strong
preference otherwise.
bq. I hope you call your HLog Inteface WAL!
It is fine with me to make the change.
bq. I think this work trying to make an Interface for WAL is kinda important.
There is this bookeeping project but the multi-WAL dev – i.e. making the
regionserver write more than one WAL at a time (into HDFS) – could use the
result of this effort too.
BookKeeper provides the ability to write multiple concurrent logs, but if the
regionserver code is not prepared, then we won't be able to benefit from this
feature. Consequently, it does sound very important to have the regionserver
writing to more than one WAL at a time.
Currently there is one test failing consistently for me:
{noformat}
org.apache.hadoop.hbase.TestLocalHBaseCluster
{noformat}
and I believe the culprit is this:
{noformat}
WARNING! File system needs to be upgraded. You have version null and I want
version 7. Run the '${HBASE_HOME}/bin/hbase migrate' script.
2012-09-21 17:27:06,075 FATAL
[Master:0;perfectsalt-lm.barcelona.corp.yahoo.com,52906,1348241225714]
master.HMaster(1838): Unhandled exception. Starting shutdown.
org.apache.hadoop.hbase.util.FileSystemVersionException: File system needs to
be upgraded. You have version null and I want version 7. Run the
'${HBASE_HOME}/bin/hbase migrate' script.
{noformat}
Any clue of why this could be happening?
> 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
> Attachments:
> org.apache.hadoop.hbase.client.TestMultiParallel-output.txt
>
>
> 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