-
Notifications
You must be signed in to change notification settings - Fork 172
Description
What happened?
connect() requires permissions to system /root directory, preventing usage when this directory is not available. The same code works when running on a system that allows permission to this directory. The use case here is that AWS lambda only allows access to the /tmp directory during runtime.
Error produced:
level=error msg="Failed to initialize Easy Logging, err: error while searching for client config in directory: /root, err: stat /root/sf_client_config.json: permission denied" func="gosnowflake.(*defaultLogger).Errorf" file="log.go:216"
Stack Trace
conn = adbc_driver_snowflake.dbapi.connect(snowflake_con_uri)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/var/lang/lib/python3.12/site-packages/adbc_driver_snowflake/dbapi.py", line 120, in connect\n conn = adbc_driver_manager.AdbcConnection(db, **(conn_kwargs or
{}
))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "adbc_driver_manager/_lib.pyx", line 720, in adbc_driver_manager._lib.AdbcConnection.__init__\n File "adbc_driver_manager/_lib.pyx", line 260, in adbc_driver_manager._lib.check_error\nadbc_driver_manager.OperationalError: IO: 260012: client configuration failed: error while searching for client config in directory: /root, err: stat /root/sf_client_config.json: permission denied
How can we reproduce the bug?
snowflake_con_uri = f"{snowflake_user}:{snowflake_password}@{snowflake_account}/{snowflake_database}?warehouse={snowflake_warehouse}&role={snowflake_role}"
conn = adbc_driver_snowflake.dbapi.connect(snowflake_con_uri)
Environment/Setup
Platform: Linux-5.10.236-249.934.amzn2.x86_64-x86_64-with-glibc2.34
Python: 3.12.9 (main, Apr 9 2025, 10:25:36) [GCC 11.5.0 20240719 (Red Hat 11.5.0-5)]
polars: 1.30.0
adbc_driver_manager 1.6.0
boto3 1.37.3
connectorx 0.4.3
fsspec 2025.2.0
numpy 2.2.6
pandas 2.2.3
pyarrow 20.0.0
pydantic 2.11.5
pyiceberg 0.9.1