This is an automated email from the ASF dual-hosted git repository.
twice pushed a commit to branch unstable
in repository https://gitbox.apache.org/repos/asf/kvrocks.git
The following commit(s) were added to refs/heads/unstable by this push:
new b8782753 fix(tls): remove SSL_sendfile path to avoid errors in
replication fullsync (#2757)
b8782753 is described below
commit b87827533396557bc84ee348e2b29674d02ddf64
Author: Twice <[email protected]>
AuthorDate: Sat Feb 1 17:17:48 2025 +0800
fix(tls): remove SSL_sendfile path to avoid errors in replication fullsync
(#2757)
---
src/commands/cmd_replication.cc | 13 ++++++++-----
src/common/io_util.cc | 5 +----
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/commands/cmd_replication.cc b/src/commands/cmd_replication.cc
index 290b1261..ab288ca8 100644
--- a/src/commands/cmd_replication.cc
+++ b/src/commands/cmd_replication.cc
@@ -240,10 +240,10 @@ class CommandFetchMeta : public Commander {
return;
}
// Send full data file info
- if (util::SockSend(repl_fd, files + CRLF, bev).IsOK()) {
+ if (auto s = util::SockSend(repl_fd, files + CRLF, bev)) {
LOG(INFO) << "[replication] Succeed sending full data file info to "
<< ip;
} else {
- LOG(WARNING) << "[replication] Fail to send full data file info " <<
ip << ", error: " << strerror(errno);
+ LOG(WARNING) << "[replication] Fail to send full data file info " <<
ip << ", error: " << s.Msg();
}
auto now_secs = static_cast<time_t>(util::GetTimeStamp());
srv->storage->SetCheckpointAccessTimeSecs(now_secs);
@@ -295,11 +295,14 @@ class CommandFetchFile : public Commander {
if (!fd) break;
// Send file size and content
- if (util::SockSend(repl_fd, std::to_string(file_size) + CRLF,
bev).IsOK() &&
- util::SockSendFile(repl_fd, *fd, file_size, bev).IsOK()) {
+ auto s = util::SockSend(repl_fd, std::to_string(file_size) + CRLF,
bev);
+ if (s) {
+ s = util::SockSendFile(repl_fd, *fd, file_size, bev);
+ }
+ if (s) {
LOG(INFO) << "[replication] Succeed sending file " << file << " to "
<< ip;
} else {
- LOG(WARNING) << "[replication] Fail to send file " << file << " to "
<< ip << ", error: " << strerror(errno);
+ LOG(WARNING) << "[replication] Fail to send file " << file << " to "
<< ip << ", error: " << s.Msg();
break;
}
fd.Close();
diff --git a/src/common/io_util.cc b/src/common/io_util.cc
index 23cccc69..1136dbb1 100644
--- a/src/common/io_util.cc
+++ b/src/common/io_util.cc
@@ -274,11 +274,8 @@ Status SockSendFile(int out_fd, int in_fd, size_t size) {
return SockSendFileImp
Status SockSendFile(int out_fd, int in_fd, size_t size, [[maybe_unused]]
ssl_st *ssl) {
#ifdef ENABLE_OPENSSL
if (ssl) {
-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
- return SockSendFileImpl<SSL_sendfile>(ssl, in_fd, size, 0);
-#else
+ // NOTE: SockSendFileImpl<SSL_sendfile> will cause errors, refer to #2756
return SockSendFileImpl<SendFileSSLImpl>(ssl, in_fd, size);
-#endif
}
#endif
return SockSendFile(out_fd, in_fd, size);