From 99ce2985d48a4ca032651657dbed7e240a94a10f Mon Sep 17 00:00:00 2001 From: Sema Checherinda Date: Thu, 30 May 2024 17:01:28 +0200 Subject: [PATCH] work with tests --- src/Compression/CompressedWriteBuffer.cpp | 9 +++++---- src/Compression/CompressedWriteBuffer.h | 2 +- src/IO/WriteBufferFromPocoSocket.cpp | 23 ++++++++++++----------- src/IO/WriteBufferFromPocoSocket.h | 2 +- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/Compression/CompressedWriteBuffer.cpp b/src/Compression/CompressedWriteBuffer.cpp index 5ad76271d62..83c9fbc9573 100644 --- a/src/Compression/CompressedWriteBuffer.cpp +++ b/src/Compression/CompressedWriteBuffer.cpp @@ -62,10 +62,11 @@ CompressedWriteBuffer::CompressedWriteBuffer(WriteBuffer & out_, CompressionCode { } -// CompressedWriteBuffer::~CompressedWriteBuffer() -// { -// finalize(); -// } +CompressedWriteBuffer::~CompressedWriteBuffer() +{ + if (!canceled) + finalize(); +} } diff --git a/src/Compression/CompressedWriteBuffer.h b/src/Compression/CompressedWriteBuffer.h index 27d357eaace..6ae1fbee9cc 100644 --- a/src/Compression/CompressedWriteBuffer.h +++ b/src/Compression/CompressedWriteBuffer.h @@ -21,7 +21,7 @@ public: CompressionCodecPtr codec_ = CompressionCodecFactory::instance().getDefaultCodec(), size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE); - // ~CompressedWriteBuffer() override; + ~CompressedWriteBuffer() override; /// The amount of compressed data size_t getCompressedBytes() diff --git a/src/IO/WriteBufferFromPocoSocket.cpp b/src/IO/WriteBufferFromPocoSocket.cpp index 5240e3048b0..5ed4dbdc787 100644 --- a/src/IO/WriteBufferFromPocoSocket.cpp +++ b/src/IO/WriteBufferFromPocoSocket.cpp @@ -193,16 +193,17 @@ WriteBufferFromPocoSocket::WriteBufferFromPocoSocket(Poco::Net::Socket & socket_ write_event = write_event_; } -// WriteBufferFromPocoSocket::~WriteBufferFromPocoSocket() -// { -// // try -// // { -// // finalize(); -// // } -// // catch (...) -// // { -// // tryLogCurrentException(__PRETTY_FUNCTION__); -// // } -// } +WriteBufferFromPocoSocket::~WriteBufferFromPocoSocket() +{ + try + { + if (!canceled) + finalize(); + } + catch (...) + { + tryLogCurrentException(__PRETTY_FUNCTION__); + } +} } diff --git a/src/IO/WriteBufferFromPocoSocket.h b/src/IO/WriteBufferFromPocoSocket.h index cce6a62d674..1f69dfc466c 100644 --- a/src/IO/WriteBufferFromPocoSocket.h +++ b/src/IO/WriteBufferFromPocoSocket.h @@ -19,7 +19,7 @@ public: explicit WriteBufferFromPocoSocket(Poco::Net::Socket & socket_, size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE); explicit WriteBufferFromPocoSocket(Poco::Net::Socket & socket_, const ProfileEvents::Event & write_event_, size_t buf_size = DBMS_DEFAULT_BUFFER_SIZE); - //~WriteBufferFromPocoSocket() override; + ~WriteBufferFromPocoSocket() override; void setAsyncCallback(AsyncCallback async_callback_) { async_callback = std::move(async_callback_); }