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

airborne pushed a commit to branch clucene
in repository https://gitbox.apache.org/repos/asf/doris-thirdparty.git


The following commit(s) were added to refs/heads/clucene by this push:
     new ace9ba07a88 [fix](index) fix memory leak in DirectoryIndexReader and 
improve abort handling (#329)
ace9ba07a88 is described below

commit ace9ba07a880a01d0161ee4a03418c30ba048fb9
Author: airborne12 <[email protected]>
AuthorDate: Fri Jul 11 16:54:24 2025 +0800

    [fix](index) fix memory leak in DirectoryIndexReader and improve abort 
handling (#329)
---
 src/core/CLucene/index/DirectoryIndexReader.cpp | 1 +
 src/core/CLucene/index/SDocumentWriter.h        | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/core/CLucene/index/DirectoryIndexReader.cpp 
b/src/core/CLucene/index/DirectoryIndexReader.cpp
index 24f7c105e01..cf1052a23b8 100644
--- a/src/core/CLucene/index/DirectoryIndexReader.cpp
+++ b/src/core/CLucene/index/DirectoryIndexReader.cpp
@@ -153,6 +153,7 @@ CL_NS_DEF(index)
       DirectoryIndexReader* reader;
 
       if (infos->size() == 0) {
+        _CLDELETE(infos);
         _CLTHROWA(CL_ERR_EmptyIndexSegment, "The number of index segments is 
0, indicating incorrect index generation.");
       } else if (infos->size() == 1) {          // index is optimized
         reader = SegmentReader::get(infos, infos->info(0), readBufferSize_, 
closeDirectory);
diff --git a/src/core/CLucene/index/SDocumentWriter.h 
b/src/core/CLucene/index/SDocumentWriter.h
index 0795a7aa372..a166703f1d0 100644
--- a/src/core/CLucene/index/SDocumentWriter.h
+++ b/src/core/CLucene/index/SDocumentWriter.h
@@ -756,7 +756,9 @@ public:
     int32_t getNumBufferedDeleteTerms() override {
         return 0;
     }
-    void abort(AbortException *ae) override {}
+    void abort(AbortException *ae) override {
+        resetPostingsData();
+    }
     void setMaxBufferedDocs(int32_t count) override {
         maxBufferedDocs = count;
     }


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

Reply via email to