Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 13D3D19017 for ; Mon, 4 Apr 2016 23:25:26 +0000 (UTC) Received: (qmail 10337 invoked by uid 500); 4 Apr 2016 23:25:25 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 10287 invoked by uid 500); 4 Apr 2016 23:25:25 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 10273 invoked by uid 99); 4 Apr 2016 23:25:25 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Apr 2016 23:25:25 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id B1CFF2C1F5A for ; Mon, 4 Apr 2016 23:25:25 +0000 (UTC) Date: Mon, 4 Apr 2016 23:25:25 +0000 (UTC) From: "Hadoop QA (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-15400) Use DateTieredCompactor for Date Tiered Compaction MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-15400?page=3Dcom.atlassia= n.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D152= 25255#comment-15225255 ]=20 Hadoop QA commented on HBASE-15400: ----------------------------------- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} = 0m 0s {color} | {color:green} Patch does not have any anti-patterns. {color= } | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m= 0s {color} | {color:green} The patch does not contain any @author tags. {c= olor} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green}= 0m 0s {color} | {color:green} The patch appears to include 4 new or modifi= ed test files. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}= 5m 1s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m= 44s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m= 59s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}= 6m 50s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}= 0m 31s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3= m 35s {color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m= 17s {color} | {color:green} master passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m= 12s {color} | {color:green} master passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}= 1m 20s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m= 26s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 2= 6s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m= 55s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 5= 5s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 6m 28= s {color} | {color:red} hbase-server: patch generated 3 new + 110 unchanged= - 28 fixed =3D 113 total (was 138) {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green}= 0m 27s {color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s= {color} | {color:red} The patch has 6 line(s) with tabs. {color} | | {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green= } 42m 38s {color} | {color:green} Patch does not cause any errors with Hado= op 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 2.7.1. {color} | | {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 3m 18s = {color} | {color:red} hbase-server generated 3 new + 0 unchanged - 0 fixed = =3D 3 total (was 0) {color} | | {color:red}-1{color} | {color:red} javadoc {color} | {color:red} 4m 17s {= color} | {color:red} hbase-server-jdk1.8.0 with JDK v1.8.0 generated 1 new = + 1 unchanged - 0 fixed =3D 2 total (was 1) {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m= 59s {color} | {color:green} the patch passed with JDK v1.8.0 {color} | | {color:red}-1{color} | {color:red} javadoc {color} | {color:red} 5m 20s {= color} | {color:red} hbase-server-jdk1.7.0_79 with JDK v1.7.0_79 generated = 1 new + 1 unchanged - 0 fixed =3D 2 total (was 1) {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m= 3s {color} | {color:green} the patch passed with JDK v1.7.0_79 {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 189m 44s {c= olor} | {color:red} hbase-server in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green}= 0m 20s {color} | {color:green} Patch does not generate ASF License warning= s. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 270m 33s {co= lor} | {color:black} {color} | \\ \\ || Reason || Tests || | FindBugs | module:hbase-server | | | Boxed value is unboxed and then immediately reboxed in org.apache.had= oop.hbase.regionserver.compactions.DateTieredCompactionPolicy.shouldPerform= MajorCompaction(Collection) At DateTieredCompactionPolicy.java:then immedi= ately reboxed in org.apache.hadoop.hbase.regionserver.compactions.DateTiere= dCompactionPolicy.shouldPerformMajorCompaction(Collection) At DateTieredCo= mpactionPolicy.java:[line 134] | | | org.apache.hadoop.hbase.regionserver.compactions.DateTieredCompaction= Request doesn't override =C2=BF1.(key=3DgivenClass)? At DateTieredCompacti= onRequest.java:At DateTieredCompactionRequest.java:[line 1] | | | Random object created and used only once in org.apache.hadoop.hbase.r= egionserver.compactions.SortedCompactionPolicy.getNextMajorCompactTime(Coll= ection) At SortedCompactionPolicy.java:only once in org.apache.hadoop.hbas= e.regionserver.compactions.SortedCompactionPolicy.getNextMajorCompactTime(C= ollection) At SortedCompactionPolicy.java:[line 122] | | Failed junit tests | hadoop.hbase.master.procedure.TestMasterFailoverWith= Procedures | | | hadoop.hbase.master.balancer.TestStochasticLoadBalancer2 | | | hadoop.hbase.client.TestBlockEvictionFromClient | | Timed out junit tests | org.apache.hadoop.hbase.snapshot.TestMobSecureExp= ortSnapshot | | | org.apache.hadoop.hbase.snapshot.TestSecureExportSnapshot | | | org.apache.hadoop.hbase.security.access.TestNamespaceCommands | | | org.apache.hadoop.hbase.snapshot.TestMobExportSnapshot | | | org.apache.hadoop.hbase.snapshot.TestExportSnapshot | \\ \\ || Subsystem || Report/Notes || | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/1279688= 0/HBASE-15400-v3-v3.patch | | JIRA Issue | HBASE-15400 | | Optional Tests | asflicense javac javadoc unit findbugs hadoopcheck= hbaseanti checkstyle compile | | uname | Linux penates.apache.org 3.13.0-36-lowlatency #63-Ubuntu SMP PREE= MPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build= /component/dev-support/hbase-personality.sh | | git revision | master / 33396c3 | | Default Java | 1.7.0_79 | | Multi-JDK versions | /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/= jenkins/java/jdk1.7.0_79:1.7.0_79 | | findbugs | v3.0.0 | | checkstyle | https://builds.apache.org/job/PreCommit-HBASE-Build/1283/art= ifact/patchprocess/diff-checkstyle-hbase-server.txt | | whitespace | https://builds.apache.org/job/PreCommit-HBASE-Build/1283/art= ifact/patchprocess/whitespace-tabs.txt | | findbugs | https://builds.apache.org/job/PreCommit-HBASE-Build/1283/artif= act/patchprocess/new-findbugs-hbase-server.html | | javadoc | hbase-server-jdk1.8.0: https://builds.apache.org/job/PreCommit-= HBASE-Build/1283/artifact/patchprocess/diff-javadoc-javadoc-hbase-server-jd= k1.8.0.txt | | javadoc | hbase-server-jdk1.7.0_79: https://builds.apache.org/job/PreComm= it-HBASE-Build/1283/artifact/patchprocess/diff-javadoc-javadoc-hbase-server= -jdk1.7.0_79.txt | | unit | https://builds.apache.org/job/PreCommit-HBASE-Build/1283/artifact/= patchprocess/patch-unit-hbase-server.txt | | unit test logs | https://builds.apache.org/job/PreCommit-HBASE-Build/128= 3/artifact/patchprocess/patch-unit-hbase-server.txt | | Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/1283/= testReport/ | | modules | C: hbase-server U: hbase-server | | Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/1283= /console | | Powered by | Apache Yetus 0.2.0 http://yetus.apache.org | This message was automatically generated. > Use DateTieredCompactor for Date Tiered Compaction > -------------------------------------------------- > > Key: HBASE-15400 > URL: https://issues.apache.org/jira/browse/HBASE-15400 > Project: HBase > Issue Type: Sub-task > Components: Compaction > Reporter: Clara Xiong > Assignee: Clara Xiong > Fix For: 2.0.0 > > Attachments: HBASE-15400-15389-v12.patch, HBASE-15400-v1.pa, HBAS= E-15400-v3-v3.patch, HBASE-15400-v3.patch, HBASE-15400.patch > > > When we compact, we can output multiple files along the current window bo= undaries. There are two use cases: > 1. Major compaction: We want to output date tiered store files with data = older than max age archived in trunks of the window size on the higher tier= . Once a window is old enough, we don't combine the windows to promote to t= he next tier any further. So files in these windows retain the same timespa= n as they were minor-compacted last time, which is the window size of the h= ighest tier. Major compaction will touch these files and we want to maintai= n the same layout. This way, TTL and archiving will be simpler and more eff= icient. > 2. Bulk load files and the old file generated by major compaction before = upgrading to DTCP. > Pros:=20 > 1. Restore locality, process versioning, updates and deletes while mainta= ining the tiered layout. > 2. The best way to fix a skewed layout. > =20 > This work is based on a prototype of DateTieredCompactor from HBASE-15389= and focused on the part to meet needs for these two use cases while suppor= ting others. I have to call out a few design decisions: > 1. We only want to output the files along all windows for major compactio= n. And we want to output multiple files older than max age in the trunks of= the maximum tier window size determined by base window size, windows per t= ier and max age. > 2. For minor compaction, we don't want to output too many files, which wi= ll remain around because of current restriction of contiguous compaction by= seq id. I will only output two files if all the files in the windows are b= eing combined, one for the data within window and the other for the out-of-= window tail. If there is any file in the window excluded from compaction, o= nly one file will be output from compaction. When the windows are promoted,= the situation of out of order data will gradually improve. For the incomin= g window, we need to accommodate the case with user-specified future data. > 3. We have to pass the boundaries with the list of store file as a comple= te time snapshot instead of two separate calls because window layout is det= ermined by the time the computation is called. So we will need new type of = compaction request.=20 > 4. Since we will assign the same seq id for all output files, we need to = sort by maxTimestamp subsequently. Right now all compaction policy gets the= files sorted for StoreFileManager which sorts by seq id and other criteria= . I will use this order for DTCP only, to avoid impacting other compaction = policies.=20 > 5. We need some cleanup of current design of StoreEngine and CompactionPo= licy. -- This message was sent by Atlassian JIRA (v6.3.4#6332)