xiaokang commented on code in PR #35668:
URL: https://github.com/apache/doris/pull/35668#discussion_r1632332120
##########
be/src/olap/single_replica_compaction.cpp:
##########
@@ -396,8 +398,22 @@ Status SingleReplicaCompaction::_download_files(DataDir*
data_dir,
uint64_t total_file_size = 0;
MonotonicStopWatch watch;
watch.start();
+ CURL* curl = curl_easy_init();
for (auto& file_name : file_name_list) {
- auto remote_file_url = remote_url_prefix + file_name;
+ // The file name of the variant column with the inverted index
contains %
+ // such as:
020000000000003f624c4c322c568271060f9b5b274a4a95_0_10133@properties%2Emessage.idx
+ //
{rowset_id}_{seg_num}_{index_id}_{variant_column_name}{%2E}{extracted_column_name}.idx
+ // We need to handle %, otherwise it will cause an HTTP 404 error.
+ // Because the percent ("%") character serves as the indicator for
percent-encoded octets,
+ // it must be percent-encoded as "%25" for that octet to be used as
data within a URI.
+ // https://datatracker.ietf.org/doc/html/rfc3986
+ char* output = curl_easy_escape(curl, file_name.c_str(),
file_name.length());
Review Comment:
use unique_ptr with custom delete function to avoid memory leak if return
before curl_free
##########
be/src/olap/single_replica_compaction.cpp:
##########
@@ -396,8 +398,22 @@ Status SingleReplicaCompaction::_download_files(DataDir*
data_dir,
uint64_t total_file_size = 0;
MonotonicStopWatch watch;
watch.start();
+ CURL* curl = curl_easy_init();
Review Comment:
use unique_ptr with custom delete function to avoid memory leak if return
before curl_easy_cleanup
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]