Saving requires multiple 'save' attempts (Error: Lucene.Net.Index.CorruptIndexException: invalid deletion count: 2 vs docCount=1)

When saving an Article, I often get the following error message which takes several ‘save’ attempts before it’ll save the document or allow you to preview it.
![Error Screenshot below:][1]
[1]: https://our.umbraco.com//media/upload/0c3d1c4b-225e-4e17-b95e-e63f5332be16/UmbracoError.PNG
System.AggregateException: Exceptions were thrown by listed actions. (invalid deletion count: 2 vs docCount=1 (resource: BufferedChecksumIndexInput(SimpleFSIndexInput(path=“D:\home\site\wwwroot\umbraco\Data\TEMP\ExamineIndexes\ExternalIndex\segments_g”))))
—> Lucene.Net.Index.CorruptIndexException: invalid deletion count: 2 vs docCount=1 (resource: BufferedChecksumIndexInput(SimpleFSIndexInput(path=“D:\home\site\wwwroot\umbraco\Data\TEMP\ExamineIndexes\ExternalIndex\segments_g”)))
at Lucene.Net.Index.SegmentInfos.FindSegmentsFile.Run(IndexCommit commit)
at Lucene.Net.Index.SegmentInfos.FindSegmentsFile.Run()
at Lucene.Net.Index.SegmentInfos.Read(Directory directory)
at Lucene.Net.Index.IndexWriter..ctor(Directory d, IndexWriterConfig conf)
at Examine.Lucene.Directories.SyncedFileSystemDirectoryFactory.CreateDirectory(LuceneIndex luceneIndex, Boolean forceUnlock)
at Examine.Lucene.Directories.DirectoryFactoryBase.<>c__DisplayClass2_0.<Examine.Lucene.Directories.IDirectoryFactory.CreateDirectory>b__0(String s)
at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory)
at Examine.Lucene.Directories.DirectoryFactoryBase.Examine.Lucene.Directories.IDirectoryFactory.CreateDirectory(LuceneIndex luceneIndex, Boolean forceUnlock)
at Umbraco.Cms.Infrastructure.Examine.ConfigurationEnabledDirectoryFactory.CreateDirectory(LuceneIndex luceneIndex, Boolean forceUnlock)
at Examine.Lucene.Directories.DirectoryFactoryBase.<>c__DisplayClass2_0.<Examine.Lucene.Directories.IDirectoryFactory.CreateDirectory>b__0(String s)
at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory)
at Examine.Lucene.Directories.DirectoryFactoryBase.Examine.Lucene.Directories.IDirectoryFactory.CreateDirectory(LuceneIndex luceneIndex, Boolean forceUnlock)
at Examine.Lucene.Providers.LuceneIndex.<>c__DisplayClass1_0.<.ctor>b__0()
at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode) at System.Lazy1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy1.CreateValue() at System.Lazy1.get_Value()
at Examine.Lucene.Providers.LuceneIndex.GetLuceneDirectory()
at Examine.Lucene.Providers.LuceneIndex.IndexExistsImpl()
at Examine.Lucene.Providers.LuceneIndex.IndexExists()
at Examine.Lucene.Providers.LuceneIndex.EnsureIndex(Boolean forceOverwrite)
at Examine.Lucene.Providers.LuceneIndex.get_IndexWriter()
at Examine.Lucene.Providers.LuceneIndex.CreateSearcher()
at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode) --- End of stack trace from previous location --- at System.Lazy1.CreateValue()
at Examine.Lucene.Providers.LuceneIndex.get_Searcher()
at Umbraco.Cms.Infrastructure.Examine.UmbracoContentIndex.PerformDeleteFromIndex(IEnumerable1 itemIds, Action1 onComplete)
at Examine.BaseIndexProvider.DeleteFromIndex(IEnumerable1 itemIds) at Umbraco.Cms.Infrastructure.Examine.ExamineUmbracoIndexingHandler.DeferedDeleteIndex.Execute(ExamineUmbracoIndexingHandler examineUmbracoIndexingHandler, Int32 id, Boolean keepIfUnpublished) at Umbraco.Cms.Infrastructure.Examine.ExamineUmbracoIndexingHandler.DeferedDeleteIndex.Execute() at Umbraco.Cms.Infrastructure.Examine.ExamineUmbracoIndexingHandler.DeferedActions.Execute() at Umbraco.Cms.Infrastructure.Examine.ExamineUmbracoIndexingHandler.DeferedActions.<>c.<Get>b__1_1(Boolean completed, DeferedActions actions) at Umbraco.Cms.Core.Scoping.ScopeContext.EnlistedObject1.Execute(Boolean completed)
at Umbraco.Cms.Core.Scoping.ScopeContext.ScopeExit(Boolean completed)
— End of inner exception stack trace —
at Umbraco.Cms.Core.Scoping.ScopeContext.ScopeExit(Boolean completed)
at Umbraco.Cms.Core.Scoping.Scope.<>c__DisplayClass106_0.b__2()
at Umbraco.Cms.Core.Scoping.Scope.TryFinally(Int32 index, Action actions)
at Umbraco.Cms.Core.Scoping.Scope.TryFinally(Int32 index, Action actions)
at Umbraco.Cms.Core.Scoping.Scope.TryFinally(Int32 index, Action actions)
at Umbraco.Cms.Core.Scoping.Scope.RobustExit(Boolean completed, Boolean onException)
at Umbraco.Cms.Core.Scoping.Scope.DisposeLastScope()
at Umbraco.Cms.Core.Scoping.Scope.Dispose()
at Umbraco.Cms.Core.Services.Implement.CacheInstructionService.ProcessInstructions(CacheRefresherCollection cacheRefreshers, ServerRole serverRole, CancellationToken cancellationToken, String localIdentity, DateTime lastPruned, Int32 lastId)
at Umbraco.Cms.Infrastructure.Sync.DatabaseServerMessenger.Sync()
at Umbraco.Cms.Infrastructure.HostedServices.ServerRegistration.InstructionProcessTask.PerformExecuteAsync(Object state)


This is a companion discussion topic for the original entry at https://our.umbraco.com/forum/109829-saving-requires-multiple-save-attempts-error-lucenenetindexcorruptindexexception-invalid-deletion-count-2-vs-doccount-1