DevChrisCross commented on code in PR #1498:
URL: https://github.com/apache/iceberg-python/pull/1498#discussion_r1912527246


##########
tests/integration/test_add_files.py:
##########
@@ -616,13 +616,18 @@ def 
test_add_files_with_timestamp_tz_ns_fails(session_catalog: Catalog, format_v
 
     # add the parquet files as data files
     with pytest.raises(
-        TypeError,
-        match=re.escape(
-            "Iceberg does not yet support 'ns' timestamp precision. Use 
'downcast-ns-timestamp-to-us-on-write' configuration property to automatically 
downcast 'ns' to 'us' on write."
-        ),
-    ):
+        UnsupportedPyArrowTypeException,
+        match=re.escape("Column 'quux' has an unsupported type: timestamp[ns, 
tz=UTC]"),
+    ) as exc_info:
         tbl.add_files(file_paths=[file_path])
 
+    exception_cause = exc_info.value.__cause__
+    assert isinstance(exception_cause, TypeError)
+    assert (
+        "Iceberg does not yet support 'ns' timestamp precision. Use 
'downcast-ns-timestamp-to-us-on-write' configuration property to automatically 
downcast 'ns' to 'us' on write."

Review Comment:
   The exception is still preserved and propagated still and can also be seen 
in the traceback once the error is raised, given the exception is raised `from 
e`. Perhaps, I also want to emphasize to the user that the exception really 
originated from `primitive()` instead of `visit_pyarrow()` which will state 
something like this:
   
   ```
   <... TypeError traceback ...>
   The above exception was the direct cause of the following exception:
   <... UnsupportedPyArrowTypeException ...>
   ```
   
   I think it's still sufficient enough for the user to know what's going on, 
let me know if you still think otherwise. :)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to