[ 
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

Reply via email to