blob: 8edd4c31290fff6a9960d6cdb249eb1f7b1b305e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ChecksumUtil (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ChecksumUtil (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ChecksumUtil.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html" target="_top">Frames</a></li>
<li><a href="ChecksumUtil.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.io.hfile</div>
<h2 title="Class ChecksumUtil" class="title">Class ChecksumUtil</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.io.hfile.ChecksumUtil</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.36">ChecksumUtil</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Utility methods to compute and validate checksums.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#CHECKSUM_BUF_SIZE">CHECKSUM_BUF_SIZE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#generateExceptions">generateExceptions</a></span></code>
<div class="block">This is used by unit tests to make checksum failures throw an
exception instead of returning null.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#ChecksumUtil--">ChecksumUtil</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>(package private) static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#generateChecksums-byte:A-int-int-byte:A-int-org.apache.hadoop.hbase.util.ChecksumType-int-">generateChecksums</a></span>(byte[]&nbsp;indata,
int&nbsp;startOffset,
int&nbsp;endOffset,
byte[]&nbsp;outdata,
int&nbsp;outOffset,
<a href="../../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util">ChecksumType</a>&nbsp;checksumType,
int&nbsp;bytesPerChecksum)</code>
<div class="block">Generates a checksum for all the data in indata.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#generateExceptionForChecksumFailureForTest-boolean-">generateExceptionForChecksumFailureForTest</a></span>(boolean&nbsp;value)</code>
<div class="block">Mechanism to throw an exception in case of hbase checksum
failure.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>(package private) static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#numBytes-long-int-">numBytes</a></span>(long&nbsp;datasize,
int&nbsp;bytesPerChecksum)</code>
<div class="block">Returns the number of bytes needed to store the checksums for
a specified data size</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>(package private) static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#numChunks-long-int-">numChunks</a></span>(long&nbsp;datasize,
int&nbsp;bytesPerChecksum)</code>
<div class="block">Returns the number of checksum chunks needed to store the checksums for
a specified data size</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>(package private) static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#validateChecksum-org.apache.hadoop.hbase.nio.ByteBuff-java.lang.String-long-int-">validateChecksum</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathName,
long&nbsp;offset,
int&nbsp;hdrSize)</code>
<div class="block">Validates that the data in the specified HFileBlock matches the checksum.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#verifyChunkedSums-org.apache.hadoop.util.DataChecksum-org.apache.hadoop.hbase.nio.ByteBuff-org.apache.hadoop.hbase.nio.ByteBuff-java.lang.String-">verifyChunkedSums</a></span>(org.apache.hadoop.util.DataChecksum&nbsp;dataChecksum,
<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;data,
<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;checksums,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathName)</code>
<div class="block">Like the hadoop's <code>DataChecksum.verifyChunkedSums(ByteBuffer, ByteBuffer, String, long)</code>,
this method will also verify checksum of each chunk in data.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>public static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.37">LOG</a></pre>
</li>
</ul>
<a name="CHECKSUM_BUF_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CHECKSUM_BUF_SIZE</h4>
<pre>public static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.39">CHECKSUM_BUF_SIZE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.ChecksumUtil.CHECKSUM_BUF_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="generateExceptions">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>generateExceptions</h4>
<pre>private static&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.48">generateExceptions</a></pre>
<div class="block">This is used by unit tests to make checksum failures throw an
exception instead of returning null. Returning a null value from
checksum validation will cause the higher layer to retry that
read with hdfs-level checksums. Instead, we would like checksum
failures to cause the entire unit test to fail.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ChecksumUtil--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ChecksumUtil</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.36">ChecksumUtil</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="generateChecksums-byte:A-int-int-byte:A-int-org.apache.hadoop.hbase.util.ChecksumType-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>generateChecksums</h4>
<pre>static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.64">generateChecksums</a>(byte[]&nbsp;indata,
int&nbsp;startOffset,
int&nbsp;endOffset,
byte[]&nbsp;outdata,
int&nbsp;outOffset,
<a href="../../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util">ChecksumType</a>&nbsp;checksumType,
int&nbsp;bytesPerChecksum)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Generates a checksum for all the data in indata. The checksum is
written to outdata.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>indata</code> - input data stream</dd>
<dd><code>startOffset</code> - starting offset in the indata stream from where to
compute checkums from</dd>
<dd><code>endOffset</code> - ending offset in the indata stream upto
which checksums needs to be computed</dd>
<dd><code>outdata</code> - the output buffer where checksum values are written</dd>
<dd><code>outOffset</code> - the starting offset in the outdata where the
checksum values are written</dd>
<dd><code>checksumType</code> - type of checksum</dd>
<dd><code>bytesPerChecksum</code> - number of bytes per checksum value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="verifyChunkedSums-org.apache.hadoop.util.DataChecksum-org.apache.hadoop.hbase.nio.ByteBuff-org.apache.hadoop.hbase.nio.ByteBuff-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>verifyChunkedSums</h4>
<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.92">verifyChunkedSums</a>(org.apache.hadoop.util.DataChecksum&nbsp;dataChecksum,
<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;data,
<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;checksums,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathName)</pre>
<div class="block">Like the hadoop's <code>DataChecksum.verifyChunkedSums(ByteBuffer, ByteBuffer, String, long)</code>,
this method will also verify checksum of each chunk in data. the difference is: this method can
accept <a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio"><code>ByteBuff</code></a> as arguments, we can not add it in hadoop-common so defined here.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataChecksum</code> - to calculate the checksum.</dd>
<dd><code>data</code> - as the input</dd>
<dd><code>checksums</code> - to compare</dd>
<dd><code>pathName</code> - indicate that the data is read from which file.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a flag indicate the checksum match or mismatch.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>DataChecksum.verifyChunkedSums(ByteBuffer, ByteBuffer, String,
long)</code></dd>
</dl>
</li>
</ul>
<a name="validateChecksum-org.apache.hadoop.hbase.nio.ByteBuff-java.lang.String-long-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateChecksum</h4>
<pre>static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.171">validateChecksum</a>(<a href="../../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathName,
long&nbsp;offset,
int&nbsp;hdrSize)</pre>
<div class="block">Validates that the data in the specified HFileBlock matches the checksum. Generates the
checksums for the data and then validate that it matches those stored in the end of the data.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buf</code> - Contains the data in following order: HFileBlock header, data, checksums.</dd>
<dd><code>pathName</code> - Path of the HFile to which the <code>data</code> belongs. Only used for logging.</dd>
<dd><code>offset</code> - offset of the data being validated. Only used for logging.</dd>
<dd><code>hdrSize</code> - Size of the block header in <code>data</code>. Only used for logging.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if checksum matches, else false.</dd>
</dl>
</li>
</ul>
<a name="numBytes-long-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numBytes</h4>
<pre>static&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.199">numBytes</a>(long&nbsp;datasize,
int&nbsp;bytesPerChecksum)</pre>
<div class="block">Returns the number of bytes needed to store the checksums for
a specified data size</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datasize</code> - number of bytes of data</dd>
<dd><code>bytesPerChecksum</code> - number of bytes in a checksum chunk</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of bytes needed to store the checksum values</dd>
</dl>
</li>
</ul>
<a name="numChunks-long-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numChunks</h4>
<pre>static&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.210">numChunks</a>(long&nbsp;datasize,
int&nbsp;bytesPerChecksum)</pre>
<div class="block">Returns the number of checksum chunks needed to store the checksums for
a specified data size</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datasize</code> - number of bytes of data</dd>
<dd><code>bytesPerChecksum</code> - number of bytes in a checksum chunk</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of checksum chunks</dd>
</dl>
</li>
</ul>
<a name="generateExceptionForChecksumFailureForTest-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>generateExceptionForChecksumFailureForTest</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html#line.224">generateExceptionForChecksumFailureForTest</a>(boolean&nbsp;value)</pre>
<div class="block">Mechanism to throw an exception in case of hbase checksum
failure. This is used by unit tests only.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - Setting this to true will cause hbase checksum
verification failures to generate exceptions.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ChecksumUtil.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/hfile/ChecksumUtil.html" target="_top">Frames</a></li>
<li><a href="ChecksumUtil.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>