This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new e1b9854f90d [bugfix](thirdparty) Upgrade aws s3 sdk to prevent mem 
leak (#25106)
e1b9854f90d is described below

commit e1b9854f90d62a95d442f7f775cfaa5232a26775
Author: AlexYue <yj976240...@gmail.com>
AuthorDate: Mon Oct 9 16:08:50 2023 +0800

    [bugfix](thirdparty) Upgrade aws s3 sdk to prevent mem leak (#25106)
    
    During the use of the AWS S3 SDK, we found that there is a memory leak. 
According to the official issue, upgrading the SDK should resolve the issue.
---
 be/cmake/thirdparty.cmake                     |  1 +
 thirdparty/CHANGELOG.md                       |  3 ++
 thirdparty/download-thirdparty.sh             |  7 ++--
 thirdparty/patches/aws-sdk-cpp-1.11.119.patch | 52 +++++++++++++++++++++++++++
 thirdparty/vars.sh                            |  8 ++---
 5 files changed, 64 insertions(+), 7 deletions(-)

diff --git a/be/cmake/thirdparty.cmake b/be/cmake/thirdparty.cmake
index e55b413c242..60d9c65055b 100644
--- a/be/cmake/thirdparty.cmake
+++ b/be/cmake/thirdparty.cmake
@@ -137,6 +137,7 @@ add_thirdparty(aws-c-http LIB64)
 add_thirdparty(aws-c-mqtt LIB64)
 add_thirdparty(aws-checksums LIB64)
 add_thirdparty(aws-c-s3 LIB64)
+add_thirdparty(aws-c-sdkutils LIB64)
 if (NOT OS_MACOSX)
     add_thirdparty(aws-s2n LIBNAME "lib/libs2n.a")
 endif()
diff --git a/thirdparty/CHANGELOG.md b/thirdparty/CHANGELOG.md
index 8e0b5416875..b0cb1f87704 100644
--- a/thirdparty/CHANGELOG.md
+++ b/thirdparty/CHANGELOG.md
@@ -2,6 +2,9 @@
 
 This file contains version of the third-party dependency libraries in the 
build-env image. The docker build-env image is apache/doris, and the tag is 
`build-env-${version}`
 
+## v20231008
+- Modified: aws sdk 1.9.211 -> 1.11.119
+
 ## v20230824
 - Modified: protobuf 3.15.0 -> 21.11
 - Modified: glog 0.4.0 -> 0.6.0
diff --git a/thirdparty/download-thirdparty.sh 
b/thirdparty/download-thirdparty.sh
index e31871f25dd..e1d7c328656 100755
--- a/thirdparty/download-thirdparty.sh
+++ b/thirdparty/download-thirdparty.sh
@@ -386,12 +386,13 @@ echo "Finished patching ${HYPERSCAN_SOURCE}"
 
 cd "${TP_SOURCE_DIR}/${AWS_SDK_SOURCE}"
 if [[ ! -f "${PATCHED_MARK}" ]]; then
-    if [[ "${AWS_SDK_SOURCE}" == "aws-sdk-cpp-1.9.272" ]]; then
-        if wget --no-check-certificate -q 
https://doris-thirdparty-repo.bj.bcebos.com/thirdparty/aws-crt-cpp-1.9.272.tar.gz
 -O aws-crt-cpp-1.9.272.tar.gz; then
-            tar xzf aws-crt-cpp-1.9.272.tar.gz
+    if [[ "${AWS_SDK_SOURCE}" == "aws-sdk-cpp-1.11.119" ]]; then
+        if wget --no-check-certificate -q 
https://doris-thirdparty-repo.bj.bcebos.com/thirdparty/aws-crt-cpp-1.11.119.tar.gz
 -O aws-crt-cpp-1.11.119.tar.gz; then
+            tar xzf aws-crt-cpp-1.11.119.tar.gz
         else
             bash ./prefetch_crt_dependency.sh
         fi
+        patch -p1 <"${TP_PATCH_DIR}/aws-sdk-cpp-1.11.119.patch"
     else
         bash ./prefetch_crt_dependency.sh
     fi
diff --git a/thirdparty/patches/aws-sdk-cpp-1.11.119.patch 
b/thirdparty/patches/aws-sdk-cpp-1.11.119.patch
new file mode 100644
index 00000000000..b045721ecda
--- /dev/null
+++ b/thirdparty/patches/aws-sdk-cpp-1.11.119.patch
@@ -0,0 +1,52 @@
+diff --git 
a/generated/src/aws-cpp-sdk-s3-crt/source/model/CopyObjectRequest.cpp 
b/generated/src/aws-cpp-sdk-s3-crt/source/model/CopyObjectRequest.cpp
+index 2aa7869b51..9ba8877ed8 100644
+--- a/generated/src/aws-cpp-sdk-s3-crt/source/model/CopyObjectRequest.cpp
++++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/CopyObjectRequest.cpp
+@@ -173,7 +173,7 @@ Aws::Http::HeaderValueCollection 
CopyObjectRequest::GetRequestSpecificHeaders()
+   if(m_copySourceHasBeenSet)
+   {
+     ss << m_copySource;
+-    headers.emplace("x-amz-copy-source", URI::URLEncodePath(ss.str()));
++    headers.emplace("x-amz-copy-source", ss.str());
+     ss.str("");
+   }
+ 
+diff --git 
a/generated/src/aws-cpp-sdk-s3-crt/source/model/UploadPartCopyRequest.cpp 
b/generated/src/aws-cpp-sdk-s3-crt/source/model/UploadPartCopyRequest.cpp
+index f301c47606..7f16e6afcd 100644
+--- a/generated/src/aws-cpp-sdk-s3-crt/source/model/UploadPartCopyRequest.cpp
++++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/UploadPartCopyRequest.cpp
+@@ -112,7 +112,7 @@ Aws::Http::HeaderValueCollection 
UploadPartCopyRequest::GetRequestSpecificHeader
+   if(m_copySourceHasBeenSet)
+   {
+     ss << m_copySource;
+-    headers.emplace("x-amz-copy-source", URI::URLEncodePath(ss.str()));
++    headers.emplace("x-amz-copy-source", ss.str());
+     ss.str("");
+   }
+ 
+diff --git a/generated/src/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp 
b/generated/src/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp
+index e1862b22ff..6bd6d0aea9 100644
+--- a/generated/src/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp
++++ b/generated/src/aws-cpp-sdk-s3/source/model/CopyObjectRequest.cpp
+@@ -173,7 +173,7 @@ Aws::Http::HeaderValueCollection 
CopyObjectRequest::GetRequestSpecificHeaders()
+   if(m_copySourceHasBeenSet)
+   {
+     ss << m_copySource;
+-    headers.emplace("x-amz-copy-source", URI::URLEncodePath(ss.str()));
++    headers.emplace("x-amz-copy-source", ss.str());
+     ss.str("");
+   }
+ 
+diff --git 
a/generated/src/aws-cpp-sdk-s3/source/model/UploadPartCopyRequest.cpp 
b/generated/src/aws-cpp-sdk-s3/source/model/UploadPartCopyRequest.cpp
+index f918909a86..16af4d2797 100644
+--- a/generated/src/aws-cpp-sdk-s3/source/model/UploadPartCopyRequest.cpp
++++ b/generated/src/aws-cpp-sdk-s3/source/model/UploadPartCopyRequest.cpp
+@@ -112,7 +112,7 @@ Aws::Http::HeaderValueCollection 
UploadPartCopyRequest::GetRequestSpecificHeader
+   if(m_copySourceHasBeenSet)
+   {
+     ss << m_copySource;
+-    headers.emplace("x-amz-copy-source", URI::URLEncodePath(ss.str()));
++    headers.emplace("x-amz-copy-source", ss.str());
+     ss.str("");
+   }
+ 
diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh
index 4e17117b6f8..e154a1b3420 100644
--- a/thirdparty/vars.sh
+++ b/thirdparty/vars.sh
@@ -346,10 +346,10 @@ BOOTSTRAP_TABLE_CSS_FILE="bootstrap-table.min.css"
 BOOTSTRAP_TABLE_CSS_MD5SUM="23389d4456da412e36bae30c469a766a"
 
 # aws sdk
-AWS_SDK_DOWNLOAD="https://github.com/aws/aws-sdk-cpp/archive/refs/tags/1.9.272.tar.gz";
-AWS_SDK_NAME="aws-sdk-cpp-1.9.272.tar.gz"
-AWS_SDK_SOURCE="aws-sdk-cpp-1.9.272"
-AWS_SDK_MD5SUM="3a9190e3d14b81bfdd9c41a89a419202"
+AWS_SDK_DOWNLOAD="https://github.com/aws/aws-sdk-cpp/archive/refs/tags/1.11.119.tar.gz";
+AWS_SDK_NAME="aws-sdk-cpp-1.11.119.tar.gz"
+AWS_SDK_SOURCE="aws-sdk-cpp-1.11.119"
+AWS_SDK_MD5SUM="3cd8bd51d39dc207a243a2074d11f439"
 
 # tsan_header
 
TSAN_HEADER_DOWNLOAD="https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=libsanitizer/include/sanitizer/tsan_interface_atomic.h;hb=refs/heads/releases/gcc-7";


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to