Skip to main content
This guide covers common issues encountered when installing, configuring, and operating Delta Sharing, along with detailed solutions and debugging techniques.

Installation Issues

delta-kernel-rust Installation Failures

The most common installation issue involves the delta-kernel-rust-sharing-wrapper package:
Installation Error
Root Causes:
  1. Python version < 3.8
  2. glibc version < 2.31 (Linux systems)
  3. No pre-built wheel for your platform
  4. Outdated pip version

Solution 1: Verify System Requirements

Expected Output:

Solution 2: Upgrade pip and Retry

Solution 3: Install Rust for Building from Source

If PyPI doesn’t have a pre-built wheel for your platform:
Building from Source:
Pre-built Wheel AvailabilityCheck available platforms at: https://pypi.org/project/delta-kernel-rust-sharing-wrapper/#filesCommon supported platforms:
  • Linux x86_64 (glibc >= 2.31)
  • macOS x86_64 and arm64
  • Windows x86_64

Solution 4: Use Older Version (Temporary Workaround)

Limited FeaturesOlder versions (< 1.1) lack some features like improved performance and Delta format support. Use this only as a temporary workaround.

glibc Version Incompatibility

Problem:
Platform-Specific Solutions:
Alpine uses musl libc, not glibc. Build from source:

Authentication Failures

Invalid Bearer Token

Error:
Debugging Steps:
  1. Verify Profile File Format:
Expected Profile Structure:
  1. Test Bearer Token Manually:
Successful Response (200 OK):
  1. Check Token Expiration:

Server Authorization Configuration Issues

Problem: Server not requiring authentication (all requests succeed) Diagnosis:
Secure Configuration:
Generate Secure Token:
Testing AuthenticationTest with invalid token to verify authentication is enforced:

Connection and Network Issues

HTTPS/SSL Certificate Errors

Error:
Solution 1: Verify Certificate Chain
Solution 2: Update CA Certificates
Solution 3: Corporate Proxy/Firewall
Security RiskDisabling SSL verification exposes you to man-in-the-middle attacks. Only use for testing with self-signed certificates in controlled environments.

Connection Timeout Errors

Error:
Debugging:
Python Client Timeout Configuration:

Firewall and Port Issues

Required Ports:
  • 443 (HTTPS) - Delta Sharing API
  • 80 (HTTP) - Redirect to HTTPS only
  • Outbound - Access to cloud storage (S3, Azure, GCS)
Firewall Rules:

Data Access Issues

Table Not Found Errors

Error:
Debugging Steps:
  1. List Available Shares:
  1. Verify Table URL Format:
  1. Check Case Sensitivity:

Cloud Storage Access Errors

AWS S3 Errors:
Solution:
  1. Verify IAM Permissions:
  1. Test S3 Access:
  1. Check S3 Bucket Policy:
Azure Blob Storage Errors:
Solution:
Configure core-site.xml:

Pre-signed URL Expiration

Error:
Solution:
  1. Check URL Expiration:
  1. Refresh URLs:
  1. Configure Server URL Expiration:

Spark Connector Issues

Dependency Conflicts

Error:
Solution:
  1. Verify Spark Version:
  1. Use Correct Package Version:
  1. Resolve Scala Version Conflicts:

Streaming Query Failures

Error:
Solution:
  1. Verify CDF Support:
  1. Check startingVersion Parameter:
  1. Configure Query Intervals:

Performance Issues

Slow Query Performance

Symptoms:
  • Queries taking minutes instead of seconds
  • High memory usage
  • Network timeouts
Diagnostics:
Solutions: See the Performance Optimization guide for:
  • Predicate pushdown
  • Batch conversion
  • Partitioning strategies
  • Caching techniques

Memory Issues

Error:
Solutions:
  1. Use Batch Conversion:
  1. Use Spark for Large Tables:
  1. Query Incrementally:

Debugging Techniques

Enable Debug Logging

Inspect HTTP Traffic

Server-Side Logging

Version Compatibility Matrix

Getting Help

Collect Debug Information

Before reporting issues, collect:

Common Resources

Issue Report Template

[Complete error traceback]
Quick Fixes Summary
  1. Installation issues: Upgrade pip, check Python/glibc versions, install Rust if needed
  2. Authentication issues: Verify bearer token, check expiration, test with curl
  3. Network issues: Check firewall, test SSL certificates, configure proxy
  4. Performance issues: Use predicates, enable batch conversion, try Spark for large data
  5. Memory issues: Use convert_in_batches=True or switch to Spark