databricks/zerobus-sdk go/v1.2.0
databricks/zerobus-sdk
Captured source
source ↗published May 28, 2026seen 5dcaptured 10hhttp 200method plain
Go SDK v1.2.0
Repository: databricks/zerobus-sdk
Tag: go/v1.2.0
Published: 2026-05-28T07:41:54Z
Prerelease: no
Release notes:
Release v1.2.0
New Features and Improvements
- `IngestRecordNowait` / `IngestRecordsNowait`: New fire-and-forget ingestion methods on
ZerobusStream. Both return immediately after spawning a background task; ingestion errors are silently ignored.IngestRecordNowaitaccepts a single[]byteorstringpayload;IngestRecordsNowaitaccepts a batch as[]interface{}. Returns immediately after spawning a background task to queue the record; accepts[]byte(protobuf) orstring(JSON). Ingestion errors from the background task are silently ignored. - Arrow Flight promoted to Beta: The Arrow Flight ingestion API (
ZerobusArrowStream,CreateArrowStream,CreateArrowStreamWithHeadersProvider,ArrowStreamConfigurationOptions) is no longer labelled experimental/unsupported. The API is stabilising but may still change before reaching GA. - Arrow Flight — graceful stream close: When the server signals an impending close, the client pauses sends, drains in-flight acks within a bounded wait, then recovers.
- `ArrowStreamConfigurationOptions.StreamPausedMaxWaitTimeMs`: Optional
*uint64limiting how long to wait (ms) while paused (nil= full server duration,0= immediate recovery).
Bug Fixes
- Reduced GC pressure in batch ingest FFI paths (#271):
streamIngestJSONRecordswas allocating one heap-allocated closure per record per call (defer-in-loop). These closures are not pooled by the Go runtime, causing measurable allocation growth at high ingestion rates. Fixed by replacing N defers with a single closure.streamIngestProtoRecordswas also allocating the pointer/length arrays on the Go heap and unnecessarily pinning them; both are now allocated in C memory viaC.malloc. - Vendoring support:
go mod vendornow preserves the prebuilt FFI archives underlib/_/when downstream consumers vendor this module. Previously, cgo#cgo LDFLAGSpaths were invisible to the vendor tool's dependency analysis, so vendored builds failed to link.
Notability
notability 3.0/10Routine SDK minor release.