New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HBASE-23315 Miscellaneous HBCK Report page cleanup #847
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -78,7 +78,7 @@ | |
|
||
<div class="row"> | ||
<div class="page-header"> | ||
<p><span>This page displays two reports: the 'HBCK Chore Report' and the 'CatalogJanitor Consistency Issues' report. Only titles show if there are no problems to report. Note some conditions are transitory as regions migrate.</span></p> | ||
<p><span>This page displays two reports: the 'HBCK Chore Report' and the 'CatalogJanitor Consistency Issues' report. Only titles show if there are no problems to report. Note some conditions are <em>transitory</em> as regions migrate.</span></p> | ||
</div> | ||
</div> | ||
<div class="row"> | ||
|
@@ -119,7 +119,7 @@ | |
|
||
<table class="table table-striped"> | ||
<tr> | ||
<th>Region Encoded Name</th> | ||
<th>Region Name</th> | ||
<th>Location in META</th> | ||
<th>Reported Online RegionServers</th> | ||
</tr> | ||
|
@@ -142,10 +142,18 @@ | |
<h2>Orphan Regions on RegionServer</h2> | ||
</div> | ||
</div> | ||
<p> | ||
<span> | ||
The below are Regions we've lost account of. To be safe, run bulk load of any data found in these Region orphan directories back into the HBase cluster. | ||
First make sure hbase:meta is in healthy state; run 'hbkc2 fixMeta' to be sure. Once this is done, per Region below, run a bulk | ||
load -- '$ hbase completebulkload REGION_DIR_PATH TABLE_NAME' -- and then delete the desiccated directory content (HFiles are removed upon successful load; all that is left are empty directories | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yuck. In a table with lots of busted regions, this |
||
and occasionally a seqid marking file). | ||
</span> | ||
</p> | ||
|
||
<table class="table table-striped"> | ||
<tr> | ||
<th>Region Encoded Name</th> | ||
<th>Region Name</th> | ||
<th>Reported Online RegionServer</th> | ||
</tr> | ||
<% for (Map.Entry<String, ServerName> entry : orphanRegionsOnRS.entrySet()) { %> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -81,11 +81,14 @@ | |
<th>Errors</th> | ||
<th>Parameters</th> | ||
</tr> | ||
<% for (Procedure<?> proc : procedures) { | ||
<% | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I can't believe we're still actively maintaining JSP in 2020. |
||
int displayCount = 0; | ||
for (Procedure<?> proc : procedures) { | ||
// Don't show SUCCESS procedures. | ||
if (proc.isSuccess()) { | ||
continue; | ||
} | ||
displayCount++; | ||
%> | ||
<tr> | ||
<td><%= proc.getProcId() %></td> | ||
|
@@ -99,9 +102,63 @@ | |
<td><%= escapeXml(proc.toString()) %></td> | ||
</tr> | ||
<% } %> | ||
<% | ||
if (displayCount > 0) { | ||
%> | ||
<p><%= displayCount %> procedure(s).</p> | ||
<% | ||
} | ||
%> | ||
</table> | ||
</div> | ||
<br /> | ||
<div class="container-fluid content"> | ||
<div class="row"> | ||
<div class="page-header"> | ||
<h1>Locks</h1> | ||
</div> | ||
</div> | ||
<% | ||
if (lockedResources.size() > 0) { | ||
%> | ||
<p><%= lockedResources.size() %> lock(s).</p> | ||
<% | ||
} | ||
%> | ||
<% for (LockedResource lockedResource : lockedResources) { %> | ||
<h2><%= lockedResource.getResourceType() %>: <%= lockedResource.getResourceName() %></h2> | ||
<% | ||
switch (lockedResource.getLockType()) { | ||
case EXCLUSIVE: | ||
%> | ||
<p>Lock type: EXCLUSIVE</p> | ||
<p>Owner procedure: <%= escapeXml(lockedResource.getExclusiveLockOwnerProcedure().toStringDetails()) %></p> | ||
<% | ||
break; | ||
case SHARED: | ||
%> | ||
<p>Lock type: SHARED</p> | ||
<p>Number of shared locks: <%= lockedResource.getSharedLockCount() %></p> | ||
<% | ||
break; | ||
} | ||
|
||
List<Procedure<?>> waitingProcedures = lockedResource.getWaitingProcedures(); | ||
|
||
if (!waitingProcedures.isEmpty()) { | ||
%> | ||
<h3>Waiting procedures</h3> | ||
<table class="table table-striped" width="90%" > | ||
<% for (Procedure<?> proc : procedures) { %> | ||
<tr> | ||
<td><%= escapeXml(proc.toStringDetails()) %></td> | ||
</tr> | ||
<% } %> | ||
</table> | ||
<% } %> | ||
<% } %> | ||
</div> | ||
<br /> | ||
<div class="container-fluid content"> | ||
<div class="row"> | ||
<div class="page-header"> | ||
|
@@ -206,44 +263,5 @@ | |
</div> | ||
</div> | ||
<br /> | ||
<div class="container-fluid content"> | ||
<div class="row"> | ||
<div class="page-header"> | ||
<h1>Locks</h1> | ||
</div> | ||
</div> | ||
<% for (LockedResource lockedResource : lockedResources) { %> | ||
<h2><%= lockedResource.getResourceType() %>: <%= lockedResource.getResourceName() %></h2> | ||
<% | ||
switch (lockedResource.getLockType()) { | ||
case EXCLUSIVE: | ||
%> | ||
<p>Lock type: EXCLUSIVE</p> | ||
<p>Owner procedure: <%= escapeXml(lockedResource.getExclusiveLockOwnerProcedure().toStringDetails()) %></p> | ||
<% | ||
break; | ||
case SHARED: | ||
%> | ||
<p>Lock type: SHARED</p> | ||
<p>Number of shared locks: <%= lockedResource.getSharedLockCount() %></p> | ||
<% | ||
break; | ||
} | ||
|
||
List<Procedure<?>> waitingProcedures = lockedResource.getWaitingProcedures(); | ||
|
||
if (!waitingProcedures.isEmpty()) { | ||
%> | ||
<h3>Waiting procedures</h3> | ||
<table class="table table-striped" width="90%" > | ||
<% for (Procedure<?> proc : procedures) { %> | ||
<tr> | ||
<td><%= escapeXml(proc.toStringDetails()) %></td> | ||
</tr> | ||
<% } %> | ||
</table> | ||
<% } %> | ||
<% } %> | ||
</div> | ||
|
||
<jsp:include page="footer.jsp" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"
hbck2 fixMeta
"