This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/drill-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 173753886 Automatic Site Publish by Buildbot
173753886 is described below
commit 173753886b650b332f148733d0e4c7e585745d9c
Author: buildbot <[email protected]>
AuthorDate: Sat Jan 21 10:27:38 2023 +0000
Automatic Site Publish by Buildbot
---
output/docs/splunk-storage-plugin/index.html | 28 ++++++++-----------------
output/docs/using-the-jdbc-driver/index.html | 25 +++++++++++++++++++++-
output/feed.xml | 4 ++--
output/zh/docs/splunk-storage-plugin/index.html | 28 ++++++++-----------------
output/zh/docs/using-the-jdbc-driver/index.html | 25 +++++++++++++++++++++-
output/zh/feed.xml | 4 ++--
6 files changed, 70 insertions(+), 44 deletions(-)
diff --git a/output/docs/splunk-storage-plugin/index.html
b/output/docs/splunk-storage-plugin/index.html
index dee5aad14..e978ca186 100644
--- a/output/docs/splunk-storage-plugin/index.html
+++ b/output/docs/splunk-storage-plugin/index.html
@@ -1523,7 +1523,7 @@ containing the following properties.</p>
<td>scheme</td>
<td>https</td>
<td>The scheme with which to access the Splunk host</td>
- <td>2.0</td>
+ <td>1.21</td>
</tr>
<tr>
<td>hostname</td>
@@ -1552,32 +1552,32 @@ containing the following properties.</p>
<tr>
<td>app</td>
<td>null</td>
- <td>The application context of the service<sup id="fnref:1"
role="doc-noteref"><a href="#fn:1" class="footnote"
rel="footnote">1</a></sup></td>
- <td>2.0</td>
+ <td>The application context of the service[^1]</td>
+ <td>1.21</td>
</tr>
<tr>
<td>owner</td>
<td>null</td>
- <td>The owner context of the service<sup id="fnref:1:1"
role="doc-noteref"><a href="#fn:1" class="footnote"
rel="footnote">1</a></sup></td>
- <td>2.0</td>
+ <td>The owner context of the service[^1]</td>
+ <td>1.21</td>
</tr>
<tr>
<td>token</td>
<td>null</td>
- <td>A Splunk authentication token to use for the session<sup
id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote"
rel="footnote">2</a></sup></td>
- <td>2.0</td>
+ <td>A Splunk authentication token to use for the session[^2]</td>
+ <td>1.21</td>
</tr>
<tr>
<td>cookie</td>
<td>null</td>
<td>A valid login cookie</td>
- <td>2.0</td>
+ <td>1.21</td>
</tr>
<tr>
<td>validateCertificates</td>
<td>true</td>
<td>Whether the Splunk client will validates the server’s SSL cert</td>
- <td>2.0</td>
+ <td>1.21</td>
</tr>
</tbody>
</table>
@@ -1737,16 +1737,6 @@ filter as shown below:</p>
<span class="k">FROM</span> <span class="n">splunk</span><span
class="p">.</span><span class="n">spl</span>
<span class="k">WHERE</span> <span class="n">spl</span><span
class="o">=</span><span class="s1">'<your SPL query>'</span>
</code></pre></div></div>
-<div class="footnotes" role="doc-endnotes">
- <ol>
- <li id="fn:1" role="doc-endnote">
- <p>See <a
href="https://docs.splunk.com/Documentation/Splunk/latest/Admin/Apparchitectureandobjectownership">this
Splunk documentation</a> for more information. <a href="#fnref:1"
class="reversefootnote" role="doc-backlink">↩</a> <a href="#fnref:1:1"
class="reversefootnote" role="doc-backlink">↩<sup>2</sup></a></p>
- </li>
- <li id="fn:2" role="doc-endnote">
- <p>See <a
href="https://docs.splunk.com/Documentation/Splunk/latest/Security/CreateAuthTokens">this
Splunk documentation</a> for more information. <a href="#fnref:2"
class="reversefootnote" role="doc-backlink">↩</a></p>
- </li>
- </ol>
-</div>
diff --git a/output/docs/using-the-jdbc-driver/index.html
b/output/docs/using-the-jdbc-driver/index.html
index 9283941f6..83e4ebf37 100644
--- a/output/docs/using-the-jdbc-driver/index.html
+++ b/output/docs/using-the-jdbc-driver/index.html
@@ -1561,7 +1561,7 @@ drill.exec: {
<p><code class="language-plaintext highlighter-rouge">drillbit=<node
name></code> specifies one or more host names or IP addresses of cluster
nodes running Drill.</p>
-<p>###<code class="language-plaintext highlighter-rouge">tries</code>
Parameter</p>
+<h3 id="tries-parameter"><code class="language-plaintext
highlighter-rouge">tries</code> Parameter</h3>
<p>As of Drill 1.10, you can include the optional <code
class="language-plaintext highlighter-rouge">tries=<value></code>
parameter in the connection string, as shown in the following URL:</p>
@@ -1603,6 +1603,29 @@ System.out.println(rs.getString(1));
}
</code></pre></div></div>
+<h2 id="ensuring-the-completion-of-ctas-queries">Ensuring the completion of
CTAS queries</h2>
+
+<p>When a JDBC client issues a CTAS (CREATE TABLE AS SELECT …) statement then
Drill will return a record for each completed writer fragment containing the
number of records that fragment wrote. These records are returned in the usual
streaming fashion as writer fragments complete, their order being unknowable in
advance. If the client application immediately closes its clientside JDBC
resources after its call to Statement.executeQuery has returned as follows</p>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nc">Statement</span> <span
class="n">ctasStatement</span> <span class="o">=</span> <span
class="n">conn</span><span class="o">.</span><span
class="na">createStatement</span><span class="o">();</span>
+<span class="nc">ResultSet</span> <span class="n">ctasResults</span> <span
class="o">=</span> <span class="n">ctasStatement</span><span
class="o">.</span><span class="na">executeQuery</span><span
class="o">(</span><span class="n">ctasQueryText</span><span class="o">);</span>
+<span class="n">ctasResults</span><span class="o">.</span><span
class="na">close</span><span class="o">();</span>
+<span class="n">ctasStatement</span><span class="o">.</span><span
class="na">close</span><span class="o">();</span>
+</code></pre></div></div>
+<p>then it may be that the CTAS statement is still executing, and that is
unintentionally cancelled before completing depending on good or bad luck with
respect to timing.</p>
+
+<p>The cancellation of the CTAS statement is usually benign if it spawned only
one writer fragment, but if it spawned more than one then the chances increase
that at least one writer will be interrupted before it has finished writing,
resulting in incomplete or even corrupted output. Even in the benign case, such
queries conclude in the CANCELLED state rather than the COMPLETED state
resulting in misleading query logs and profiles.</p>
+
+<p>To have CTAS queries reliably run to completion the JDBC client should wait
for all of the writer fragments to complete before it closes its JDBC resources
by scrolling through the ResultSet before closing it. Using try-with-resources
syntax,</p>
+
+<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">try</span> <span class="o">(</span>
+ <span class="nc">Statement</span> <span class="n">ctasStatement</span> <span
class="o">=</span> <span class="n">conn</span><span class="o">.</span><span
class="na">createStatement</span><span class="o">();</span>
+ <span class="nc">ResultSet</span> <span class="n">ctasResults</span> <span
class="o">=</span> <span class="n">ctasStatement</span><span
class="o">.</span><span class="na">executeQuery</span><span
class="o">(</span><span class="n">ctasQueryText</span><span class="o">);</span>
+<span class="o">)</span> <span class="o">{</span>
+ <span class="k">while</span> <span class="o">(</span><span
class="n">ctasResults</span><span class="o">.</span><span
class="na">next</span><span class="o">());</span> <span class="c1">// scroll
through results to ensure that we wait for query completion</span>
+<span class="o">}</span>
+</code></pre></div></div>
+
+
<div class="doc-nav">
diff --git a/output/feed.xml b/output/feed.xml
index 674001c0d..03a9afe7c 100644
--- a/output/feed.xml
+++ b/output/feed.xml
@@ -6,8 +6,8 @@
</description>
<link>/</link>
<atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
- <pubDate>Sat, 07 Jan 2023 13:10:39 +0000</pubDate>
- <lastBuildDate>Sat, 07 Jan 2023 13:10:39 +0000</lastBuildDate>
+ <pubDate>Sat, 21 Jan 2023 10:25:29 +0000</pubDate>
+ <lastBuildDate>Sat, 21 Jan 2023 10:25:29 +0000</lastBuildDate>
<generator>Jekyll v3.9.1</generator>
<item>
diff --git a/output/zh/docs/splunk-storage-plugin/index.html
b/output/zh/docs/splunk-storage-plugin/index.html
index ba5be604a..22ded5e3a 100644
--- a/output/zh/docs/splunk-storage-plugin/index.html
+++ b/output/zh/docs/splunk-storage-plugin/index.html
@@ -1523,7 +1523,7 @@ containing the following properties.</p>
<td>scheme</td>
<td>https</td>
<td>The scheme with which to access the Splunk host</td>
- <td>2.0</td>
+ <td>1.21</td>
</tr>
<tr>
<td>hostname</td>
@@ -1552,32 +1552,32 @@ containing the following properties.</p>
<tr>
<td>app</td>
<td>null</td>
- <td>The application context of the service<sup id="fnref:1"
role="doc-noteref"><a href="#fn:1" class="footnote"
rel="footnote">1</a></sup></td>
- <td>2.0</td>
+ <td>The application context of the service[^1]</td>
+ <td>1.21</td>
</tr>
<tr>
<td>owner</td>
<td>null</td>
- <td>The owner context of the service<sup id="fnref:1:1"
role="doc-noteref"><a href="#fn:1" class="footnote"
rel="footnote">1</a></sup></td>
- <td>2.0</td>
+ <td>The owner context of the service[^1]</td>
+ <td>1.21</td>
</tr>
<tr>
<td>token</td>
<td>null</td>
- <td>A Splunk authentication token to use for the session<sup
id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote"
rel="footnote">2</a></sup></td>
- <td>2.0</td>
+ <td>A Splunk authentication token to use for the session[^2]</td>
+ <td>1.21</td>
</tr>
<tr>
<td>cookie</td>
<td>null</td>
<td>A valid login cookie</td>
- <td>2.0</td>
+ <td>1.21</td>
</tr>
<tr>
<td>validateCertificates</td>
<td>true</td>
<td>Whether the Splunk client will validates the server’s SSL cert</td>
- <td>2.0</td>
+ <td>1.21</td>
</tr>
</tbody>
</table>
@@ -1737,16 +1737,6 @@ filter as shown below:</p>
<span class="k">FROM</span> <span class="n">splunk</span><span
class="p">.</span><span class="n">spl</span>
<span class="k">WHERE</span> <span class="n">spl</span><span
class="o">=</span><span class="s1">'<your SPL query>'</span>
</code></pre></div></div>
-<div class="footnotes" role="doc-endnotes">
- <ol>
- <li id="fn:1" role="doc-endnote">
- <p>See <a
href="https://docs.splunk.com/Documentation/Splunk/latest/Admin/Apparchitectureandobjectownership">this
Splunk documentation</a> for more information. <a href="#fnref:1"
class="reversefootnote" role="doc-backlink">↩</a> <a href="#fnref:1:1"
class="reversefootnote" role="doc-backlink">↩<sup>2</sup></a></p>
- </li>
- <li id="fn:2" role="doc-endnote">
- <p>See <a
href="https://docs.splunk.com/Documentation/Splunk/latest/Security/CreateAuthTokens">this
Splunk documentation</a> for more information. <a href="#fnref:2"
class="reversefootnote" role="doc-backlink">↩</a></p>
- </li>
- </ol>
-</div>
diff --git a/output/zh/docs/using-the-jdbc-driver/index.html
b/output/zh/docs/using-the-jdbc-driver/index.html
index 9cbd1e429..111386299 100644
--- a/output/zh/docs/using-the-jdbc-driver/index.html
+++ b/output/zh/docs/using-the-jdbc-driver/index.html
@@ -1561,7 +1561,7 @@ drill.exec: {
<p><code class="language-plaintext highlighter-rouge">drillbit=<node
name></code> specifies one or more host names or IP addresses of cluster
nodes running Drill.</p>
-<p>###<code class="language-plaintext highlighter-rouge">tries</code>
Parameter</p>
+<h3 id="tries-parameter"><code class="language-plaintext
highlighter-rouge">tries</code> Parameter</h3>
<p>As of Drill 1.10, you can include the optional <code
class="language-plaintext highlighter-rouge">tries=<value></code>
parameter in the connection string, as shown in the following URL:</p>
@@ -1603,6 +1603,29 @@ System.out.println(rs.getString(1));
}
</code></pre></div></div>
+<h2 id="ensuring-the-completion-of-ctas-queries">Ensuring the completion of
CTAS queries</h2>
+
+<p>When a JDBC client issues a CTAS (CREATE TABLE AS SELECT …) statement then
Drill will return a record for each completed writer fragment containing the
number of records that fragment wrote. These records are returned in the usual
streaming fashion as writer fragments complete, their order being unknowable in
advance. If the client application immediately closes its clientside JDBC
resources after its call to Statement.executeQuery has returned as follows</p>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nc">Statement</span> <span
class="n">ctasStatement</span> <span class="o">=</span> <span
class="n">conn</span><span class="o">.</span><span
class="na">createStatement</span><span class="o">();</span>
+<span class="nc">ResultSet</span> <span class="n">ctasResults</span> <span
class="o">=</span> <span class="n">ctasStatement</span><span
class="o">.</span><span class="na">executeQuery</span><span
class="o">(</span><span class="n">ctasQueryText</span><span class="o">);</span>
+<span class="n">ctasResults</span><span class="o">.</span><span
class="na">close</span><span class="o">();</span>
+<span class="n">ctasStatement</span><span class="o">.</span><span
class="na">close</span><span class="o">();</span>
+</code></pre></div></div>
+<p>then it may be that the CTAS statement is still executing, and that is
unintentionally cancelled before completing depending on good or bad luck with
respect to timing.</p>
+
+<p>The cancellation of the CTAS statement is usually benign if it spawned only
one writer fragment, but if it spawned more than one then the chances increase
that at least one writer will be interrupted before it has finished writing,
resulting in incomplete or even corrupted output. Even in the benign case, such
queries conclude in the CANCELLED state rather than the COMPLETED state
resulting in misleading query logs and profiles.</p>
+
+<p>To have CTAS queries reliably run to completion the JDBC client should wait
for all of the writer fragments to complete before it closes its JDBC resources
by scrolling through the ResultSet before closing it. Using try-with-resources
syntax,</p>
+
+<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">try</span> <span class="o">(</span>
+ <span class="nc">Statement</span> <span class="n">ctasStatement</span> <span
class="o">=</span> <span class="n">conn</span><span class="o">.</span><span
class="na">createStatement</span><span class="o">();</span>
+ <span class="nc">ResultSet</span> <span class="n">ctasResults</span> <span
class="o">=</span> <span class="n">ctasStatement</span><span
class="o">.</span><span class="na">executeQuery</span><span
class="o">(</span><span class="n">ctasQueryText</span><span class="o">);</span>
+<span class="o">)</span> <span class="o">{</span>
+ <span class="k">while</span> <span class="o">(</span><span
class="n">ctasResults</span><span class="o">.</span><span
class="na">next</span><span class="o">());</span> <span class="c1">// scroll
through results to ensure that we wait for query completion</span>
+<span class="o">}</span>
+</code></pre></div></div>
+
+
<div class="doc-nav">
diff --git a/output/zh/feed.xml b/output/zh/feed.xml
index 79a02ce83..843507afd 100644
--- a/output/zh/feed.xml
+++ b/output/zh/feed.xml
@@ -6,8 +6,8 @@
</description>
<link>/</link>
<atom:link href="/zh/feed.xml" rel="self" type="application/rss+xml"/>
- <pubDate>Sat, 07 Jan 2023 13:10:39 +0000</pubDate>
- <lastBuildDate>Sat, 07 Jan 2023 13:10:39 +0000</lastBuildDate>
+ <pubDate>Sat, 21 Jan 2023 10:25:29 +0000</pubDate>
+ <lastBuildDate>Sat, 21 Jan 2023 10:25:29 +0000</lastBuildDate>
<generator>Jekyll v3.9.1</generator>
<item>