| <!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>FSDataInputStreamWrapper (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="FSDataInputStreamWrapper (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":9,"i6":10,"i7":9,"i8":9,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10}; |
| var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance 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/FSDataInputStreamWrapper.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/FileLink.FileLinkInputStream.html" title="class in org.apache.hadoop.hbase.io"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.ReadStatistics.html" title="class in org.apache.hadoop.hbase.io"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html" target="_top">Frames</a></li> |
| <li><a href="FSDataInputStreamWrapper.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../allclasses-noframe.html">All 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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</div> |
| <h2 title="Class FSDataInputStreamWrapper" class="title">Class FSDataInputStreamWrapper</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.FSDataInputStreamWrapper</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre>@InterfaceAudience.Private |
| public class <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.42">FSDataInputStreamWrapper</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> |
| implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre> |
| <div class="block">Wrapper for input stream(s) that takes care of the interaction of FS and HBase checksums, |
| as well as closing streams. Initialization is not thread-safe, but normal operation is; |
| see method comments.</div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="nested.class.summary"> |
| <!-- --> |
| </a> |
| <h3>Nested Class Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation"> |
| <caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Class and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private static class </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.ReadStatistics.html" title="class in org.apache.hadoop.hbase.io">FSDataInputStreamWrapper.ReadStatistics</a></span></code> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- =========== 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"> </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>private boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#doCloseStreams">doCloseStreams</a></span></code> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#dropBehind">dropBehind</a></span></code> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#hbaseChecksumOffCount">hbaseChecksumOffCount</a></span></code> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#hfs">hfs</a></span></code> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#instanceOfCanUnbuffer">instanceOfCanUnbuffer</a></span></code> </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/FSDataInputStreamWrapper.html#isLogTraceEnabled">isLogTraceEnabled</a></span></code> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/io/FileLink.html" title="class in org.apache.hadoop.hbase.io">FileLink</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#link">link</a></span></code> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private static org.slf4j.Logger</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#LOG">LOG</a></span></code> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#path">path</a></span></code> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private long</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#readahead">readahead</a></span></code> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.ReadStatistics.html" title="class in org.apache.hadoop.hbase.io">FSDataInputStreamWrapper.ReadStatistics</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#readStatistics">readStatistics</a></span></code> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private org.apache.hadoop.fs.FSDataInputStream</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#stream">stream</a></span></code> |
| <div class="block">Two stream handles, one with and one without FS-level checksum.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private org.apache.hadoop.fs.FSDataInputStream</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#streamNoFsChecksum">streamNoFsChecksum</a></span></code> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <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></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#streamNoFsChecksumFirstCreateLock">streamNoFsChecksumFirstCreateLock</a></span></code> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private org.apache.hadoop.fs.CanUnbuffer</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#unbuffer">unbuffer</a></span></code> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#useHBaseChecksum">useHBaseChecksum</a></span></code> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#useHBaseChecksumConfigured">useHBaseChecksumConfigured</a></span></code> </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"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier</th> |
| <th class="colLast" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code> </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#FSDataInputStreamWrapper-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.io.FileLink-boolean-long-">FSDataInputStreamWrapper</a></span>(org.apache.hadoop.fs.FileSystem fs, |
| <a href="../../../../../org/apache/hadoop/hbase/io/FileLink.html" title="class in org.apache.hadoop.hbase.io">FileLink</a> link, |
| boolean dropBehind, |
| long readahead)</code> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#FSDataInputStreamWrapper-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.io.FileLink-org.apache.hadoop.fs.Path-boolean-long-">FSDataInputStreamWrapper</a></span>(org.apache.hadoop.fs.FileSystem fs, |
| <a href="../../../../../org/apache/hadoop/hbase/io/FileLink.html" title="class in org.apache.hadoop.hbase.io">FileLink</a> link, |
| org.apache.hadoop.fs.Path path, |
| boolean dropBehind, |
| long readahead)</code> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code> </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#FSDataInputStreamWrapper-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">FSDataInputStreamWrapper</a></span>(org.apache.hadoop.fs.FileSystem fs, |
| org.apache.hadoop.fs.Path path)</code> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code> </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#FSDataInputStreamWrapper-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-long-">FSDataInputStreamWrapper</a></span>(org.apache.hadoop.fs.FileSystem fs, |
| org.apache.hadoop.fs.Path path, |
| boolean dropBehind, |
| long readahead)</code> </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code> </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#FSDataInputStreamWrapper-org.apache.hadoop.fs.FSDataInputStream-">FSDataInputStreamWrapper</a></span>(org.apache.hadoop.fs.FSDataInputStream fsdis)</code> |
| <div class="block">For use in tests.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code> </code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#FSDataInputStreamWrapper-org.apache.hadoop.fs.FSDataInputStream-org.apache.hadoop.fs.FSDataInputStream-">FSDataInputStreamWrapper</a></span>(org.apache.hadoop.fs.FSDataInputStream fsdis, |
| org.apache.hadoop.fs.FSDataInputStream noChecksum)</code> |
| <div class="block">For use in tests.</div> |
| </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"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#checksumOk--">checksumOk</a></span>()</code> |
| <div class="block">Report that checksum was ok, so we may ponder going back to HBase checksum.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#close--">close</a></span>()</code> |
| <div class="block">CloseClose stream(s) if necessary.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>org.apache.hadoop.fs.FSDataInputStream</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#fallbackToFsChecksum-int-">fallbackToFsChecksum</a></span>(int offCount)</code> |
| <div class="block">Read from non-checksum stream failed, fall back to FS checksum.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#getHfs--">getHfs</a></span>()</code> </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#getLocalBytesRead--">getLocalBytesRead</a></span>()</code> </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#getShortCircuitBytesRead--">getShortCircuitBytesRead</a></span>()</code> </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>org.apache.hadoop.fs.FSDataInputStream</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#getStream-boolean-">getStream</a></span>(boolean useHBaseChecksum)</code> |
| <div class="block">Get the stream to use.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#getTotalBytesRead--">getTotalBytesRead</a></span>()</code> </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>static long</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#getZeroCopyBytesRead--">getZeroCopyBytesRead</a></span>()</code> </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#prepareForBlockReader-boolean-">prepareForBlockReader</a></span>(boolean forceNoHBaseChecksum)</code> |
| <div class="block">Prepares the streams for block reader.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#setStreamOptions-org.apache.hadoop.fs.FSDataInputStream-">setStreamOptions</a></span>(org.apache.hadoop.fs.FSDataInputStream in)</code> </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#shouldUseHBaseChecksum--">shouldUseHBaseChecksum</a></span>()</code> </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#unbuffer--">unbuffer</a></span>()</code> |
| <div class="block">This will free sockets and file descriptors held by the stream only when the stream implements |
| org.apache.hadoop.fs.CanUnbuffer.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>private void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#updateInputStreamStatistics-org.apache.hadoop.fs.FSDataInputStream-">updateInputStreamStatistics</a></span>(org.apache.hadoop.fs.FSDataInputStream stream)</code> </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class 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>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.43">LOG</a></pre> |
| </li> |
| </ul> |
| <a name="isLogTraceEnabled"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isLogTraceEnabled</h4> |
| <pre>private static final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.44">isLogTraceEnabled</a></pre> |
| </li> |
| </ul> |
| <a name="hfs"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hfs</h4> |
| <pre>private final <a href="../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.46">hfs</a></pre> |
| </li> |
| </ul> |
| <a name="path"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>path</h4> |
| <pre>private final org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.47">path</a></pre> |
| </li> |
| </ul> |
| <a name="link"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>link</h4> |
| <pre>private final <a href="../../../../../org/apache/hadoop/hbase/io/FileLink.html" title="class in org.apache.hadoop.hbase.io">FileLink</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.48">link</a></pre> |
| </li> |
| </ul> |
| <a name="doCloseStreams"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>doCloseStreams</h4> |
| <pre>private final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.49">doCloseStreams</a></pre> |
| </li> |
| </ul> |
| <a name="dropBehind"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>dropBehind</h4> |
| <pre>private final boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.50">dropBehind</a></pre> |
| </li> |
| </ul> |
| <a name="readahead"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>readahead</h4> |
| <pre>private final long <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.51">readahead</a></pre> |
| </li> |
| </ul> |
| <a name="stream"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>stream</h4> |
| <pre>private volatile org.apache.hadoop.fs.FSDataInputStream <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.73">stream</a></pre> |
| <div class="block">Two stream handles, one with and one without FS-level checksum. |
| HDFS checksum setting is on FS level, not single read level, so you have to keep two |
| FS objects and two handles open to interleave different reads freely, which is very sad. |
| This is what we do: |
| 1) First, we need to read the trailer of HFile to determine checksum parameters. |
| We always use FS checksum to do that, so ctor opens <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#stream"><code>stream</code></a>. |
| 2.1) After that, if HBase checksum is not used, we'd just always use <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#stream"><code>stream</code></a>; |
| 2.2) If HBase checksum can be used, we'll open <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#streamNoFsChecksum"><code>streamNoFsChecksum</code></a>, |
| and close <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#stream"><code>stream</code></a>. User MUST call prepareForBlockReader for that to happen; |
| if they don't, (2.1) will be the default. |
| 3) The users can call <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#shouldUseHBaseChecksum--"><code>shouldUseHBaseChecksum()</code></a>, and pass its result to |
| <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#getStream-boolean-"><code>getStream(boolean)</code></a> to get stream (if Java had out/pointer params we could |
| return both in one call). This stream is guaranteed to be set. |
| 4) The first time HBase checksum fails, one would call <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#fallbackToFsChecksum-int-"><code>fallbackToFsChecksum(int)</code></a>. |
| That will take lock, and open <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#stream"><code>stream</code></a>. While this is going on, others will |
| continue to use the old stream; if they also want to fall back, they'll also call |
| <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#fallbackToFsChecksum-int-"><code>fallbackToFsChecksum(int)</code></a>, and block until <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#stream"><code>stream</code></a> is set. |
| 5) After some number of checksumOk() calls, we will go back to using HBase checksum. |
| We will have 2 handles; however we presume checksums fail so rarely that we don't care.</div> |
| </li> |
| </ul> |
| <a name="streamNoFsChecksum"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>streamNoFsChecksum</h4> |
| <pre>private volatile org.apache.hadoop.fs.FSDataInputStream <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.74">streamNoFsChecksum</a></pre> |
| </li> |
| </ul> |
| <a name="streamNoFsChecksumFirstCreateLock"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>streamNoFsChecksumFirstCreateLock</h4> |
| <pre>private final <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> <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.75">streamNoFsChecksumFirstCreateLock</a></pre> |
| </li> |
| </ul> |
| <a name="useHBaseChecksumConfigured"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>useHBaseChecksumConfigured</h4> |
| <pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.78">useHBaseChecksumConfigured</a></pre> |
| </li> |
| </ul> |
| <a name="useHBaseChecksum"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>useHBaseChecksum</h4> |
| <pre>private volatile boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.84">useHBaseChecksum</a></pre> |
| </li> |
| </ul> |
| <a name="hbaseChecksumOffCount"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hbaseChecksumOffCount</h4> |
| <pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.88">hbaseChecksumOffCount</a></pre> |
| </li> |
| </ul> |
| <a name="readStatistics"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>readStatistics</h4> |
| <pre>private static final <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.ReadStatistics.html" title="class in org.apache.hadoop.hbase.io">FSDataInputStreamWrapper.ReadStatistics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.90">readStatistics</a></pre> |
| </li> |
| </ul> |
| <a name="instanceOfCanUnbuffer"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>instanceOfCanUnbuffer</h4> |
| <pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.99">instanceOfCanUnbuffer</a></pre> |
| </li> |
| </ul> |
| <a name="unbuffer"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>unbuffer</h4> |
| <pre>private org.apache.hadoop.fs.CanUnbuffer <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.100">unbuffer</a></pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="FSDataInputStreamWrapper-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FSDataInputStreamWrapper</h4> |
| <pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.102">FSDataInputStreamWrapper</a>(org.apache.hadoop.fs.FileSystem fs, |
| org.apache.hadoop.fs.Path path) |
| 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> |
| <dl> |
| <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="FSDataInputStreamWrapper-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-long-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FSDataInputStreamWrapper</h4> |
| <pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.106">FSDataInputStreamWrapper</a>(org.apache.hadoop.fs.FileSystem fs, |
| org.apache.hadoop.fs.Path path, |
| boolean dropBehind, |
| long readahead) |
| 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> |
| <dl> |
| <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="FSDataInputStreamWrapper-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.io.FileLink-boolean-long-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FSDataInputStreamWrapper</h4> |
| <pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.110">FSDataInputStreamWrapper</a>(org.apache.hadoop.fs.FileSystem fs, |
| <a href="../../../../../org/apache/hadoop/hbase/io/FileLink.html" title="class in org.apache.hadoop.hbase.io">FileLink</a> link, |
| boolean dropBehind, |
| long readahead) |
| 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> |
| <dl> |
| <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="FSDataInputStreamWrapper-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.io.FileLink-org.apache.hadoop.fs.Path-boolean-long-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FSDataInputStreamWrapper</h4> |
| <pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.115">FSDataInputStreamWrapper</a>(org.apache.hadoop.fs.FileSystem fs, |
| <a href="../../../../../org/apache/hadoop/hbase/io/FileLink.html" title="class in org.apache.hadoop.hbase.io">FileLink</a> link, |
| org.apache.hadoop.fs.Path path, |
| boolean dropBehind, |
| long readahead) |
| 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> |
| <dl> |
| <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="FSDataInputStreamWrapper-org.apache.hadoop.fs.FSDataInputStream-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FSDataInputStreamWrapper</h4> |
| <pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.173">FSDataInputStreamWrapper</a>(org.apache.hadoop.fs.FSDataInputStream fsdis)</pre> |
| <div class="block">For use in tests.</div> |
| </li> |
| </ul> |
| <a name="FSDataInputStreamWrapper-org.apache.hadoop.fs.FSDataInputStream-org.apache.hadoop.fs.FSDataInputStream-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>FSDataInputStreamWrapper</h4> |
| <pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.178">FSDataInputStreamWrapper</a>(org.apache.hadoop.fs.FSDataInputStream fsdis, |
| org.apache.hadoop.fs.FSDataInputStream noChecksum)</pre> |
| <div class="block">For use in tests.</div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="setStreamOptions-org.apache.hadoop.fs.FSDataInputStream-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setStreamOptions</h4> |
| <pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.134">setStreamOptions</a>(org.apache.hadoop.fs.FSDataInputStream in)</pre> |
| </li> |
| </ul> |
| <a name="prepareForBlockReader-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>prepareForBlockReader</h4> |
| <pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.155">prepareForBlockReader</a>(boolean forceNoHBaseChecksum) |
| 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">Prepares the streams for block reader. NOT THREAD SAFE. Must be called once, after any |
| reads finish and before any other reads start (what happens in reality is we read the |
| tail, then call this based on what's in the tail, then read blocks).</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>forceNoHBaseChecksum</code> - Force not using HBase checksum.</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="shouldUseHBaseChecksum--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>shouldUseHBaseChecksum</h4> |
| <pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.193">shouldUseHBaseChecksum</a>()</pre> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether we are presently using HBase checksum.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getStream-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getStream</h4> |
| <pre>public org.apache.hadoop.fs.FSDataInputStream <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.202">getStream</a>(boolean useHBaseChecksum)</pre> |
| <div class="block">Get the stream to use. Thread-safe.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>useHBaseChecksum</code> - must be the value that shouldUseHBaseChecksum has returned |
| at some point in the past, otherwise the result is undefined.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="fallbackToFsChecksum-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>fallbackToFsChecksum</h4> |
| <pre>public org.apache.hadoop.fs.FSDataInputStream <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.210">fallbackToFsChecksum</a>(int offCount) |
| 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">Read from non-checksum stream failed, fall back to FS checksum. Thread-safe.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>offCount</code> - For how many checksumOk calls to turn off the HBase checksum.</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="checksumOk--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checksumOk</h4> |
| <pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.229">checksumOk</a>()</pre> |
| <div class="block">Report that checksum was ok, so we may ponder going back to HBase checksum.</div> |
| </li> |
| </ul> |
| <a name="updateInputStreamStatistics-org.apache.hadoop.fs.FSDataInputStream-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>updateInputStreamStatistics</h4> |
| <pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.238">updateInputStreamStatistics</a>(org.apache.hadoop.fs.FSDataInputStream stream)</pre> |
| </li> |
| </ul> |
| <a name="getTotalBytesRead--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTotalBytesRead</h4> |
| <pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.260">getTotalBytesRead</a>()</pre> |
| </li> |
| </ul> |
| <a name="getLocalBytesRead--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getLocalBytesRead</h4> |
| <pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.266">getLocalBytesRead</a>()</pre> |
| </li> |
| </ul> |
| <a name="getShortCircuitBytesRead--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getShortCircuitBytesRead</h4> |
| <pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.272">getShortCircuitBytesRead</a>()</pre> |
| </li> |
| </ul> |
| <a name="getZeroCopyBytesRead--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getZeroCopyBytesRead</h4> |
| <pre>public static long <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.278">getZeroCopyBytesRead</a>()</pre> |
| </li> |
| </ul> |
| <a name="close--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>close</h4> |
| <pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.286">close</a>()</pre> |
| <div class="block">CloseClose stream(s) if necessary.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code> in interface <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getHfs--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getHfs</h4> |
| <pre>public <a href="../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.299">getHfs</a>()</pre> |
| </li> |
| </ul> |
| <a name="unbuffer--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>unbuffer</h4> |
| <pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html#line.315">unbuffer</a>()</pre> |
| <div class="block">This will free sockets and file descriptors held by the stream only when the stream implements |
| org.apache.hadoop.fs.CanUnbuffer. NOT THREAD SAFE. Must be called only when all the clients |
| using this stream to read the blocks have finished reading. If by chance the stream is |
| unbuffered and there are clients still holding this stream for read then on next client read |
| request a new socket will be opened by Datanode without client knowing about it and will serve |
| its read request. Note: If this socket is idle for some time then the DataNode will close the |
| socket and the socket will move into CLOSE_WAIT state and on the next client request on this |
| stream, the current socket will be closed and a new socket will be opened to serve the |
| requests.</div> |
| </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/FSDataInputStreamWrapper.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/FileLink.FileLinkInputStream.html" title="class in org.apache.hadoop.hbase.io"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.ReadStatistics.html" title="class in org.apache.hadoop.hbase.io"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html" target="_top">Frames</a></li> |
| <li><a href="FSDataInputStreamWrapper.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../allclasses-noframe.html">All 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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 © 2007–2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |