Exemplo n.º 1
0
        /// <summary>
        /// Must be called to each index is unlocked before any indexing occurs
        /// </summary>
        /// <remarks>
        /// Indexing rebuilding can occur on a normal boot if the indexes are empty or on a cold boot by the database server messenger. Before
        /// either of these happens, we need to configure the indexes.
        /// </remarks>
        private static void EnsureUnlocked(ILogger logger, IExamineManager examineManager)
        {
            if (_disableExamineIndexing)
            {
                return;
            }
            if (_isConfigured)
            {
                return;
            }

            lock (IsConfiguredLocker)
            {
                //double check
                if (_isConfigured)
                {
                    return;
                }

                _isConfigured = true;
                examineManager.UnlockLuceneIndexes(logger);
            }
        }