0.3.0
- If using local storage (
{:local, directory}), writes now share one exclusive OS lock per store root, held for each mutation until it is synced to disk. Multiple processes can open the store; SlateDB fencing still enforces one writer per database. Before starting this version, stop all processes accessing that store with olderslap_slatedbversions, which do not take this lock. Use the same root in every process accessing the data, and keep the root's.slap-lock#0file. Before starting another cluster, see running another cluster on the same store. - Local stores reject recognized network filesystems, including NFS and SMB/CIFS.
- Local stores sync object writes and completed uploads to disk with
fsync. On Unix, they also sync directory changes. Persistence depends on the filesystem and device honoring sync requests. Writes and opens can take longer. - Local stores support conditional updates (
{:update, version}). This lets SlateDB's garbage collector remove obsolete metadata on subsequent runs and letsslap_clusteruseObjectLeaseon local storage. Conditional updates return:unsupportedon filesystems without microsecond modification times. - Fixes
config :rustler_precompiled, :force_build, slap_slatedb: truebeing ignored. It now builds the NIF from source, asSLAP_SLATEDB_BUILD=1does. - Adds
get_range/3to preview a value with:max_value_bytesand optional:value_range, andpreview_iterator/2to preview keys and values with:max_key_bytesand:max_value_bytes. Both return full sizes and limit bytes copied into the BEAM; SlateDB still loads whole rows in native memory.
0.2.0
- Upgrades SlateDB to 0.17. Databases written by 0.16 open unchanged.
Slap.SlateDB.Iterator.seek/3returns an error withkind: :invalidfor an iterator withorder: :desc.- Raises the maximum key size from 65,535 bytes to 4 GiB minus one byte.
Slap.SlateDB.ObjectStore.download/3acceptsrange: {first, last}(inclusive) to download part of an object.- SlateDB 0.17's new settings can be passed in
:settings, among themcompactor_options.checkpoint_lifetimeandcompactor_options.scheduler_options.sorted_run_consolidation_threshold.
0.1.0
Initial release of slap_slatedb.