You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Move to per-partition memory pressure thresholds, with a default setting of none.
* Rename config to be more descriptive.
* Format fix.
* Addressing PR feedback.
| Off-heap (direct) | Arrow `RootAllocator`| Arrow columnar buffers (the bulk of memory under load) |
227
+
228
+
Arrow off-heap memory is **not** subject to `-Xmx`. It is bounded by the OS/container memory limit, which means an under-sized pod will OOMKill before the JVM notices pressure.
229
+
230
+
### Per-Partition Memory Pressure
231
+
232
+
The `memory.pressure.per.partition.bytes` setting defines a per-partition threshold for Arrow buffer accumulation. When a single partition's buffered data exceeds this value, that partition is flushed immediately, independent of the normal `flush.size` / `file.size.bytes` / `flush.interval.ms` thresholds.
233
+
234
+
Setting it to `0` (the default) disables the check entirely.
235
+
236
+
### Sizing Formula
237
+
238
+
Given:
239
+
-**T** = maximum number of sink tasks that can be assigned to a single worker/pod
240
+
- In distributed mode, this is ≤ connector-wide `tasks.max` and depends on how many workers you run and how tasks are balanced.
If 15GB is too large, reduce the per-partition threshold or reduce `tasks.max`:
278
+
279
+
```
280
+
# 2 tasks, 256MB threshold:
281
+
arrow_max = 2 × 8 × 256MB = 4GB
282
+
container ≥ 2GB + 4GB + 1GB = 7GB
283
+
```
284
+
285
+
### Disk Spill as an Alternative
286
+
287
+
If off-heap memory is constrained, enable `spill.enabled=true` instead. This writes Arrow batches to local disk immediately after conversion, reducing per-task Arrow memory to a few MB at the cost of additional disk I/O. When spilling is enabled, `memory.pressure.per.partition.bytes` has no effect — there is no in-memory accumulation to threshold against.
0 commit comments