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 <us...@infra.apache.org> 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>