Big Peer 1.67.0 ships configurable Tokio thread pools, DQL improvements, and reliability fixes across the MongoDB connector and DQL. Added:
- The number of Tokio worker and blocking threads can now be configured with the
DITTO_TOKIO_WORKER_THREADSandDITTO_TOKIO_BLOCKING_THREADSenvironment variables - Two new system parameters,
TRANSACTION_DURATION_BEFORE_INFO_LOGGING_MSandTRANSACTION_DURATION_BEFORE_WARNING_MS, add logging for long-lived store transactions alongside the existing trace parameters - Single-quoted DQL string literals now accept doubled apostrophes, such as
'O''Reilly', alongside existing backslash escapes
- DQL parameters named
passwordorpassphraseare now redacted insystem:request_historyoutput - The
transactionIdreturned by/store/executefor a write split into multiple transactions now identifies the final transaction, so passing it asX-DITTO-TXN-IDon a subsequent request guarantees the entire write is visible - Deprecated: unrecognized backslash escapes in DQL string literals, such as
\q, will become errors in a future release — use\\qfor a literal backslash. The\'escape inside double-quoted strings and unescaped control characters will also become errors
- The MongoDB connector now retries transient MongoDB unavailability when opening and reopening change streams, and reports availability state and outage duration through new metrics and connector status
- The MongoDB connector no longer processes all errored documents on a single worker, preventing saturation when handling high volumes of invalid documents
- Inserts into previously empty indexed collections now succeed after upgrading
- A batch of DQL correctness fixes covers planner short-circuiting, aggregate overflow panics,
HAVINGclauses on group keys, outer-join filters, multi-valueINlists, and prefix index ranges forSIMILAR TO; deeply nested statements are now rejected with a parse error instead of crashing the process
- The disk usage monitor now runs on a dedicated thread, reducing blocking operations
Big Peer 1.66.8 substantially reduces default log volume from attachment handling on busy clusters. Changed:
- Routine attachment-handling log lines now emit at
debuginstead ofinfo/warn. No behavior change, but dashboards or alerts keyed on the demoted lines will stop seeing them at the default level
Big Peer 1.66.7 speeds up queries that combine indexed filters, recovers stalled attachment fetches, and fixes a metrics-exporter crash loop and a transaction-applier shutdown race. Fixed:
- Attachment fetches no longer stall when an attachment’s internal fetch-queue entry goes missing: the Big Peer now restores the missing fetch work at startup — including after supervised restarts — and rechecks shared storage for the recovered attachments
- The metrics exporter no longer crash-loops on startup after upgrading to 1.66.x: it now binds the non-privileged port 8080 by default (override with
--http-port), and the Helm chart’s container port follows the configured value - Improved performance of queries combining filters on indexed fields when one filter matches substantially fewer documents
- The transaction applier no longer aborts during SIGTERM shutdown while under write load
- Devices with restricted permissions can now sync their own support bundles to a subscribing Big Peer
Big Peer 1.66.6 recovers automatically from fatal Kafka producer errors, removing a write stall that previously required restarting the Big Peer. Fixed:
- A fatal Kafka producer error (for example, librdkafka
Inconsistent) permanently latched the write pipeline while the pod kept reporting Ready, failing every subsequent write until a manual restart — the Big Peer now detects the fatal state and replaces the failed producer client in place, so writes resume automatically - A write interrupted by such a failure now surfaces its actual Kafka error to the caller, and the interrupted batch is never silently replayed by the replacement producer
Big Peer 1.66.5 adds full-lifecycle observability for the attachment pipeline and fixes a connection shutdown stall that could delay reconnection. Added:
- Full-lifecycle logging for the attachment pipeline — document arrival, link processing, fetch queueing and retries, queue cleanup and garbage collection, and
AttachmentGetserving — so attachment issues are diagnosable from logs alone
- Attachment cleanup tasks now log and retry after transient store errors instead of exiting, so attachment garbage collection and queue cleanup no longer stop silently
- Closing a virtual connection no longer waits indefinitely on a pending message delivery, which could previously stall its replacement connection until setup timed out
Big Peer 1.66.4 fixes a MongoDB Connector stall where a document rejected by schema validation could be retried indefinitely, blocking the sync pipeline. Fixed:
- The MongoDB Connector now treats MongoDB schema-validation rejections (error 121) as non-retryable even when the driver cannot decode the error reply: the document is quarantined to the unsynced documents store (
__ditto_unsynced_documents) with the full error details and the pipeline continues, instead of retrying indefinitely and stalling again on every restart
Big Peer 1.66.3 fixes a store deadlock that could stall queries under load, improves attachment fetch reliability, and stops document evictions from causing unnecessary Small Peer resyncs. Added:
- Additional diagnostic logging around virtual connection shutdown, helping identify where connection teardown stalls
- Big Peer document evictions no longer trigger connected Small Peers to resync by default, reducing unnecessary data transfers and server load
- A store deadlock where blocked query workers starved HTTP compression of threads no longer stalls queries, index scans, and backfill streams under load
- Summary upqueries now use the full configured retry budget with tuned backoff, reducing unnecessary document resends during bursts of concurrent requests
- The MongoDB Connector no longer panics its summary aggregation task when a summary upquery hits an outer timeout, and no longer writes spurious unsynced-document entries when snapshotting tombstone evictions (for example, TTL evictions)
- Attachments that repeatedly fail to fetch on Big Peer may decay from urgent to ordinary retry priority to reduce starvation of other fetches, and never-fetched attachment metadata may get cleaned up once its document links are gone
- The metrics exporter Helm chart now grants the
NET_BIND_SERVICEcapability, so the exporter can bind port 80 as a non-root container instead of crash-looping
Big Peer 1.66.2 fixes attachment fetches that could stall if the internal links maintainer stopped unexpectedly. Fixed:
- Big Peer now supervises and restarts the attachment links maintainer after abnormal exits, helping to prevent attachment fetches from stalling indefinitely
Big Peer 1.66.1 improves visibility into attachment processing failures. Added:
- Warning and error logs when attachment link processing stalls or stops unexpectedly, helping diagnose delayed attachment availability
Big Peer 1.66.0 adds RKYV document encoding support for Big Peer store sync, more control over remote subscriptions and revocations, and reliability improvements for CDC, DQL, and peer networking. Added:
- Big Peer store now supports the RKYV TLV document encoding for sync.
TARGET_DOCUMENT_FORMATselects CBOR or RKYV for new document writes, whileFORCE_CBOR_BACKFILLpreserves compatibility when backfilling from older stores - The
subscription_restrictionssystem parameter lets administrators temporarily suppress configured remote subscriptions, helping mitigate overly broad document queries - The revocations API now records revocation origin and subject, and lets callers filter
GET /auth/revocationsresults by either field
- CDC consumers now stop with an actionable integrity error when a Kafka resume offset is outside the retained range, instead of silently skipping changes
- DQL query-planning and cancellation fixes improve the correctness of complex queries and ensure abruptly terminated requests release their resources
- Unfiltered whole-collection queries that exceed the configured result-size limit are rejected before scanning and serializing results