The GitHub Actions job "Pull Requests" on pekko.git/zstd-compression has failed.
Run started by GitHub user pjfanning (triggered by pjfanning).

Head commit for run:
4959b40524b7fa83b03367b0598b899e2375f813 / PJ Fanning 
<[email protected]>
fix: free the zstd decompression dictionary with its context
Motivation:
ZstdDecompressor digested the dictionary once into a ZstdDictDecompress
shared by every materialization. It could not be closed when one
materialization stopped and has no Cleaner, so its native memory was only
freed by finalization, and never with finalization disabled. This is the
decompression side of the ZstdDictCompress review finding on #3639.

Modification:
- Load the dictionary bytes into each materialization's ZstdDecompressCtx,
  which owns the digested dictionary and frees it when the stage closes
  the context.
- Copy the dictionary bytes, or the slice, when the operator is created, and
  validate the slice bounds there.
- Close the context if loading the dictionary fails, since postStop is not
  called then.

Result:
The zstd decompressor no longer relies on finalization to free dictionary
memory. Each materialization digests the dictionary itself, as the
compressor already does for dictionaries without a level.

Tests:
- New ZstdSpec tests: slices outside the dictionary are rejected when the
  operator is created, and the operator decompresses with a copy of the
  dictionary, for more than one materialization. The native memory itself
  is not observable from the tests.
- sbt "stream-tests/testOnly ...ZstdSpec ...ZstdAutoFlushSpec 
...CompressionWithoutZstdSpec ...CompressionSpec" (73 passed, 1 canceled by an 
existing assume)
- scalafmt on the changed files

References:
https://github.com/apache/pekko/pull/3639

Report URL: https://github.com/apache/pekko/actions/runs/39989404200

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to