You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2018/06/04 12:57:00 UTC

[jira] [Commented] (HBASE-20679) Add the ability to compile JSP dynamically in Jetty

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

Hadoop QA commented on HBASE-20679:
-----------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 17s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {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. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m  0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 12s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 35s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  7m  2s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  2m 18s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  5m 30s{color} | {color:green} branch has no errors when building our shaded downstream artifacts. {color} |
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  0s{color} | {color:blue} Skipped patched modules with no Java source: . {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  0m 26s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  6m  5s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 31s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:red}-1{color} | {color:red} mvninstall {color} | {color:red}  7m 59s{color} | {color:red} root in the patch failed. {color} |
| {color:red}-1{color} | {color:red} compile {color} | {color:red} 11m 10s{color} | {color:red} root in the patch failed. {color} |
| {color:red}-1{color} | {color:red} javac {color} | {color:red} 11m 11s{color} | {color:red} root in the patch failed. {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red}  3m 40s{color} | {color:red} root: The patch generated 2 new + 38 unchanged - 0 fixed = 40 total (was 38) {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m  0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} xml {color} | {color:green}  0m  7s{color} | {color:green} The patch has no ill-formed XML file. {color} |
| {color:red}-1{color} | {color:red} shadedjars {color} | {color:red}  6m 29s{color} | {color:red} patch has 10 errors when building our shaded downstream artifacts. {color} |
| {color:red}-1{color} | {color:red} hadoopcheck {color} | {color:red}  7m 53s{color} | {color:red} The patch causes 10 errors with Hadoop v2.7.4. {color} |
| {color:red}-1{color} | {color:red} hadoopcheck {color} | {color:red} 15m 36s{color} | {color:red} The patch causes 10 errors with Hadoop v3.0.0. {color} |
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  0s{color} | {color:blue} Skipped patched modules with no Java source: . {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  0m 35s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  2m 51s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 10m 54s{color} | {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 20s{color} | {color:green} The patch does not generate ASF License warnings. {color} |
| {color:black}{color} | {color:black} {color} | {color:black} 87m 40s{color} | {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.http.log.TestLogLevel |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:d8b550f |
| JIRA Issue | HBASE-20679 |
| JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12926357/HBASE-20679.patch |
| Optional Tests |  asflicense  javac  javadoc  unit  shadedjars  hadoopcheck  xml  compile  findbugs  hbaseanti  checkstyle  |
| uname | Linux 979826c7cf31 3.13.0-139-generic #188-Ubuntu SMP Tue Jan 9 14:43:09 UTC 2018 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 / 7da0015a3b |
| maven | version: Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) |
| Default Java | 1.8.0_171 |
| findbugs | v3.1.0-RC3 |
| mvninstall | https://builds.apache.org/job/PreCommit-HBASE-Build/13070/artifact/patchprocess/patch-mvninstall-root.txt |
| compile | https://builds.apache.org/job/PreCommit-HBASE-Build/13070/artifact/patchprocess/patch-compile-root.txt |
| javac | https://builds.apache.org/job/PreCommit-HBASE-Build/13070/artifact/patchprocess/patch-compile-root.txt |
| checkstyle | https://builds.apache.org/job/PreCommit-HBASE-Build/13070/artifact/patchprocess/diff-checkstyle-root.txt |
| shadedjars | https://builds.apache.org/job/PreCommit-HBASE-Build/13070/artifact/patchprocess/patch-shadedjars.txt |
| hadoopcheck | https://builds.apache.org/job/PreCommit-HBASE-Build/13070/artifact/patchprocess/patch-javac-2.7.4.txt |
| hadoopcheck | https://builds.apache.org/job/PreCommit-HBASE-Build/13070/artifact/patchprocess/patch-javac-3.0.0.txt |
| unit | https://builds.apache.org/job/PreCommit-HBASE-Build/13070/artifact/patchprocess/patch-unit-root.txt |
|  Test Results | https://builds.apache.org/job/PreCommit-HBASE-Build/13070/testReport/ |
| Max. process+thread count | 350 (vs. ulimit of 10000) |
| modules | C: hbase-http . U: . |
| Console output | https://builds.apache.org/job/PreCommit-HBASE-Build/13070/console |
| Powered by | Apache Yetus 0.7.0   http://yetus.apache.org |


This message was automatically generated.



> Add the ability to compile JSP dynamically in Jetty
> ---------------------------------------------------
>
>                 Key: HBASE-20679
>                 URL: https://issues.apache.org/jira/browse/HBASE-20679
>             Project: HBase
>          Issue Type: New Feature
>    Affects Versions: 2.0.0
>            Reporter: Allan Yang
>            Assignee: Allan Yang
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: HBASE-20679.patch
>
>
> As discussed in HBASE-20617, adding the ability to dynamically compile jsp enable us to do some hot fix. 
>  For example, several days ago, in our testing HBase-2.0 cluster, procedureWals were corrupted due to some unknown reasons. After restarting the cluster, since some procedures(AssignProcedure for example) were corrupted and couldn't be replayed. Some regions were stuck in RIT forever. We couldn't use HBCK since it haven't support AssignmentV2 yet. As a matter of fact, the namespace region was not online, so the master was not inited, we even couldn't use shell command like assign/move. But, we wrote a jsp and fix this issue easily. The jsp file is like this:
> {code:java}
> <%
>   String action = request.getParameter("action");
>   HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
>   List<RegionInfo> offlineRegionsToAssign = new ArrayList<>();
>   List<RegionStates.RegionStateNode> regionRITs = master.getAssignmentManager()
>           .getRegionStates().getRegionsInTransition();
>   for (RegionStates.RegionStateNode regionStateNode :  regionRITs) {
>     // if regionStateNode don't have a procedure attached, but meta state shows
>     // this region is in RIT, that means the previous procedure may be corrupted
>     // we need to create a new assignProcedure to assign them
>     if (!regionStateNode.isInTransition()) {
>       offlineRegionsToAssign.add(regionStateNode.getRegionInfo());
>       out.println("RIT region:" + regionStateNode);
>     }
>   }
>   // Assign offline regions. Uses round-robin.
>   if ("fix".equals(action) && offlineRegionsToAssign.size() > 0) {
>     master.getMasterProcedureExecutor().submitProcedures(master.getAssignmentManager().
>             createRoundRobinAssignProcedures(offlineRegionsToAssign));
>   } else {
>     out.println("use ?action=fix to fix RIT regions");
>   }
> %>
> {code}
> Above it is only one example we can do if we have the ability to compile jsp dynamically. We think it is very useful.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)