You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Suraj Varma (JIRA)" <ji...@apache.org> on 2011/06/24 00:50:48 UTC

[jira] [Created] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Major compaction may not be triggered, even though region server log says it is triggered
-----------------------------------------------------------------------------------------

                 Key: HBASE-4024
                 URL: https://issues.apache.org/jira/browse/HBASE-4024
             Project: HBase
          Issue Type: Bug
          Components: regionserver
            Reporter: Suraj Varma
            Priority: Trivial
             Fix For: 0.92.0


The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 

    // major compact on user action or age (caveat: we have too many files)
    boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
      && filesToCompact.size() < this.maxFilesToCompact;


The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 

This would result in a "Major compaction triggered" log message without actually triggering a major compaction.

The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-4024:
--------------------------

    Attachment: 4024-v2.txt

Allow me to reformat a portion of existing code in v2.

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024-v2.txt, 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-4024:
--------------------------

    Attachment:     (was: 4024.txt)

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13056844#comment-13056844 ] 

Hudson commented on HBASE-4024:
-------------------------------

Integrated in HBase-TRUNK #1995 (See [https://builds.apache.org/job/HBase-TRUNK/1995/])
    

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024-v2.txt, 4024-v3.txt, 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13056185#comment-13056185 ] 

Ted Yu commented on HBASE-4024:
-------------------------------

In 4024-v2.txt, the additional message is logged in isMajorCompaction(). That would be short-circuited by the proposed change above.

So the above proposal is all that we need.

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024-v2.txt, 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-4024:
-------------------------

      Resolution: Fixed
    Hadoop Flags: [Reviewed]
          Status: Resolved  (was: Patch Available)

This was committed a while back.

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024-v2.txt, 4024-v3.txt, 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054558#comment-13054558 ] 

Jean-Daniel Cryans commented on HBASE-4024:
-------------------------------------------

Regarding the last edit in the patch, I don't think you should remove that whitespace and what would be the reason to keep the check on the number of files there if it's moved into isMajorCompaction?

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054618#comment-13054618 ] 

Jean-Daniel Cryans commented on HBASE-4024:
-------------------------------------------

I'm starting to think that the check should be refactored out of the ifs and put right at the beginning, and then maybe print a nice message on why it's skipping?

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054562#comment-13054562 ] 

Ted Yu commented on HBASE-4024:
-------------------------------

I can revert the whitespace change.
The check on the number of files was kept for the case when forcemajor is true.

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13056275#comment-13056275 ] 

Ted Yu commented on HBASE-4024:
-------------------------------

Integrate patch version 3 into TRUNK.

Thanks for the hint Nicholas.

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024-v2.txt, 4024-v3.txt, 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Nicolas Spiegelberg (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13056080#comment-13056080 ] 

Nicolas Spiegelberg commented on HBASE-4024:
--------------------------------------------

+1 to JD's comment.  refactor to:
{code}
boolean majorcompaction = filesToCompact.size() < this.maxFilesToCompact 
  && (forcemajor || isMajorCompaction(filesToCompact));
{code}
and just utilize short-circuit evaluation.

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024-v2.txt, 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-4024:
--------------------------

    Attachment:     (was: 4024.txt)

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-4024:
--------------------------

    Attachment: 4024.txt

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-4024:
--------------------------

    Status: Patch Available  (was: Open)

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-4024:
--------------------------

    Attachment: 4024.txt

Added filesToCompact.size() check in isMajorCompaction()

TestCompaction and TestCompactSelection pass.

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu reassigned HBASE-4024:
-----------------------------

    Assignee: Ted Yu

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13056272#comment-13056272 ] 

stack commented on HBASE-4024:
------------------------------

+1

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024-v2.txt, 4024-v3.txt, 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-4024:
--------------------------

    Attachment: 4024.txt

Removed the whitespace adjustment.

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-4024) Major compaction may not be triggered, even though region server log says it is triggered

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-4024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Yu updated HBASE-4024:
--------------------------

    Attachment: 4024-v3.txt

Patch version 3.

> Major compaction may not be triggered, even though region server log says it is triggered
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-4024
>                 URL: https://issues.apache.org/jira/browse/HBASE-4024
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Suraj Varma
>            Assignee: Ted Yu
>            Priority: Trivial
>              Labels: newbie
>             Fix For: 0.92.0
>
>         Attachments: 4024-v2.txt, 4024-v3.txt, 4024.txt
>
>
> The trunk version of regionserver/Store.java, method   List<StoreFile> compactSelection(List<StoreFile> candidates) has this code to determine whether major compaction should be done or not: 
>     // major compact on user action or age (caveat: we have too many files)
>     boolean majorcompaction = (forcemajor || isMajorCompaction(filesToCompact))
>       && filesToCompact.size() < this.maxFilesToCompact;
> The isMajorCompaction(filesToCompact) method internally determines whether or not major compaction is required (and logs this as "Major compaction triggered ... " log message. However, after the call, the compactSelection method subsequently applies the filesToCompact.size() < this.maxFilesToCompact check which can turn off major compaction. 
> This would result in a "Major compaction triggered" log message without actually triggering a major compaction.
> The filesToCompact.size() check should probably be moved inside the isMajorCompaction(filesToCompact) method.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira