blob: 15953f42506b0491dfe603468f7391c16574b554 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (17) -->
<title>HdfsClientBlobStore (Storm 2.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.storm.hdfs.blobstore, class: HdfsClientBlobStore">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/HdfsClientBlobStore.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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.storm.hdfs.blobstore</a></div>
<h1 title="Class HdfsClientBlobStore" class="title">Class HdfsClientBlobStore</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">org.apache.storm.blobstore.ClientBlobStore</a>
<div class="inheritance">org.apache.storm.hdfs.blobstore.HdfsClientBlobStore</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code>, <code><a href="../../daemon/Shutdownable.html" title="interface in org.apache.storm.daemon">Shutdownable</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">HdfsClientBlobStore</span>
<span class="extends-implements">extends <a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></span></div>
<div class="block">Client to access the HDFS blobStore. At this point, this is meant to only be used by the
supervisor. Don't trust who the client says they are so pass null for all Subjects.
<p>The HdfsBlobStore implementation takes care of the null Subjects. It assigns Subjects
based on what hadoop says who the users are. These users must be configured accordingly
in the SUPERVISOR_ADMINS for ACL validation and for the supervisors to download the blobs.
This API is only used by the supervisor in order to talk directly to HDFS.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.apache.storm.blobstore.ClientBlobStore">Nested classes/interfaces inherited from class&nbsp;org.apache.storm.blobstore.<a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></h2>
<code><a href="../../blobstore/ClientBlobStore.WithBlobstore.html" title="interface in org.apache.storm.blobstore">ClientBlobStore.WithBlobstore</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">HdfsClientBlobStore</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#close()" class="member-name-link">close</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../blobstore/AtomicOutputStream.html" title="class in org.apache.storm.blobstore">AtomicOutputStream</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createBlobToExtend(java.lang.String,org.apache.storm.generated.SettableBlobMeta)" class="member-name-link">createBlobToExtend</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="../../generated/SettableBlobMeta.html" title="class in org.apache.storm.generated">SettableBlobMeta</a>&nbsp;meta)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client facing API to create a blob.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createStateInZookeeper(java.lang.String)" class="member-name-link">createStateInZookeeper</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates state inside a zookeeper.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#deleteBlob(java.lang.String)" class="member-name-link">deleteBlob</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client facing API to delete a blob.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../blobstore/InputStreamWithMeta.html" title="class in org.apache.storm.blobstore">InputStreamWithMeta</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getBlob(java.lang.String)" class="member-name-link">getBlob</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client facing API to read a blob.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../generated/ReadableBlobMeta.html" title="class in org.apache.storm.generated">ReadableBlobMeta</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getBlobMeta(java.lang.String)" class="member-name-link">getBlobMeta</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client facing API to read the metadata information.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getBlobReplication(java.lang.String)" class="member-name-link">getBlobReplication</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client facing API to read the replication of a blob.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRemoteBlobstoreUpdateTime()" class="member-name-link">getRemoteBlobstoreUpdateTime</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client facing API to get the last update time of existing blobs in a blobstore.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isRemoteBlobExists(java.lang.String)" class="member-name-link">isRemoteBlobExists</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;blobKey)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Decide if the blob is deleted from cluster.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#listKeys()" class="member-name-link">listKeys</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">List keys.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#prepare(java.util.Map)" class="member-name-link">prepare</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;&nbsp;conf)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets up the client API by parsing the configs.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setBlobMetaToExtend(java.lang.String,org.apache.storm.generated.SettableBlobMeta)" class="member-name-link">setBlobMetaToExtend</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="../../generated/SettableBlobMeta.html" title="class in org.apache.storm.generated">SettableBlobMeta</a>&nbsp;meta)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client facing API to set the metadata for a blob.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setClient(java.util.Map,org.apache.storm.utils.NimbusClient)" class="member-name-link">setClient</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;&nbsp;conf,
<a href="../../utils/NimbusClient.html" title="class in org.apache.storm.utils">NimbusClient</a>&nbsp;client)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client facing API to set a nimbus client.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#shutdown()" class="member-name-link">shutdown</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../blobstore/AtomicOutputStream.html" title="class in org.apache.storm.blobstore">AtomicOutputStream</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateBlob(java.lang.String)" class="member-name-link">updateBlob</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client facing API to update a blob.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateBlobReplication(java.lang.String,int)" class="member-name-link">updateBlobReplication</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
int&nbsp;replication)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Client facing API to update the replication of a blob.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.storm.blobstore.ClientBlobStore">Methods inherited from class&nbsp;org.apache.storm.blobstore.<a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></h3>
<code><a href="../../blobstore/ClientBlobStore.html#createBlob(java.lang.String,org.apache.storm.generated.SettableBlobMeta)">createBlob</a>, <a href="../../blobstore/ClientBlobStore.html#setBlobMeta(java.lang.String,org.apache.storm.generated.SettableBlobMeta)">setBlobMeta</a>, <a href="../../blobstore/ClientBlobStore.html#withConfiguredClient(org.apache.storm.blobstore.ClientBlobStore.WithBlobstore)">withConfiguredClient</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>HdfsClientBlobStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">HdfsClientBlobStore</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="prepare(java.util.Map)">
<h3>prepare</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">prepare</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;&nbsp;conf)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#prepare(java.util.Map)">ClientBlobStore</a></code></span></div>
<div class="block">Sets up the client API by parsing the configs.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#prepare(java.util.Map)">prepare</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>conf</code> - The storm conf containing the config details</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createBlobToExtend(java.lang.String,org.apache.storm.generated.SettableBlobMeta)">
<h3>createBlobToExtend</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../blobstore/AtomicOutputStream.html" title="class in org.apache.storm.blobstore">AtomicOutputStream</a></span>&nbsp;<span class="element-name">createBlobToExtend</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="../../generated/SettableBlobMeta.html" title="class in org.apache.storm.generated">SettableBlobMeta</a>&nbsp;meta)</span>
throws <span class="exceptions"><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a>,
<a href="../../generated/KeyAlreadyExistsException.html" title="class in org.apache.storm.generated">KeyAlreadyExistsException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#createBlobToExtend(java.lang.String,org.apache.storm.generated.SettableBlobMeta)">ClientBlobStore</a></code></span></div>
<div class="block">Client facing API to create a blob.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#createBlobToExtend(java.lang.String,org.apache.storm.generated.SettableBlobMeta)">createBlobToExtend</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>key</code> - blob key name</dd>
<dd><code>meta</code> - contains ACL information</dd>
<dt>Returns:</dt>
<dd>AtomicOutputStream returns an output stream into which data can be written</dd>
<dt>Throws:</dt>
<dd><code><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
<dd><code><a href="../../generated/KeyAlreadyExistsException.html" title="class in org.apache.storm.generated">KeyAlreadyExistsException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updateBlob(java.lang.String)">
<h3>updateBlob</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../blobstore/AtomicOutputStream.html" title="class in org.apache.storm.blobstore">AtomicOutputStream</a></span>&nbsp;<span class="element-name">updateBlob</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</span>
throws <span class="exceptions"><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a>,
<a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#updateBlob(java.lang.String)">ClientBlobStore</a></code></span></div>
<div class="block">Client facing API to update a blob.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#updateBlob(java.lang.String)">updateBlob</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>key</code> - blob key name</dd>
<dt>Returns:</dt>
<dd>AtomicOutputStream returns an output stream into which data can be written</dd>
<dt>Throws:</dt>
<dd><code><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
<dd><code><a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBlobMeta(java.lang.String)">
<h3>getBlobMeta</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../generated/ReadableBlobMeta.html" title="class in org.apache.storm.generated">ReadableBlobMeta</a></span>&nbsp;<span class="element-name">getBlobMeta</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</span>
throws <span class="exceptions"><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a>,
<a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#getBlobMeta(java.lang.String)">ClientBlobStore</a></code></span></div>
<div class="block">Client facing API to read the metadata information.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#getBlobMeta(java.lang.String)">getBlobMeta</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>key</code> - blob key name</dd>
<dt>Returns:</dt>
<dd>AtomicOutputStream returns an output stream into which data can be written</dd>
<dt>Throws:</dt>
<dd><code><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
<dd><code><a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isRemoteBlobExists(java.lang.String)">
<h3>isRemoteBlobExists</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isRemoteBlobExists</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;blobKey)</span>
throws <span class="exceptions"><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#isRemoteBlobExists(java.lang.String)">ClientBlobStore</a></code></span></div>
<div class="block">Decide if the blob is deleted from cluster.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#isRemoteBlobExists(java.lang.String)">isRemoteBlobExists</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>blobKey</code> - blob key</dd>
<dt>Throws:</dt>
<dd><code><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setBlobMetaToExtend(java.lang.String,org.apache.storm.generated.SettableBlobMeta)">
<h3>setBlobMetaToExtend</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setBlobMetaToExtend</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
<a href="../../generated/SettableBlobMeta.html" title="class in org.apache.storm.generated">SettableBlobMeta</a>&nbsp;meta)</span>
throws <span class="exceptions"><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a>,
<a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#setBlobMetaToExtend(java.lang.String,org.apache.storm.generated.SettableBlobMeta)">ClientBlobStore</a></code></span></div>
<div class="block">Client facing API to set the metadata for a blob.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#setBlobMetaToExtend(java.lang.String,org.apache.storm.generated.SettableBlobMeta)">setBlobMetaToExtend</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>key</code> - blob key name</dd>
<dd><code>meta</code> - contains ACL information</dd>
<dt>Throws:</dt>
<dd><code><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
<dd><code><a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="deleteBlob(java.lang.String)">
<h3>deleteBlob</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">deleteBlob</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</span>
throws <span class="exceptions"><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a>,
<a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#deleteBlob(java.lang.String)">ClientBlobStore</a></code></span></div>
<div class="block">Client facing API to delete a blob.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#deleteBlob(java.lang.String)">deleteBlob</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>key</code> - blob key name</dd>
<dt>Throws:</dt>
<dd><code><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
<dd><code><a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBlob(java.lang.String)">
<h3>getBlob</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../blobstore/InputStreamWithMeta.html" title="class in org.apache.storm.blobstore">InputStreamWithMeta</a></span>&nbsp;<span class="element-name">getBlob</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</span>
throws <span class="exceptions"><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a>,
<a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#getBlob(java.lang.String)">ClientBlobStore</a></code></span></div>
<div class="block">Client facing API to read a blob.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#getBlob(java.lang.String)">getBlob</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>key</code> - blob key name</dd>
<dt>Returns:</dt>
<dd>an InputStream to read the metadata for a blob</dd>
<dt>Throws:</dt>
<dd><code><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
<dd><code><a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="listKeys()">
<h3>listKeys</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">listKeys</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#listKeys()">ClientBlobStore</a></code></span></div>
<div class="block">List keys.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#listKeys()">listKeys</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Returns:</dt>
<dd>Iterator for a list of keys currently present in the blob store.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBlobReplication(java.lang.String)">
<h3>getBlobReplication</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getBlobReplication</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</span>
throws <span class="exceptions"><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a>,
<a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#getBlobReplication(java.lang.String)">ClientBlobStore</a></code></span></div>
<div class="block">Client facing API to read the replication of a blob.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#getBlobReplication(java.lang.String)">getBlobReplication</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>key</code> - blob key name</dd>
<dt>Returns:</dt>
<dd>int indicates the replication factor of a blob</dd>
<dt>Throws:</dt>
<dd><code><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
<dd><code><a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updateBlobReplication(java.lang.String,int)">
<h3>updateBlobReplication</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">updateBlobReplication</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key,
int&nbsp;replication)</span>
throws <span class="exceptions"><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a>,
<a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#updateBlobReplication(java.lang.String,int)">ClientBlobStore</a></code></span></div>
<div class="block">Client facing API to update the replication of a blob.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#updateBlobReplication(java.lang.String,int)">updateBlobReplication</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>key</code> - blob key name</dd>
<dd><code>replication</code> - int indicates the replication factor a blob has to be set</dd>
<dt>Returns:</dt>
<dd>int indicates the replication factor of a blob</dd>
<dt>Throws:</dt>
<dd><code><a href="../../generated/AuthorizationException.html" title="class in org.apache.storm.generated">AuthorizationException</a></code></dd>
<dd><code><a href="../../generated/KeyNotFoundException.html" title="class in org.apache.storm.generated">KeyNotFoundException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setClient(java.util.Map,org.apache.storm.utils.NimbusClient)">
<h3>setClient</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">setClient</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;&nbsp;conf,
<a href="../../utils/NimbusClient.html" title="class in org.apache.storm.utils">NimbusClient</a>&nbsp;client)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#setClient(java.util.Map,org.apache.storm.utils.NimbusClient)">ClientBlobStore</a></code></span></div>
<div class="block">Client facing API to set a nimbus client.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#setClient(java.util.Map,org.apache.storm.utils.NimbusClient)">setClient</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>conf</code> - storm conf</dd>
<dd><code>client</code> - NimbusClient</dd>
<dt>Returns:</dt>
<dd>indicates where the client connection has been setup.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createStateInZookeeper(java.lang.String)">
<h3>createStateInZookeeper</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">createStateInZookeeper</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#createStateInZookeeper(java.lang.String)">ClientBlobStore</a></code></span></div>
<div class="block">Creates state inside a zookeeper. Required for blobstore to write to zookeeper when Nimbus HA is turned on in
order to maintain state consistency.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#createStateInZookeeper(java.lang.String)">createStateInZookeeper</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="shutdown()">
<h3>shutdown</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">shutdown</span>()</div>
</section>
</li>
<li>
<section class="detail" id="close()">
<h3>close</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">close</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html#close()" title="class or interface in java.lang" class="external-link">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#close()">close</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemoteBlobstoreUpdateTime()">
<h3>getRemoteBlobstoreUpdateTime</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">getRemoteBlobstoreUpdateTime</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../blobstore/ClientBlobStore.html#getRemoteBlobstoreUpdateTime()">ClientBlobStore</a></code></span></div>
<div class="block">Client facing API to get the last update time of existing blobs in a blobstore. This is only required for use on
supervisors.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../blobstore/ClientBlobStore.html#getRemoteBlobstoreUpdateTime()">getRemoteBlobstoreUpdateTime</a></code>&nbsp;in class&nbsp;<code><a href="../../blobstore/ClientBlobStore.html" title="class in org.apache.storm.blobstore">ClientBlobStore</a></code></dd>
<dt>Returns:</dt>
<dd>the timestamp of when the blobstore was last updated. -1L if the blobstore
does not support this.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>