You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by gi...@apache.org on 2024/12/14 12:06:02 UTC

(iceberg-rust) branch gh-pages updated: deploy: 748d37c8d552d3d001fe884699307f1522602961

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/iceberg-rust.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new 1040440d deploy: 748d37c8d552d3d001fe884699307f1522602961
1040440d is described below

commit 1040440d95ef245a20afb79146521a06dfa2e53f
Author: liurenjie1024 <li...@users.noreply.github.com>
AuthorDate: Sat Dec 14 12:05:57 2024 +0000

    deploy: 748d37c8d552d3d001fe884699307f1522602961
---
 api/help.html                               |  2 +-
 api/settings.html                           |  2 +-
 api/src/iceberg/io/object_cache.rs.html     | 18 +++++-
 api/src/iceberg_catalog_rest/client.rs.html | 98 ++++++++++++++++++++++++++---
 4 files changed, 108 insertions(+), 12 deletions(-)

diff --git a/api/help.html b/api/help.html
index b3855f23..886bccc7 100644
--- a/api/help.html
+++ b/api/help.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-5 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-5 [...]
\ No newline at end of file
diff --git a/api/settings.html b/api/settings.html
index 0b4d7eab..430a9162 100644
--- a/api/settings.html
+++ b/api/settings.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562 [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Settings</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562 [...]
\ No newline at end of file
diff --git a/api/src/iceberg/io/object_cache.rs.html b/api/src/iceberg/io/object_cache.rs.html
index f3f9014d..09fa6659 100644
--- a/api/src/iceberg/io/object_cache.rs.html
+++ b/api/src/iceberg/io/object_cache.rs.html
@@ -399,6 +399,14 @@
 <a href="#399" id="399">399</a>
 <a href="#400" id="400">400</a>
 <a href="#401" id="401">401</a>
+<a href="#402" id="402">402</a>
+<a href="#403" id="403">403</a>
+<a href="#404" id="404">404</a>
+<a href="#405" id="405">405</a>
+<a href="#406" id="406">406</a>
+<a href="#407" id="407">407</a>
+<a href="#408" id="408">408</a>
+<a href="#409" id="409">409</a>
 </pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
@@ -542,7 +550,15 @@
             .entry_by_ref(<span class="kw-2">&amp;</span>key)
             .or_try_insert_with(<span class="self">self</span>.fetch_and_parse_manifest_list(snapshot, table_metadata))
             .<span class="kw">await
-            </span>.map_err(|err| Error::new(ErrorKind::Unexpected, err.as_ref().message()))<span class="question-mark">?
+            </span>.map_err(|err| {
+                Arc::try_unwrap(err).unwrap_or_else(|err| {
+                    Error::new(
+                        ErrorKind::Unexpected,
+                        <span class="string">"Failed to load manifest list in cache"</span>,
+                    )
+                    .with_source(err)
+                })
+            })<span class="question-mark">?
             </span>.into_value();
 
         <span class="kw">match </span>cache_entry {
diff --git a/api/src/iceberg_catalog_rest/client.rs.html b/api/src/iceberg_catalog_rest/client.rs.html
index cac29afe..998577f3 100644
--- a/api/src/iceberg_catalog_rest/client.rs.html
+++ b/api/src/iceberg_catalog_rest/client.rs.html
@@ -275,6 +275,46 @@
 <a href="#275" id="275">275</a>
 <a href="#276" id="276">276</a>
 <a href="#277" id="277">277</a>
+<a href="#278" id="278">278</a>
+<a href="#279" id="279">279</a>
+<a href="#280" id="280">280</a>
+<a href="#281" id="281">281</a>
+<a href="#282" id="282">282</a>
+<a href="#283" id="283">283</a>
+<a href="#284" id="284">284</a>
+<a href="#285" id="285">285</a>
+<a href="#286" id="286">286</a>
+<a href="#287" id="287">287</a>
+<a href="#288" id="288">288</a>
+<a href="#289" id="289">289</a>
+<a href="#290" id="290">290</a>
+<a href="#291" id="291">291</a>
+<a href="#292" id="292">292</a>
+<a href="#293" id="293">293</a>
+<a href="#294" id="294">294</a>
+<a href="#295" id="295">295</a>
+<a href="#296" id="296">296</a>
+<a href="#297" id="297">297</a>
+<a href="#298" id="298">298</a>
+<a href="#299" id="299">299</a>
+<a href="#300" id="300">300</a>
+<a href="#301" id="301">301</a>
+<a href="#302" id="302">302</a>
+<a href="#303" id="303">303</a>
+<a href="#304" id="304">304</a>
+<a href="#305" id="305">305</a>
+<a href="#306" id="306">306</a>
+<a href="#307" id="307">307</a>
+<a href="#308" id="308">308</a>
+<a href="#309" id="309">309</a>
+<a href="#310" id="310">310</a>
+<a href="#311" id="311">311</a>
+<a href="#312" id="312">312</a>
+<a href="#313" id="313">313</a>
+<a href="#314" id="314">314</a>
+<a href="#315" id="315">315</a>
+<a href="#316" id="316">316</a>
+<a href="#317" id="317">317</a>
 </pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
@@ -411,28 +451,39 @@
             .request(Method::POST, <span class="kw-2">&amp;</span><span class="self">self</span>.token_endpoint)
             .form(<span class="kw-2">&amp;</span>params)
             .build()<span class="question-mark">?</span>;
+        <span class="kw">let </span>auth_url = auth_req.url().clone();
         <span class="kw">let </span>auth_resp = <span class="self">self</span>.client.execute(auth_req).<span class="kw">await</span><span class="question-mark">?</span>;
 
         <span class="kw">let </span>auth_res: TokenResponse = <span class="kw">if </span>auth_resp.status().as_u16() == OK {
-            <span class="kw">let </span>text = auth_resp.bytes().<span class="kw">await</span><span class="question-mark">?</span>;
+            <span class="kw">let </span>text = auth_resp
+                .bytes()
+                .<span class="kw">await
+                </span>.map_err(|err| err.with_url(auth_url.clone()))<span class="question-mark">?</span>;
             <span class="prelude-val">Ok</span>(serde_json::from_slice(<span class="kw-2">&amp;</span>text).map_err(|e| {
                 Error::new(
                     ErrorKind::Unexpected,
                     <span class="string">"Failed to parse response from rest catalog server!"</span>,
                 )
+                .with_context(<span class="string">"operation"</span>, <span class="string">"auth"</span>)
+                .with_context(<span class="string">"url"</span>, auth_url.to_string())
                 .with_context(<span class="string">"json"</span>, String::from_utf8_lossy(<span class="kw-2">&amp;</span>text))
                 .with_source(e)
             })<span class="question-mark">?</span>)
         } <span class="kw">else </span>{
             <span class="kw">let </span>code = auth_resp.status();
-            <span class="kw">let </span>text = auth_resp.bytes().<span class="kw">await</span><span class="question-mark">?</span>;
+            <span class="kw">let </span>text = auth_resp
+                .bytes()
+                .<span class="kw">await
+                </span>.map_err(|err| err.with_url(auth_url.clone()))<span class="question-mark">?</span>;
             <span class="kw">let </span>e: ErrorResponse = serde_json::from_slice(<span class="kw-2">&amp;</span>text).map_err(|e| {
                 Error::new(
                     ErrorKind::Unexpected,
                     <span class="string">"Failed to parse response from rest catalog server!"</span>,
                 )
-                .with_context(<span class="string">"json"</span>, String::from_utf8_lossy(<span class="kw-2">&amp;</span>text))
                 .with_context(<span class="string">"code"</span>, code.to_string())
+                .with_context(<span class="string">"operation"</span>, <span class="string">"auth"</span>)
+                .with_context(<span class="string">"url"</span>, auth_url.to_string())
+                .with_context(<span class="string">"json"</span>, String::from_utf8_lossy(<span class="kw-2">&amp;</span>text))
                 .with_source(e)
             })<span class="question-mark">?</span>;
             <span class="prelude-val">Err</span>(Error::from(e))
@@ -470,28 +521,41 @@
     ) -&gt; <span class="prelude-ty">Result</span>&lt;R&gt; {
         <span class="self">self</span>.authenticate(<span class="kw-2">&amp;mut </span>request).<span class="kw">await</span><span class="question-mark">?</span>;
 
+        <span class="kw">let </span>method = request.method().clone();
+        <span class="kw">let </span>url = request.url().clone();
+
         <span class="kw">let </span>resp = <span class="self">self</span>.client.execute(request).<span class="kw">await</span><span class="question-mark">?</span>;
 
         <span class="kw">if </span>resp.status().as_u16() == SUCCESS_CODE {
-            <span class="kw">let </span>text = resp.bytes().<span class="kw">await</span><span class="question-mark">?</span>;
+            <span class="kw">let </span>text = resp
+                .bytes()
+                .<span class="kw">await
+                </span>.map_err(|err| err.with_url(url.clone()))<span class="question-mark">?</span>;
             <span class="prelude-val">Ok</span>(serde_json::from_slice::&lt;R&gt;(<span class="kw-2">&amp;</span>text).map_err(|e| {
                 Error::new(
                     ErrorKind::Unexpected,
                     <span class="string">"Failed to parse response from rest catalog server!"</span>,
                 )
+                .with_context(<span class="string">"method"</span>, method.to_string())
+                .with_context(<span class="string">"url"</span>, url.to_string())
                 .with_context(<span class="string">"json"</span>, String::from_utf8_lossy(<span class="kw-2">&amp;</span>text))
                 .with_source(e)
             })<span class="question-mark">?</span>)
         } <span class="kw">else </span>{
             <span class="kw">let </span>code = resp.status();
-            <span class="kw">let </span>text = resp.bytes().<span class="kw">await</span><span class="question-mark">?</span>;
+            <span class="kw">let </span>text = resp
+                .bytes()
+                .<span class="kw">await
+                </span>.map_err(|err| err.with_url(url.clone()))<span class="question-mark">?</span>;
             <span class="kw">let </span>e = serde_json::from_slice::&lt;E&gt;(<span class="kw-2">&amp;</span>text).map_err(|e| {
                 Error::new(
                     ErrorKind::Unexpected,
                     <span class="string">"Failed to parse response from rest catalog server!"</span>,
                 )
-                .with_context(<span class="string">"json"</span>, String::from_utf8_lossy(<span class="kw-2">&amp;</span>text))
                 .with_context(<span class="string">"code"</span>, code.to_string())
+                .with_context(<span class="string">"method"</span>, method.to_string())
+                .with_context(<span class="string">"url"</span>, url.to_string())
+                .with_context(<span class="string">"json"</span>, String::from_utf8_lossy(<span class="kw-2">&amp;</span>text))
                 .with_source(e)
             })<span class="question-mark">?</span>;
             <span class="prelude-val">Err</span>(e.into())
@@ -504,20 +568,28 @@
     ) -&gt; <span class="prelude-ty">Result</span>&lt;()&gt; {
         <span class="self">self</span>.authenticate(<span class="kw-2">&amp;mut </span>request).<span class="kw">await</span><span class="question-mark">?</span>;
 
+        <span class="kw">let </span>method = request.method().clone();
+        <span class="kw">let </span>url = request.url().clone();
+
         <span class="kw">let </span>resp = <span class="self">self</span>.client.execute(request).<span class="kw">await</span><span class="question-mark">?</span>;
 
         <span class="kw">if </span>resp.status().as_u16() == SUCCESS_CODE {
             <span class="prelude-val">Ok</span>(())
         } <span class="kw">else </span>{
             <span class="kw">let </span>code = resp.status();
-            <span class="kw">let </span>text = resp.bytes().<span class="kw">await</span><span class="question-mark">?</span>;
+            <span class="kw">let </span>text = resp
+                .bytes()
+                .<span class="kw">await
+                </span>.map_err(|err| err.with_url(url.clone()))<span class="question-mark">?</span>;
             <span class="kw">let </span>e = serde_json::from_slice::&lt;E&gt;(<span class="kw-2">&amp;</span>text).map_err(|e| {
                 Error::new(
                     ErrorKind::Unexpected,
                     <span class="string">"Failed to parse response from rest catalog server!"</span>,
                 )
-                .with_context(<span class="string">"json"</span>, String::from_utf8_lossy(<span class="kw-2">&amp;</span>text))
                 .with_context(<span class="string">"code"</span>, code.to_string())
+                .with_context(<span class="string">"method"</span>, method.to_string())
+                .with_context(<span class="string">"url"</span>, url.to_string())
+                .with_context(<span class="string">"json"</span>, String::from_utf8_lossy(<span class="kw-2">&amp;</span>text))
                 .with_source(e)
             })<span class="question-mark">?</span>;
             <span class="prelude-val">Err</span>(e.into())
@@ -532,19 +604,27 @@
     ) -&gt; <span class="prelude-ty">Result</span>&lt;R&gt; {
         <span class="self">self</span>.authenticate(<span class="kw-2">&amp;mut </span>request).<span class="kw">await</span><span class="question-mark">?</span>;
 
+        <span class="kw">let </span>method = request.method().clone();
+        <span class="kw">let </span>url = request.url().clone();
+
         <span class="kw">let </span>resp = <span class="self">self</span>.client.execute(request).<span class="kw">await</span><span class="question-mark">?</span>;
 
         <span class="kw">if let </span><span class="prelude-val">Some</span>(ret) = handler(<span class="kw-2">&amp;</span>resp) {
             <span class="prelude-val">Ok</span>(ret)
         } <span class="kw">else </span>{
             <span class="kw">let </span>code = resp.status();
-            <span class="kw">let </span>text = resp.bytes().<span class="kw">await</span><span class="question-mark">?</span>;
+            <span class="kw">let </span>text = resp
+                .bytes()
+                .<span class="kw">await
+                </span>.map_err(|err| err.with_url(url.clone()))<span class="question-mark">?</span>;
             <span class="kw">let </span>e = serde_json::from_slice::&lt;E&gt;(<span class="kw-2">&amp;</span>text).map_err(|e| {
                 Error::new(
                     ErrorKind::Unexpected,
                     <span class="string">"Failed to parse response from rest catalog server!"</span>,
                 )
                 .with_context(<span class="string">"code"</span>, code.to_string())
+                .with_context(<span class="string">"method"</span>, method.to_string())
+                .with_context(<span class="string">"url"</span>, url.to_string())
                 .with_context(<span class="string">"json"</span>, String::from_utf8_lossy(<span class="kw-2">&amp;</span>text))
                 .with_source(e)
             })<span class="question-mark">?</span>;