7 #ifndef INDEXFILEDELETER_H 8 #define INDEXFILEDELETER_H 94 void refresh(
const String& segmentName);
114 void incRef(
const String& fileName);
116 void decRef(
const String& fileName);
119 bool exists(
const String& fileName);
172 virtual bool isOptimized();
175 virtual String getSegmentsFileName();
184 virtual int64_t getVersion();
187 virtual int64_t getGeneration();
190 virtual MapStringString getUserData();
193 virtual void deleteCommit();
195 virtual bool isDeleted();
DirectoryPtr directory
Definition: IndexFileDeleter.h:63
String segmentsFileName
Definition: IndexFileDeleter.h:159
bool startingCommitDeleted
Definition: IndexFileDeleter.h:74
boost::shared_ptr< InfoStream > InfoStreamPtr
Definition: LuceneTypes.h:532
Tracks the reference count for a single index file.
Definition: IndexFileDeleter.h:130
Holds details for each commit point. This class is also passed to the deletion policy. Note: this class has a natural ordering that is inconsistent with equals.
Definition: IndexFileDeleter.h:149
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition: LuceneTypes.h:539
virtual int32_t compareTo(const LuceneObjectPtr &other)
Compare two objects.
bool exists(const String &fileName)
int64_t version
Definition: IndexFileDeleter.h:163
bool _isOptimized
Definition: IndexFileDeleter.h:165
void decRef(HashSet< String > files)
static bool VERBOSE_REF_COUNTS
Change to true to see details of reference counts when infoStream != null.
Definition: IndexFileDeleter.h:71
SegmentInfosPtr lastSegmentInfos
Definition: IndexFileDeleter.h:67
RefCountPtr getRefCount(const String &fileName)
Represents a single commit into an index as seen by the IndexDeletionPolicy or IndexReader.
Definition: IndexCommit.h:22
boost::shared_ptr< RefCount > RefCountPtr
Definition: LuceneTypes.h:206
HashSet< String > deletable
Files that we tried to delete but failed (likely because they are open and we are running on Windows)...
Definition: IndexFileDeleter.h:41
IndexFileDeleter(const DirectoryPtr &directory, const IndexDeletionPolicyPtr &policy, const SegmentInfosPtr &segmentInfos, const InfoStreamPtr &infoStream, const DocumentsWriterPtr &docWriter, HashSet< String > synced)
Initialize the deleter: find all previous commits in the Directory, incref the files they reference...
IndexDeletionPolicyPtr policy
Definition: IndexFileDeleter.h:64
MapStringString userData
Definition: IndexFileDeleter.h:166
void deleteFiles(HashSet< String > files)
Collection< CommitPointPtr > commitsToDelete
Commits that the IndexDeletionPolicy have decided to delete.
Definition: IndexFileDeleter.h:60
boost::shared_ptr< SegmentInfos > SegmentInfosPtr
Definition: LuceneTypes.h:210
boost::shared_ptr< DocumentsWriter > DocumentsWriterPtr
Definition: LuceneTypes.h:123
SegmentInfosPtr getLastSegmentInfos()
boost::shared_ptr< IndexDeletionPolicy > IndexDeletionPolicyPtr
Definition: LuceneTypes.h:153
HashSet< String > synced
Definition: IndexFileDeleter.h:68
boost::shared_ptr< Directory > DirectoryPtr
Definition: LuceneTypes.h:489
Collection< IndexCommitPtr > commits
Holds all commits (segments_N) currently in the index. This will have just 1 commit if you are using ...
Definition: IndexFileDeleter.h:54
Base class for all Lucene classes.
Definition: LuceneObject.h:31
void incRef(const SegmentInfosPtr &segmentInfos, bool isCommit)
void deleteFile(const String &fileName)
virtual ~IndexFileDeleter()
int64_t generation
Definition: IndexFileDeleter.h:164
bool deleted
Definition: IndexFileDeleter.h:160
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
virtual String toString()
Returns a string representation of the object.
Definition: AbstractAllTermDocs.h:12
void message(const String &message)
Collection< HashSet< String > > lastFiles
Holds files we had incref'd from the previous non-commit checkpoint.
Definition: IndexFileDeleter.h:57
int32_t count
Definition: IndexFileDeleter.h:140
void setInfoStream(const InfoStreamPtr &infoStream)
DocumentsWriterPtr docWriter
Definition: IndexFileDeleter.h:65
void checkpoint(const SegmentInfosPtr &segmentInfos, bool isCommit)
For definition of "check point" see IndexWriter comments: "Clarification: Check Points (and commits)"...
void deleteNewFiles(HashSet< String > files)
Deletes the specified files, but only if they are new (have not yet been incref'd).
void deleteCommits()
Remove the CommitPoints in the commitsToDelete List by DecRef'ing all files from each SegmentInfos...
Collection< CommitPointPtr > commitsToDelete
Definition: IndexFileDeleter.h:162
MapStringRefCount refCounts
Reference count for all files in the index. Counts how many existing commits reference a file...
Definition: IndexFileDeleter.h:49
InfoStreamPtr infoStream
Definition: IndexFileDeleter.h:62
HashSet< String > files
Definition: IndexFileDeleter.h:158
void deletePendingFiles()
bool initDone
Definition: IndexFileDeleter.h:139
DirectoryPtr directory
Definition: IndexFileDeleter.h:161
This class keeps track of each SegmentInfos instance that is still "live", either because it correspo...
Definition: IndexFileDeleter.h:34