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

dataroaring 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 46484430ea3 [fix](SegComp) Don't call file writer close multi times 
for segcompaction (#34818)
46484430ea3 is described below

commit 46484430ea3ab730e3b6c5b6d45cc0ec73b3e205
Author: AlexYue <[email protected]>
AuthorDate: Wed May 15 10:01:57 2024 +0800

    [fix](SegComp) Don't call file writer close multi times for segcompaction 
(#34818)
---
 be/src/olap/rowset/beta_rowset_writer.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/be/src/olap/rowset/beta_rowset_writer.cpp 
b/be/src/olap/rowset/beta_rowset_writer.cpp
index 289f780b086..f323441640d 100644
--- a/be/src/olap/rowset/beta_rowset_writer.cpp
+++ b/be/src/olap/rowset/beta_rowset_writer.cpp
@@ -670,8 +670,11 @@ Status BetaRowsetWriter::_close_file_writers() {
         }
         RETURN_NOT_OK_STATUS_WITH_WARN(_segcompaction_rename_last_segments(),
                                        "rename last segments failed when build 
new rowset");
-        if (_segcompaction_worker->get_file_writer()) {
-            
RETURN_NOT_OK_STATUS_WITH_WARN(_segcompaction_worker->get_file_writer()->close(),
+        // segcompaction worker would do file wrier's close function in 
compact_segments
+        if (auto& seg_comp_file_writer = 
_segcompaction_worker->get_file_writer();
+            nullptr != seg_comp_file_writer &&
+            seg_comp_file_writer->state() != io::FileWriter::State::CLOSED) {
+            RETURN_NOT_OK_STATUS_WITH_WARN(seg_comp_file_writer->close(),
                                            "close segment compaction worker 
failed");
         }
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to