read_consistency_interval on the connection to control how often reads check for updates from other writers.
There are three possible settings for read_consistency_interval when working with LanceTable:
- Unset (default): no automatic cross-process refresh checks.
- Zero seconds: check for updates on every read (strongest freshness).
- Non-zero interval: check for updates after the interval elapses (eventual refresh).
Consistency in Remote TablesIn LanceDB Enterprise (where you use
RemoteTable), consistency is deployment-configured
(via a weak_read_consistency_interval_seconds parameter in the cluster setup), and is not an end-user setting in the SDK.
You can still use checkout_latest / checkoutLatest for explicit manual refresh.Configure Consistency Parameters
To set strong consistency, set the interval to 0: For eventual consistency, use a non-zero interval: With the default unset interval, tables do not auto-refresh from other writers. To manually check for updates, usecheckout_latest / checkoutLatest:
Handle bad vectors
This section is currently specific to the Python SDK.
on_bad_vectors parameter to choose how
invalid vector values are handled. Invalid vectors are vectors that are not valid
because:
- They are the wrong dimension
- They contain NaN values
- They are null but are on a non-nullable field
drop: Ignore rows with bad vectorsfill: Replace bad values (NaNs) or missing values (too few dimensions) with the fill value specified in thefill_valueparameter. An input like[1.0, NaN, 3.0]will be replaced with[1.0, 0.0, 3.0]iffill_value=0.0.null: Replace bad vectors with null (only works if the column is nullable). A bad vector[1.0, NaN, 3.0]will be replaced withnullif the column is nullable. If the vector column is non-nullable, then bad vectors will cause an error