hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Flavio Junqueira (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5937) Refactor HLog into an interface.
Date Fri, 21 Sep 2012 16:21:08 GMT

    [ 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

Mime
View raw message