This is an automated email from the ASF dual-hosted git repository.
mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-client-go.git
The following commit(s) were added to refs/heads/master by this push:
new 6a80299 Fix CompressMaxSize() for ZLib provider (#312)
6a80299 is described below
commit 6a80299de9eaa6b757284365601d5c00990fe4f0
Author: Matteo Merli <[email protected]>
AuthorDate: Tue Jul 7 07:56:29 2020 -0700
Fix CompressMaxSize() for ZLib provider (#312)
---
pulsar/internal/compression/zlib.go | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/pulsar/internal/compression/zlib.go
b/pulsar/internal/compression/zlib.go
index 44c4566..76457c6 100644
--- a/pulsar/internal/compression/zlib.go
+++ b/pulsar/internal/compression/zlib.go
@@ -31,7 +31,9 @@ func NewZLibProvider() Provider {
}
func (zlibProvider) CompressMaxSize(originalSize int) int {
- return int(float32(originalSize) * 1.10)
+ // Use formula from ZLib:
https://github.com/madler/zlib/blob/cacf7f1d4e3d44d871b605da3b647f07d718623f/deflate.c#L659
+ return originalSize +
+ ((originalSize + 7) >> 3) + ((originalSize + 63) >> 6) + 11
}
func (zlibProvider) Compress(dst, src []byte) []byte {