You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by ji...@apache.org on 2023/06/19 06:35:17 UTC

[doris-thirdparty] branch clucene updated: [Fix] NoLockFactory does not use static variables (#91)

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

jianliangqi 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 60f5eab7 [Fix] NoLockFactory does not use static variables (#91)
60f5eab7 is described below

commit 60f5eab7ac6294493a2e7e290297000c3c39875c
Author: zzzxl <33...@users.noreply.github.com>
AuthorDate: Mon Jun 19 14:35:12 2023 +0800

    [Fix] NoLockFactory does not use static variables (#91)
---
 src/core/CLucene/index/IndexWriter.h   |  2 +-
 src/core/CLucene/store/Directory.h     |  2 +-
 src/core/CLucene/store/FSDirectory.cpp |  2 +-
 src/core/CLucene/store/LockFactory.cpp | 19 +------------------
 src/core/CLucene/store/LockFactory.h   |  4 ----
 5 files changed, 4 insertions(+), 25 deletions(-)

diff --git a/src/core/CLucene/index/IndexWriter.h b/src/core/CLucene/index/IndexWriter.h
index b5aabf1b..21df3c0c 100644
--- a/src/core/CLucene/index/IndexWriter.h
+++ b/src/core/CLucene/index/IndexWriter.h
@@ -242,7 +242,7 @@ class CLUCENE_EXPORT IndexWriter:LUCENE_BASE {
   SegmentsToOptimizeType* segmentsToOptimize;           // used by optimize to note those needing optimization
 
 
-  CL_NS(store)::LuceneLock* writeLock;
+  CL_NS(store)::LuceneLock* writeLock = nullptr;
 
   void init(CL_NS(store)::Directory* d, CL_NS(analysis)::Analyzer* a, bool closeDir, IndexDeletionPolicy* deletionPolicy, bool autoCommit);
   void init(CL_NS(store)::Directory* d, CL_NS(analysis)::Analyzer* a, bool create, bool closeDir, IndexDeletionPolicy* deletionPolicy, bool autoCommit);
diff --git a/src/core/CLucene/store/Directory.h b/src/core/CLucene/store/Directory.h
index a13cc911..30192051 100644
--- a/src/core/CLucene/store/Directory.h
+++ b/src/core/CLucene/store/Directory.h
@@ -34,7 +34,7 @@ CL_NS_DEF(store)
    */
 class CLUCENE_EXPORT Directory: LUCENE_REFBASE, public CL_NS(util)::NamedObject {
 	protected:
-		LockFactory* lockFactory;
+		LockFactory* lockFactory = nullptr;
 
 		Directory();
 		// Removes an existing file in the directory.
diff --git a/src/core/CLucene/store/FSDirectory.cpp b/src/core/CLucene/store/FSDirectory.cpp
index 5d7532e8..09946046 100644
--- a/src/core/CLucene/store/FSDirectory.cpp
+++ b/src/core/CLucene/store/FSDirectory.cpp
@@ -379,7 +379,7 @@ void FSDirectory::FSIndexInput::readInternal(uint8_t* b, const int32_t len) {
 
     if ( lockFactory == NULL ) {
     	if ( disableLocks ) {
-    		lockFactory = NoLockFactory::getNoLockFactory();
+				lockFactory = _CLNEW NoLockFactory();
     	} else {
     		lockFactory = _CLNEW FSLockFactory( directory.c_str(), this->filemode );
     		doClearLockID = true;
diff --git a/src/core/CLucene/store/LockFactory.cpp b/src/core/CLucene/store/LockFactory.cpp
index ea0aa7dc..b6278233 100644
--- a/src/core/CLucene/store/LockFactory.cpp
+++ b/src/core/CLucene/store/LockFactory.cpp
@@ -70,29 +70,12 @@ void SingleInstanceLockFactory::clearLock( const char* lockName )
 	}
 }
 
-
-NoLockFactory* NoLockFactory::singleton = NULL;
-NoLock* NoLockFactory::singletonLock = NULL;
-
 void NoLockFactory::_shutdown(){
-	_CLDELETE(NoLockFactory::singleton);
-	_CLDELETE(NoLockFactory::singletonLock);
-}
-
-NoLockFactory* NoLockFactory::getNoLockFactory()
-{
-	if ( singleton == NULL ) {
-		singleton = _CLNEW NoLockFactory();
-	}
-	return singleton;
 }
 
 LuceneLock* NoLockFactory::makeLock( const char* /*lockName*/ )
 {
-	if ( singletonLock == NULL ) {
-		singletonLock = _CLNEW NoLock();
-	}
-	return singletonLock;
+	return _CLNEW NoLock();
 }
 
 void NoLockFactory::clearLock( const char* /*lockName*/ )
diff --git a/src/core/CLucene/store/LockFactory.h b/src/core/CLucene/store/LockFactory.h
index 95ab3c96..a287aff8 100644
--- a/src/core/CLucene/store/LockFactory.h
+++ b/src/core/CLucene/store/LockFactory.h
@@ -44,10 +44,6 @@ public:
 
 class CLUCENE_EXPORT NoLockFactory: public LockFactory {
 public:
-	static NoLockFactory* singleton;
-	static NoLock* singletonLock;
-	
-	static NoLockFactory* getNoLockFactory();
 	LuceneLock* makeLock( const char* lockName );
 	void clearLock( const char* lockName );
 	


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org