Upgrade qat-java to 2.5.0 and batch decompression into a single JNI call - #357
Conversation
Bump the qat-java dependency from 2.4.0 to 2.5.0 and adapt to its API changes: - Remove the retryCount parameter from QatZipperFactory: qat-java 2.5.0 drops retry-count configuration from QatZipper.Builder, so the factory overloads that accepted it are removed and the remaining overloads simplified. - Rework QatCompressionMode decompression to read all needed compressed sub-blocks into one packed buffer and decompress them with a single qatZipper.decompressFull() call, instead of one JNI decompress call per block. This cuts JNI overhead on stored-fields reads that span multiple blocks. Signed-off-by: Mulugeta Mammo <mulugeta.mammo@intel.com>
PR Code Analyzer ❗AI-powered 'Code-Diff-Analyzer' found issues on commit f4378ba.
The table above displays the top 10 most important findings. Pull Requests Author(s): Please update your Pull Request according to the report above. Repository Maintainer(s): You can Thanks. |
|
|
…t-java jar. - Fix decompress buffer over-allocation: start the packed compressed buffer at originalLength/2 with growNoCopy and grow on demand while packing, instead of pre-growing to the full decompressed size. - Validate the decompressFull byte count via assert and drop the dead bytes.length = totalWritten assignment. - Remove duplicate QatCompressor Javadoc line. - Add SHA for qat-java-2.5.0.jar and remove the stale 2.4.0 SHA (gradle updateShas). Signed-off-by: Mulugeta Mammo <mulugeta.mammo@intel.com>
|
@reta Thanks for the review. All addressed: |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
Description
Bump the qat-java dependency from 2.4.0 to 2.5.0 and adapt to its API changes:
Rework QatCompressionMode decompression to read all needed compressed sub-blocks into one packed buffer and decompress them with a single qatZipper.decompressFull() call, instead of one JNI decompress call per block. This cuts JNI overhead on stored-fields reads that span multiple blocks.
Remove the retryCount parameter from QatZipperFactory: qat-java 2.5.0 drops retry-count configuration from QatZipper.Builder, so the factory overloads that accepted it are removed and the remaining overloads simplified.
Check List
--signoff.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.