hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14575) Reduce scope of compactions holding region lock
Date Fri, 13 Nov 2015 10:36:11 GMT

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

Ted Yu commented on HBASE-14575:
--------------------------------

In HRegion#doClose():
{code}
      writestate.writesEnabled = false;
      LOG.debug("Closing " + this + ": disabling compactions & flushes");
{code}

At the beginning of compact():
{code}
        synchronized (writestate) {
          if (writestate.writesEnabled) {
            wasStateSet = true;
            ++writestate.compacting;
          } else {
            String msg = "NOT compacting region " + this + ". Writes disabled.";
            LOG.info(msg);
            status.abort(msg);
            return false;
          }
{code}
I think the above already achieves [~ram_krish]'s suggestion.

> Reduce scope of compactions holding region lock
> -----------------------------------------------
>
>                 Key: HBASE-14575
>                 URL: https://issues.apache.org/jira/browse/HBASE-14575
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Compaction, regionserver
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>         Attachments: 14575-v1.patch, 14575-v2.patch, 14575-v3.patch, 14575-v4.patch,
14575-v5.patch, 14575.v00.patch
>
>
> Per [~devaraj]'s idea on parent issue, let's see if we can reduce the scope of critical
section under which compactions hold the region read lock.
> Here is summary from parent issue:
> Another idea is we can reduce the scope of when the read lock is held during compaction.
In theory the compactor only needs a region read lock while deciding what files to compact
and at the time of committing the compaction. We're protected from the case of region close
events because compactions are checking (every 10k bytes written) if the store has been closed
in order to abort in such a case.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message