hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matteo Bertozzi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8706) Some improvement in snapshot
Date Fri, 07 Jun 2013 15:52:21 GMT

    [ https://issues.apache.org/jira/browse/HBASE-8706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13678108#comment-13678108
] 

Matteo Bertozzi commented on HBASE-8706:
----------------------------------------

 * make "timeoutMillis" final
 * follow the same style... there's a this.xyz for the other initializations
 * the Procedure stuff is generic... and doesn't talk about snapshots... so avoid the SNAPSHOT_TIMEOUT
constant inside the procedure code. Instead of passing a conf pass a timeout and let the snapshot
manager deal with the conf?

since you're cleaning up, do you mind removing also this unuseful log message?
{code}
+++ hbase/regionserver/snapshot/RegionServerSnapshotManager.java
       // evict remaining tasks and futures from taskPool.
-      LOG.debug(taskPool);
       while (!futures.isEmpty()) {
         // block to remove cancelled futures;
         LOG.warn("Removing cancelled elements from taskPool");
{code}

also do you mind cleanup this related thing?
 * The "hbase.snapshot.master.timeoutMillis" seems to be used with a different meaning...
if I read correctly is not a snapshot timeout but a thread pool cleanup on idle. (rename it?)

                
> Some improvement in snapshot
> ----------------------------
>
>                 Key: HBASE-8706
>                 URL: https://issues.apache.org/jira/browse/HBASE-8706
>             Project: HBase
>          Issue Type: Bug
>          Components: snapshots
>    Affects Versions: 0.94.8, 0.95.0
>            Reporter: binlijin
>         Attachments: HBASE-8706.patch
>
>
> (1)timeout for Procedure can not be configured.
> {code}
> Procedure's timeout
> ProcedureCoordinator
>   final static long TIMEOUT_MILLIS_DEFAULT = 60000;
>    createProcedure(ForeignExceptionDispatcher fed, String procName, byte[] procArgs,
>       List<String> expectedMembers) {
>     // build the procedure
>     return new Procedure(this, fed, WAKE_MILLIS_DEFAULT, TIMEOUT_MILLIS_DEFAULT,
>         procName, procArgs, expectedMembers);
>   }
> RegionServerSnapshotManager:
>   /** Conf key for max time to keep threads in snapshot request pool waiting */
>   public static final String SNAPSHOT_TIMEOUT_MILLIS_KEY = "hbase.snapshot.region.timeout";
>   /** Keep threads alive in request pool for max of 60 seconds */
>   public static final long SNAPSHOT_TIMEOUT_MILLIS_DEFAULT = 60000;
>   public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {
>     long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
>         SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
>     case FLUSH:
>       SnapshotSubprocedurePool taskManager =
>         new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
>   }
> {code}
> (2)TakeSnapshotHandler
> after snapshotRegions we should call monitor.rethrowException(); to check if there is
exception and if there is we can skip the verifySnapshot
> (3)too much error message when error happened in some place.

--
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