Fix MMapDirectory performance and crashes via raw memory access and drain-reclaiming, #1151, #1013#1373
Fix MMapDirectory performance and crashes via raw memory access and drain-reclaiming, #1151, #1013#1373paulirwin wants to merge 42 commits into
Conversation
…ss slices - Move MemoryMappedViewAccessorIndexInput into MMapDirectory.cs as the internal nested MMapIndexInput class, per the repo convention of not adding new files in Lucene-derived directories. - Replace the slicer's manual dispose loop with IOUtils.DisposeWhileHandlingException. - Share one MemoryMappedFile + chunk array per file per MMapDirectory instance via a refcounted SharedMapping tracked in a ConcurrentDictionary<string, Lazy<SharedMapping>>. OpenInput, CreateSlicer, its slices, and clones all piggyback on the same underlying mapping; the mapping is torn down when the last referrer disposes. - Use bufferSize: 1 + RandomAccess | Asynchronous on all FileStream creations since MemoryMappedFile bypasses the FileStream buffer. - Add a FEATURE_CONCURRENTDICTIONARY_TRYREMOVE_KEYVALUEPAIR gate and a polyfill in Support/ConcurrentDictionaryExtensions.cs for target frameworks predating .NET 5, where the TryRemove(KeyValuePair) overload is unavailable. - Add TestSharedMappingLifecycle covering the end-to-end lifecycle of the shared mapping across OpenInput, slicer, slices, and clones. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Upstream Java's MMapDirectory.map allocates nrBuffers = floor + 1 and tolerates a final 0-byte ByteBuffer at `buffers[N]`. That sentinel exists because ByteBufferIndexInput's read loop unconditionally advances its buffer cursor past the end of each buffer, so indexing `buffers[N]` must remain valid after reading the last byte of a file whose length is a whole multiple of chunkSize. Our ReadInternal bounds-checks `pos + len` before indexing and only advances `chunkIdx` while `len > 0`, so no sentinel is needed. Also, MemoryMappedFile.CreateViewAccessor rejects a zero-length view, which would force a special-case code path anyway. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Each OpenInput/CreateSlicer now creates a fresh SharedMapping rather than sharing one via a per-file ConcurrentDictionary cache. Matches upstream Java Lucene 4.8.1 (fresh FileChannel.map() per openInput) and fixes the stale-length divergence where a second OpenInput after a file grew on disk would observe the cached length. Removes _mappings, AcquireMapping/ReleaseMapping, Lazy<SharedMapping>, and SharedMapping's refcount (TryAcquire/Release). Ownership becomes a simple ownsMapping bool passed at MMapIndexInput construction; only root instances and slicers dispose the underlying mapping. Adds three tests covering snapshot-at-open semantics, second-open- after-growth, and reopen-after-cache-drained — confirmed to match upstream Java behavior via a Maven repro against lucene-core 4.8.1. Benchmarked against the cached design and upstream Java (BDN on .NET 10, JMH on JDK 8): no-cache is within noise on 5/6 benchmarks; the only measurable cost is ~250 us over 100 sequential opens of the same file at 64 MB, a synthetic workload Lucene callers don't hit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ointers Rewrites the inner IndexInput to derive directly from IndexInput rather than BufferedIndexInput, and to read straight from cached raw pointers obtained once per chunk via SafeBuffer.AcquirePointer. ReadByte / ReadInt16 / ReadInt32 / ReadInt64 become single-bounds- check fast paths with no managed-buffer indirection; ReadVInt32, ReadVInt64, ReadString, etc. inherit from DataInput and call our fast ReadByte, so they pick up the speedup automatically. This mirrors upstream Java's ByteBufferIndexInput, which also derives directly from IndexInput. Per-chunk concurrency now uses a rent count + closed flag packed into a single int. A reader holds a "rent" on the chunk for as long as it caches that chunk's pointer (between chunk crossings, or until Seek / Dispose). Chunk.Close flips the closed bit immediately, but the actual ReleasePointer + accessor.Dispose is deferred until every outstanding rent has been released. This is the lazy-unmap pattern: Close never blocks, no SpinWait, and AccessViolationExceptions are structurally impossible because UnmapViewOfFile / munmap can't run while any rent is outstanding — fixing apache#1013 by construction rather than by retry. The fast path stores a precomputed `readBase` pointer (chunkBasePtr + baseOffset - chunkFileStart) so the hot-path load is a single *(readBase + pos) with no extra adds. ReadBytes uses Unsafe.CopyBlockUnaligned with a chunk-crossing loop. Cross-thread Dispose (slicer.Dispose tearing down slices being read on other threads — the apache#1013 scenario) clears currentEnd to 0 from any thread; the reader's next call falls into the slow path, observes the closed state, releases its own rent on its own thread, and throws AlreadyClosedException. Adds extensive unit tests in TestMultiMMap covering chunk-boundary crossings for every read entry point (ReadByte, ReadInt16/32/64, ReadVInt32/64, ReadBytes, Seek, SkipBytes), cross-thread Dispose during reads, post-X-thread-dispose read paths, slicer-Dispose-while- slices-being-read, double-dispose idempotency, sliced reads with non- zero base offsets across chunk boundaries, EOF at exact length, and zero-length file handling. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Final pre-merge review pass. Four small changes plus matching tests: - Drop unused Chunk.IsClosed property. Was only referenced by stale comments from an earlier design; no callers in source or tests. - Use Interlocked.Exchange instead of Volatile.Write to clear currentEnd from the cross-thread Dispose path. Lucene.NET still targets net462, where 64-bit writes can tear on 32-bit x86. The rent keeps the mapping alive so a torn write isn't a memory-safety bug, but it could let a disposed reader return one extra byte before throwing on the next call. Interlocked.Exchange is atomic on every supported runtime. - Validate offset/length in IndexInputSlicer.OpenSlice. Reject negative offset, negative length, and ranges that exceed the file. Previously a bad slice with offset+length > mapping.Length would read trailing zero bytes from the page-rounded mapping rather than failing — Java's MMapDirectory validates here too. - MMapIndexInput.Clone() now checks instanceClosed up front and throws AlreadyClosedException, rather than deferring the failure to the first read on the clone. Matches upstream Java's fail-fast contract. Tests: adds TestOpenSlice_OutOfBounds_Throws covering negative offsets/lengths, ranges past EOF, and the legitimate edge cases (empty slice at start, empty slice at file end, full file); TestCloneAfterRootDispose_ThrowsAlreadyClosed locking in the new Clone fail-fast contract; TestSliceNonZeroOffset_SeekToZero_ReadsSliceStart exercising slice-relative Seek(0) from a slice that begins mid-chunk. Updates TestCloneAfterDispose_ReadsThrowAlreadyClosed (the post- dispose half) to expect Clone() itself to throw. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…1090 retry loop MemoryMappedFile.CreateFromFile accepts capacity: 0 to mean "size the mapping from the file's current length on disk." The framework does its own stat as part of the mapping creation, so there is no caller-side capacity for the file size to disagree with — the race window that apache#1090 was about is closed at the API boundary. This also lets us drop the FileStream we were holding alongside SharedMapping. The only thing it was being used for was capturing fc.Length to feed into our retry loop, plus being kept alive so the mapping had a handle. The path-based CreateFromFile overload opens its own handle and disposes it with the MemoryMappedFile, so we no longer need our own. Removes the retry loop in CreateMemoryMappedFile, the s_capacityRetryCount and s_maxCapacityAttemptsObserved test-observability counters, and the fileStream field on SharedMapping. Rewrites TestOpenInputConcurrentFileExtension_Issue1090 from a "race fired and was retried" assertion into a "OpenInput succeeds under concurrent file extension" smoke test. With capacity: 0 the original race no longer reaches the framework, so 8700 OpenInput iterations over 15s observed zero retries before the change. The test now shortens to a 5s window and simply asserts that every OpenInput completes cleanly while another thread extends/truncates the file. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…-while-mapped The path-based MemoryMappedFile.CreateFromFile overload internally opens the file with FileShare.Read. On Windows that blocks any subsequent open-for-write or open-for-delete on the same file while we hold the mapping. Callers like FreeTextSuggester build a temp index, dispose the directory, and then recursively delete the directory; on Windows that recursive delete fails with "The process cannot access the file ... because it is being used by another process" because Windows requires FILE_SHARE_DELETE on the existing handle for a delete to proceed against an open file. Switch back to opening our own FileStream so we control the share flags. We use FileShare.ReadWrite | FileShare.Delete to match the prior behavior (other writers/deleters can proceed; Windows will defer the actual unlink until our last close, which is the standard Unix-like semantic the rest of the framework expects). We still pass capacity: 0 to CreateFromFile so the framework does its own size stat — the apache#1090 race window stays closed. leaveOpen: false hands the FileStream's lifetime to the MMF, so we don't have to track it as a SharedMapping field. Zero-length files are handled up front rather than letting CreateViewAccessor reject the empty view: we dispose the FileStream eagerly and return an empty SharedMapping. Caught by Windows CI: TestFreeTextSuggester.TestBasic and siblings failed with InvalidOperationException("failed to remove ...") wrapped around IOException("write.lock ... being used by another process") on net8.0 / net472 / net48 Windows runners. Linux passed because Linux's "delete while open" semantics don't depend on the open handle's share mode. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The slow path of ReadInt16/32/64 routed through base.ReadIntXX, which called back into our ReadByte 2-8 times via virtual dispatch. Replace with stackalloc + ReadBytes + BinaryPrimitives.ReadXxxBigEndian so the JIT can devirtualize the inner reads. ReadBytes(byte[]) and ReadBytes(Span<byte>) now share a private ReadBytesCore(ref byte, int) that takes a raw ref to skip the per-call Span ctor and per-iteration Slice/GetReference. Adds a small-copy switch (1/2/4/8) so the int slow paths avoid CopyBlockUnaligned entry overhead. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Chunk's basePtr/length fields are internal-readonly and used outside the type, so they were renamed to PascalCase per review. The API scan flags any non-public field that doesn't match camelCase; add an exception regex for these two as suggested in the review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ing cleanup SharedMapping now owns and deterministically disposes the backing FileStream (leaveOpen: true) instead of relying on the finalizer; the MemoryMappedFile only borrows the handle and never disposes the stream object. Adds internal test seams (MMapIndexInput.Mapping, SharedMapping.IsFileStreamDisposed) and tests asserting the stream is disposed on input/slicer dispose. Fixes the two DisposeWhileHandlingException misuses (CreateAttempt and MapChunks): dispose via the swallowing overload then rethrow with a bare throw, so the original stack trace is preserved and there is no double-throw. Removes the dead catch/dispose guards in OpenInput and CreateSlicer (the constructors only set fields and cannot throw there) and documents the mapping-ownership and slice-lifetime contracts. Corrects the test comment that implied AlreadyClosedException is a distinct type from ObjectDisposedException. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Wraps a real MMapDirectory in MockDirectoryWrapper and exercises the root input, slicer, and slice disposal paths. On dispose the wrapper throws "cannot close: there are still open files" if any directly-opened input/slicer/slice was not disposed, so this gates the MMap-specific disposal paths end to end (TestRandomChunkSizes already covers the OpenInput-via-IndexWriter path). Documents that clones are not tracked by upstream MockDirectoryWrapper and that this gate is at the IndexInput level, distinct from the FileStream-disposal seam test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ache#1013) Fixes a permanent leak of a MemoryMappedViewAccessor (and its mapped address space) when an MMapIndexInput is disposed on a different thread than the one holding its cached chunk rent, e.g. IndexInputSlicer.Dispose tearing down slices that other threads are still reading (the apache#1013 scenario). NightOwl888 reproduced this on PR apache#1267 as a non-zero undisposed-accessor openCount after a postings-format test run. Root cause: the cross-thread Dispose path correctly skips releasing the reader's rent (releasing it there could unmap the view under a live read, an AVE). But if that reader then stops reading without disposing on its own thread, the rent is never released, so the chunk's inFlight count stays >= 1, Chunk.ReleaseNative never runs, Chunk.accessor is never nulled and stays reachable via SharedMapping.Chunks[], so the accessor is never finalized and the view is never unmapped, for the process lifetime. Fix: on the cross-thread Dispose path, hand the stranded rent off to a finalizable StrandedRentReleaser whose finalizer calls Chunk.Release() exactly once. The releaser is a separate object (not a finalizer on MMapIndexInput, which the base IndexInput.Dispose() would un-arm via its unconditional GC.SuppressFinalize) referenced from the input, so its finalizer runs only once the input is unreachable, at which point no thread can be mid-read through it, making the Release (and any resulting unmap) AVE-safe. The same-thread Dispose path is unchanged and stays allocation- and finalizer-free; the hot read path is untouched. ReleaseCurrentChunk and HandOffStrandedRent both swap currentChunk via Interlocked.Exchange so a rent is released at most once. Adds TestStrandedChunkRentReclaimedByFinalizer (a TDD regression test that fails without the handoff and passes with it) plus two internal test-only Chunk seams (IsNativeReleased, IsNativeReleasedOrZeroRent). Verified against the nightly cross-thread/slicer stress tests (no AVE). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…integration) Rebasing onto master pulled in apache#1357 (path validation for FSDirectory), which added EnsureCanRead(name) to MMapDirectory.OpenInput. On master, CreateSlicer delegated to OpenInput, so it was covered transitively. The PR's redesigned CreateSlicer builds its own SharedMapping and no longer routes through OpenInput, so it would have silently dropped that validation. Call EnsureCanRead(name) directly in CreateSlicer to preserve apache#1357's behavior. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the hand-rolled per-chunk "rent" state machine (packed state/CLOSED_BIT/RENT_INC, TryAcquire/Release/Close/ReleaseNative CAS loops) with the BCL's own SafeMemoryMappedViewHandle refcount: a per-chunk-crossing AcquirePointer/ReleasePointer is the drain barrier, and accessor.Dispose() defers the actual unmap until all references drain and fails a later crossing fast (ObjectDisposedException -> AlreadyClosedException). This is the .NET-native equivalent of the custom rent, correct by construction, and apache#1151-safe because the reference is taken once per chunk crossing, not per read (a per-read refcount touch is the ~218x concurrency cliff apache#1151 is about). The cross-thread Dispose deferral is still required: a disposer must not release a read reference the acquiring reader may be mid-dereference of, or Chunk.Close could unmap the view under it (AVE). A same-thread Dispose releases directly; a cross-thread Dispose hands the reference to a finalizable StrandedReadRefReleaser that releases it once the input is unreachable. This is proven necessary by TestConcurrentSliceReadVsSlicerDispose, which AVEs without it. Tests: replace the finalizer-reclamation test with deterministic cross-thread-dispose and clone-dispose leak tests that assert chunk views and the backing FileStream are released synchronously (no GC.Collect/WaitForPendingFinalizers). The clone-dispose test closes the gap NightOwl888 hit (apache#1267): MockDirectoryWrapper's open-files gate does not track clones, so a clone leaking its view on its own Dispose would not fail that gate but would keep the file mapped (blocking overwrite/ delete on Windows). All 4 nightly concurrent race tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pull the Lucene.NET-specific raw-pointer chunked read engine out of MMapDirectory.MMapIndexInput into a reusable base class. Upstream Java keeps this logic in ByteBufferIndexInput (a real Store class), but ours is a .NET-specific invention with no Java counterpart, so it lives under Support/ per convention (and gets no compatibility-level header). The base owns the cursor, the fast read paths (ReadByte/ReadInt*/ ReadBytes), the chunk-crossing logic, and the concurrency/teardown coordination (per-crossing read reference, cross-thread strand deferral, StrandedReadRefReleaser). A subclass supplies only the chunk source via four members: ChunkCount, TryAcquireChunk(int, out byte*), ReleaseChunk(int), ChunkLength(int). The engine keys the cached chunk by int index and never sees the underlying MemoryMappedViewAccessor. MMapIndexInput becomes a thin subclass that wires those four to a SharedMapping's Chunks plus Clone/DisposeChunkSource. MMapDirectory.cs drops from ~1330 to ~760 lines; behavior is unchanged and all existing TestMultiMMap tests (incl. the 4 nightly concurrent race tests) pass. The extraction's payoff is testability: a managed-byte[]-backed UnsafeChunkIndexInput subclass can unit-test the engine logic without real mmap - no host-crashing AVEs, and the cross-thread strand path can be forced deterministically with a barrier. TestUnsafeChunkIndexInput adds such a fixture covering read correctness across chunk boundaries, fail-fast (read after close -> AlreadyClosed), reference lifecycle, and the forced cross-thread strand (a reader parked inside TryAcquireChunk while another thread disposes the clone; asserts the engine defers rather than releasing the reader's reference). The GC/finalizer reclamation tail is left to the deterministic real-mmap tests, as it is inherently timing-dependent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…hunkIndexInput Trim the //-comment prose in the two production source files (was ~40-53% of each file) down to what a reviewer needs: concurrency invariants, ordering requirements, platform gotchas, upstream-Java pointers, and issue references. Cut play-by-play narration, restatements of standard BCL behavior, repeated rationale, and hedging. No executable code, signatures, or control flow changed; XML-doc API summaries are left intact. Net -118 comment lines. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The TestApiConsistency.TestPrivateFieldNames lint requires non-public field names to be camelCase or ALL_CAPS (regex ^_?[a-z][a-zA-Z0-9_]*$|^[A-Z0-9_]+$). The PascalCase const NoChunk matched neither and failed the scan on every framework. Rename to NO_CHUNK, matching the codebase convention for consts (e.g. DEFAULT_MAX_BUFF). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ently (apache#1013) Pins the invariant that a same-thread Dispose of the owning MMapIndexInput is not the Java unmap-hack. The owning thread reads and disposes the master same-thread while N other threads read clones sharing the master's mapping. Disposing the owner closes the shared chunks (requesting unmap), but the SafeHandle refcount defers the actual unmap until every reader's outstanding AcquirePointer reference drains, so sibling readers never dereference a freed view. The owner releases only its own reference; sibling readers see valid bytes or AlreadyClosed, never an AVE. Ran 16,690 interleaved iterations in 15s on net10.0 with no AVE/NRE/IOException. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e#1151) Wire the MMapDirectory read engine to an IMMapReclaimer that defers each mapping's unmap until in-flight readers drain, replacing the cross-thread StrandedReadRefReleaser finalizer with a hazard-pointer-style handshake. - HazardMMapReclaimer: each reader owns a private depth slot; Enter announces a dereference and Exit drains it. Close publishes a closed flag and scans the slots, deferring the unmap until all readers drain (no AVE). Asymmetric fencing keeps the hot path fence-free where Interlocked.MemoryBarrierProcessWide is available (net core), falling back to a symmetric per-read barrier on net462/netstandard2.0. - Chunk caches its base pointer once at map time; the per-chunk-crossing AcquirePointer (the apache#1151 contention) is gone. Release performs the unmap. - UnsafeChunkIndexInput brackets each dereference with Enter/Exit; each clone re-registers for its own slot (ResetClonedCursor) so root and clones never share a depth counter. - Tests: rewrite the engine tests to the new model; add a PausingReclaimer that parks a reader inside the bracket to prove Close defers the unmap until drain. All engine + nightly real-mmap race tests pass (no AVE). Benchmark vs the finalizer: the asymmetric fence preserves the apache#1151 concurrency win (x8 ~4900 MiB/s, ~6x SimpleFS) but is still ~2.4x slower single-threaded; further hot-path optimization to follow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e reads Close the single-thread and concurrency gaps vs the finalizer baseline while keeping the lock-free, finalizer-free design. - Drop the IMMapReclaimer interface (HazardMMapReclaimer is the only impl); the read engine holds the concrete reclaimer + Slot, so Enter/Exit devirtualize and inline. - Asymmetric fencing: the hot path takes no StoreLoad barrier; Close issues a process-wide barrier (Interlocked.MemoryBarrierProcessWide, gated on the new FEATURE_MEMORYBARRIER_PROCESSWIDE) so every reader's announce is visible to the scan. net462/netstandard2.0 fall back to a symmetric per-read barrier. - The hot read paths call EnterCore/Exit directly instead of using/try-finally: the bracketed body is a raw Unsafe load that can only AVE (uncatchable) and never throws a managed exception, so the finally never runs. Removing the try region restores JIT enregistration and nearly halves SeqReadByte. Add a ReadScope ref struct for the using-friendly form (not on the hot path). - Tighten scopes to wrap only the dereference; tests use a slot OnEnterForTest hook instead of a reclaimer decorator. Benchmark (net10.0 Release, 64 MiB, 16 cores) vs the finalizer: SeqReadByte 1.71 vs 1.22 ns/byte (1.4x, and faster than SimpleFS 1.69) Concurrent x8 ~4900 vs 6293 MiB/s (78%, still ~4.6x SimpleFS) The apache#1151 concurrency win is preserved. All engine + nightly real-mmap race tests pass (no AVE). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Slot.Exit decremented Depth with a plain store on the fast path. The protected pointer load in the caller and the Depth-- have no data dependency, so on a weakly-ordered CPU (ARM64) the decrement could become globally visible before the load retires - letting Close's scan observe Depth==0 and unmap the page while the load is still outstanding (AccessViolationException). The asymmetric process-wide barrier in Close only orders the Enter/announce side; the Exit/retire side needs a release store so the load completes first. Use Volatile.Write for the decrement on all target frameworks (the net462/netstandard2.0 fallback already did this; the fast path had dropped it). Latent on x64 (TSO does not reorder loads after stores), reachable on ARM64. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Rename HazardMMapReclaimer -> DrainReclaimer: the type is not MMap-specific (Register/Enter/Exit/Close over any shared resource). It's a per-user drain barrier, hazard-pointer-inspired but using a re-entrancy counter rather than tagging a pointer, so the name reflects what it does. Generalize the class doc. - Use the ReadScope/using form on the bulk ReadBytesCore copy (amortized over a whole chunk, so the try-finally is negligible - confirmed 0.063 ns/byte), which also gives ReadScope/Enter() a real use instead of leaving them dead. - Fix accessor leak: the Chunk ctor now does a fallible AcquirePointer, so wrap its construction to dispose the in-flight accessor if it throws (it isn't in result[] yet, so DisposeChunks would miss it). - Refresh stale doc-comments that still described the old per-chunk-crossing read reference / SafeHandle-refcount drain model (the comment at the chunk- creation site actively contradicted the new cached-pointer code). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Unit tests for the lock-free DrainReclaimer primitive, independent of MMapDirectory: registration returns distinct slots, Enter/Exit balances and is re-entrant, the ReadScope using form ends the bracket, Enter after Close (and on a slot registered after Close) throws AlreadyClosed without leaving depth elevated, Close cleans up immediately when idle, defers while a user is inside the bracket (via the OnEnterForTest seam) then runs on drain, runs the cleanup exactly once with many users racing, and a nightly concurrent stress test asserting the cleanup never runs while a user is inside the bracket (the use-after-free analog) across 2000 iterations. Also sort the netstandard2.1+ FEATURE_* DefineConstants alphabetically. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add #nullable enable to match the adjacent Support/ files and annotate the two null-bearing fields (_unmap, OnEnterForTest). The _unmap invocation in TryReclaim uses the null-forgiving operator with a comment: it is non-null there by the Close-publishes-before-_closed invariant the analyzer can't see across methods. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add two MMapDirectory tests for the determinism guarantee against real mapped memory, using only the existing zero-cost SetOnEnterForTest seam (a null-check already on the hot path - no new production overhead): - TestCloseWhileCloneReadingDefersUnmapThenReleasesOnDrain: the owner is disposed WHILE a clone is parked mid-read; the chunks must stay mapped (deferred), then unmap the instant that last reader drains - with no GC/finalizer step. This is the close-while-reading ordering the existing tests didn't cover. - TestLastSliceFinishedThenSlicerDisposeUnmapsDeterministically: a slice reads to completion (drained), then the slicer is disposed -> every chunk and the FileStream are unmapped synchronously. Also sweep the MMap tests + comments inherited from the mmap-redesign branch that described the old per-chunk-crossing read-reference / SafeHandle-refcount drain / "shared View" / TryEnterRead / "chunk rent" model, which no longer exists on this branch, and rephrase them for the DrainReclaimer design. Comment-only; behavior and assertions unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Instead of deferring the cleanup to whichever reader drains last, Close now spin-waits (SpinWait, which escalates to yielding) until every in-flight user has drained, then runs the cleanup inline. So SharedMapping.Dispose is now synchronous: when it returns, the views are unmapped and the FileStream is closed - matching the Lucene 10.x shared-Arena close model (which likewise spins the closing thread). This is deadlock-free under the one-input-per-thread contract: a bracket is never held across calls (each read closes its own Enter/Exit before returning), so the thread calling Close can never itself hold a bracket open. The wait only ever blocks on other threads' short, bounded reads. Simplifies the primitive: Exit is now a plain release-store decrement (no reclaim trigger), and the _unmap field, _reclaimed once-guard, and the 100ms spin bound are gone. Read hot path is unchanged (AdventureWorks apache#1151 MMap parallel ~0.66s, same as before; Exit is now cheaper). Updated the tests that asserted the deferred behavior to assert blocking + synchronous unmap. All engine + 4 nightly real-mmap race tests pass on arm64 (no AVE). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…imary Add the missing [LuceneNetSpecific] attribute to TestSharedMappingLifecycle (it tests the LUCENENET-specific SharedMapping/single-MemoryMappedFile-per-file refactor and has no upstream Java counterpart; the other untagged tests in this file are genuine 4.8.1 Java ports and correctly stay untagged). Also rename the "master" IndexInput local/prose to "primary" in the three tests added in this PR (TestConcurrentCloneReadVsDispose_Issue1013, TestSameThreadOwnerDisposeWhileSiblingClonesRead_NoAVE, TestConcurrentCloneVsDispose_RaceScenario) for culturally-aware terminology, and refresh two stale comments that said the reclaimer "defers" the unmap (it now blocks until drained). The Java-ported TestCloneSafety keeps its original wording. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…dNames These PascalCase internal fields can't satisfy the camelCase/ALL_CAPS private- field rule: Depth is accessed via ref (Volatile.Read/Write(ref slot.Depth)), so it must stay a field, and OnEnterForTest is the test seam. Add both to the exception regex, matching the existing precedent for MMapDirectory+Chunk. BasePtr/Length (same situation: ref-accessed field-like members of a nested helper class). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ture flag Delete ConcurrentDictionaryExtensions (TryRemove(KeyValuePair)) - it was added during early MMap PR feedback for a ConcurrentDictionary-based mapping registry that was replaced by SharedMapping/DrainReclaimer, and now has zero usages. Also drop its companion gate FEATURE_CONCURRENTDICTIONARY_TRYREMOVE_KEYVALUEPAIR (new in this PR, used nowhere else). Rename FEATURE_MEMORYBARRIER_PROCESSWIDE -> FEATURE_INTERLOCKED_MEMORYBARRIERPROCESSWIDE to match the FEATURE_<TYPE>_<MEMBER> convention (the API is Interlocked.MemoryBarrierProcessWide), like FEATURE_CONDITIONALWEAKTABLE_ENUMERATOR / FEATURE_STREAM_READEXACTLY. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
This is now ready for review. All tests pass here on GitHub and I simplified the cleanup logic so that it no longer tries to clean up on Exit, but instead spin-waits (like Lucene 10.x) at the close caller until all critical regions have exited. This means that the cleanup is back to being truly deterministic (although, like in Lucene 10.x, subsequent readers that try to enter a critical region after close has been requested will get an AlreadyClosedException). I feel good enough about this that I'm going to mark #1361 as draft just for reference. Edit: I had my build runs mixed up on ADO. There is one failure I'll investigate on net48: |
TestCrossThreadCloneDisposeWhileReading crashed the test host on net48 x64 with a NullReferenceException in ReadByte at *(readBase + pos): a clone being read on thread A was disposed on thread B, and Dispose called ReleaseCurrentChunk(), nulling readBase while thread A sat between its `pos < currentEnd` check and its dereference. Dispose now only zeroes currentEnd (the fail-fast gate) and no longer nulls readBase. There is no native reference tied to the cursor (the DrainReclaimer owns reclamation, and keeps the view mapped until the owning root closes), so a stale readBase is harmless: the in-flight read completes against the still-mapped view, and the zeroed currentEnd makes every subsequent read drop to the slow path and throw AlreadyClosed. readBase is now only ever nulled by the reading thread itself (Seek / EnsureCurrentChunk / clone setup), never cross-thread, so the race is structurally eliminated. The fields are GC'd with the instance. Latent on net10 (timing-lucky in CI); manifested as a host crash on net48 x64. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Okay, I haven't reviewed the code yet, but I checked the behavior. I did a complete test run in Release mode locally and here is the test log: {
"assert": "true",
"tests": {
"awaitsfix": "false",
"verbose": "false"
}
}Test Log========== Starting test run ==========
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests._A-D\bin\Release\net10.0\Lucene.Net.Tests._A-D.dll
NUnit3TestExecutor discovered 682 of 682 NUnit test cases using Current Discovery mode, Non-Explicit run
TestWriteReadMerge: impersonation isn't good enough
Expected: True
But was: False
TestByteMissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestInt16MissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestInt32MissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestInt64MissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestSortedSetFixedLengthSingleValuedVsStoredFields: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetFixedLengthVsStoredFields: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetFixedLengthVsUninvertedField: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetMergeAwayAllValues: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetOneValue: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTermsEnum: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetThreeValuesTwoDocs: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoDocumentsFirstMissing: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoDocumentsFirstMissingMerge: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoDocumentsLastMissing: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoDocumentsLastMissingMerge: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoDocumentsMerged: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoFields: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoValues: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoValuesUnordered: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetVariableLengthSingleValuedVsStoredFields: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetVariableLengthVsStoredFields: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetVariableLengthVsUninvertedField: Codec does not support SORTED_SET
Expected: True
But was: False
TestThreads2: Codec does not support GetDocsWithField
Expected: True
But was: False
TestThreeBytesOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestThreeNumbersOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoBytesOneMissing: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoBytesOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoNumbersOneMissing: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoNumbersOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestByteMissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestInt16MissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestInt32MissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestInt64MissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestThreads2: Codec does not support GetDocsWithField
Expected: True
But was: False
TestThreeBytesOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestThreeNumbersOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoBytesOneMissing: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoBytesOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoNumbersOneMissing: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoNumbersOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestHugeBinaryValueLimit: test requires codec with limits on max binary field length
Expected: True
But was: False
TestHugeBinaryValueLimit: test requires codec with limits on max binary field length
Expected: True
But was: False
TestMergeStability: The MockRandom PF randomizes content on the fly, so we can't check it
Expected: True
But was: False
TestLaaaaaargeOutput: Ignored in Lucene
TestProgressiveOutput: Ignored in Lucene
TestThreadLeak: Ignored in Lucene
TestTimeout: Ignored in Lucene
TestUncaughtException: Ignored in Lucene
TestZombie: Ignored in Lucene
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests._E-I\bin\Release\net10.0\Lucene.Net.Tests._E-I.dll
NUnit3TestExecutor discovered 433 of 433 NUnit test cases using Current Discovery mode, Non-Explicit run
TestFixedBinary: OneTimeSetUp: takes ~ 45 minutes
TestVariableBinary: OneTimeSetUp: takes ~ 45 minutes
TestNumerics: OneTimeSetUp: takes ~ 30 minutes
Test: Very slow. Enable manually by removing Ignore.
Test: LUCENENET specific - takes too long to run on Azure DevOps
Test: Very slow. Enable manually by removing Ignore.
Test2BOrds: OneTimeSetUp: very slow
TestFixedSorted: OneTimeSetUp: very slow
Test2BTerms_Mem: OneTimeSetUp: SimpleText codec will consume very large amounts of memory.
IFD 0 [4/07/2026 17:15:36; .NET TP Worker]: init: current segments file is "segments_3"; deletionPolicy=Lucene.Net.Index.KeepOnlyLastCommitDeletionPolicyIFD 0 [4/07/2026 17:15:36; .NET TP Worker]: init: load commit "segments_3"IFD 0 [4/07/2026 17:15:36; .NET TP Worker]: now checkpoint "_0(4.0):c10/1:delGen=1 _1(4.0):c10 _2(4.0):c10 _3(4.0):c5 _4(4.0):c1" [5 segments ; isCommit = False]IFD 0 [4/07/2026 17:15:36; .NET TP Worker]: 0 msec to checkpointIW 0 [4/07/2026 17:15:36; .NET TP Worker]: init: create=FalseIW 0 [4/07/2026 17:15:36; .NET TP Worker]:
dir=NIOFSDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.cfs-1m5kxkop lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.cfs-1m5kxkop
index=_0(4.0):c10/1:delGen=1 _1(4.0):c10 _2(4.0):c10 _3(4.0):c5 _4(4.0):c1
version=4.8.0
matchVersion=LUCENE_CURRENT
analyzer=null
ramBufferSizeMB=16
maxBufferedDocs=-1
maxBufferedDeleteTerms=-1
mergedSegmentWarmer=
readerTermsIndexDivisor=1
termIndexInterval=32
delPolicy=KeepOnlyLastCommitDeletionPolicy
commit=null
openMode=CREATE_OR_APPEND
similarity=DefaultSimilarity
mergeScheduler=ConcurrentMergeScheduler: maxThreadCount=1, maxMergeCount=2, mergeThreadPriority=-1
default WRITE_LOCK_TIMEOUT=1000
writeLockTimeout=1000
codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453))
infoStream=TextWriterInfoStream
mergePolicy=[UpgradeIndexMergePolicy->[TieredMergePolicy: maxMergeAtOnce=10, maxMergeAtOnceExplicit=30, maxMergedSegmentMB=5120, floorSegmentMB=2, forceMergeDeletesPctAllowed=10, segmentsPerTier=10, maxCFSSegmentSizeMB=8796093022207,999, noCFSRatio=0,1]
indexerThreadPool=Lucene.Net.Index.DocumentsWriterPerThreadPool
readerPooling=False
perThreadHardLimitMB=1945
useCompoundFile=True
checkIntegrityAtMerge=False
IndexUpgrader 0 [4/07/2026 17:15:36; .NET TP Worker]: Upgrading all pre-4.8 segments of index directory 'NIOFSDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.cfs-1m5kxkop lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.cfs-1m5kxkop' to version 4.8...IW 0 [4/07/2026 17:15:36; .NET TP Worker]: forceMerge: index now _0(4.0):c10/1:delGen=1 _1(4.0):c10 _2(4.0):c10 _3(4.0):c5 _4(4.0):c1IW 0 [4/07/2026 17:15:36; .NET TP Worker]: now flush at forceMergeTP 0 [4/07/2026 17:15:36; .NET TP Worker]: startDoFlushIW 0 [4/07/2026 17:15:36; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 0 [4/07/2026 17:15:36; .NET TP Worker]: index before flush _0(4.0):c10/1:delGen=1 _1(4.0):c10 _2(4.0):c10 _3(4.0):c5 _4(4.0):c1DW 0 [4/07/2026 17:15:36; .NET TP Worker]: startFullFlushDW 0 [4/07/2026 17:15:36; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 0 [4/07/2026 17:15:36; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 0 [4/07/2026 17:15:36; .NET TP Worker]: apply all deletes during flushBD 0 [4/07/2026 17:15:36; .NET TP Worker]: applyDeletes: no deletes; skippingBD 0 [4/07/2026 17:15:36; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0UPGMP 0 [4/07/2026 17:15:36; .NET TP Worker]: findForcedMerges: segmentsToUpgrade={_0(4.0):c10/1:delGen=1=true, _1(4.0):c10=true, _2(4.0):c10=true, _3(4.0):c5=true, _4(4.0):c1=true}TMP 0 [4/07/2026 17:15:36; .NET TP Worker]: FindForcedMerges maxSegmentCount=1 infos=_0(4.0):c10/1:delGen=1 _1(4.0):c10 _2(4.0):c10 _3(4.0):c5 _4(4.0):c1 segmentsToMerge={_0(4.0):c10/1:delGen=1=true, _1(4.0):c10=true, _2(4.0):c10=true, _3(4.0):c5=true, _4(4.0):c1=true}TMP 0 [4/07/2026 17:15:36; .NET TP Worker]: eligible=[_1(4.0):c10, _2(4.0):c10, _0(4.0):c10/1:delGen=1, _3(4.0):c5, _4(4.0):c1]TMP 0 [4/07/2026 17:15:36; .NET TP Worker]: forceMergeRunning=FalseTMP 0 [4/07/2026 17:15:36; .NET TP Worker]: add final merge=_1(4.0):c10 _2(4.0):c10 _0(4.0):c10/1:delGen=1 _3(4.0):c5 _4(4.0):c1IW 0 [4/07/2026 17:15:36; .NET TP Worker]: add merge to pendingMerges: _1(4.0):c10 _2(4.0):c10 _0(4.0):c10/1:delGen=1 _3(4.0):c5 _4(4.0):c1 [total 1 pending]IW 0 [4/07/2026 17:15:36; .NET TP Worker]: registerMerge merging= []IW 0 [4/07/2026 17:15:36; .NET TP Worker]: registerMerge info=_1(4.0):c10IW 0 [4/07/2026 17:15:36; .NET TP Worker]: registerMerge info=_2(4.0):c10IW 0 [4/07/2026 17:15:36; .NET TP Worker]: registerMerge info=_0(4.0):c10/1:delGen=1IW 0 [4/07/2026 17:15:36; .NET TP Worker]: registerMerge info=_3(4.0):c5IW 0 [4/07/2026 17:15:36; .NET TP Worker]: registerMerge info=_4(4.0):c1CMS 0 [4/07/2026 17:15:36; .NET TP Worker]: now mergeCMS 0 [4/07/2026 17:15:36; .NET TP Worker]: index: _0(4.0):c10/1:delGen=1 _1(4.0):c10 _2(4.0):c10 _3(4.0):c5 _4(4.0):c1CMS 0 [4/07/2026 17:15:36; .NET TP Worker]: consider merge _1(4.0):c10 _2(4.0):c10 _0(4.0):c10/1:delGen=1 _3(4.0):c5 _4(4.0):c1CMS 0 [4/07/2026 17:15:36; .NET TP Worker]: launch new thread [Lucene Merge Thread #0]CMS 0 [4/07/2026 17:15:36; .NET TP Worker]: set priority of merge thread Lucene Merge Thread #0 to 3CMS 0 [4/07/2026 17:15:36; .NET TP Worker]: no more merges pending; now returnCMS 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: merge thread: startTP 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: startMergeInitBD 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: applyDeletes: no deletes; skippingBD 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0IW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: merge seg=_5 _1(4.0):c10 _2(4.0):c10 _0(4.0):c10/1:delGen=1 _3(4.0):c5 _4(4.0):c1IW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: now merge
merge=_1(4.0):c10 _2(4.0):c10 _0(4.0):c10/1:delGen=1 _3(4.0):c5 _4(4.0):c1
index=_0(4.0):c10/1:delGen=1 _1(4.0):c10 _2(4.0):c10 _3(4.0):c5 _4(4.0):c1IW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: merging _1(4.0):c10 _2(4.0):c10 _0(4.0):c10/1:delGen=1 _3(4.0):c5 _4(4.0):c1IW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: seg=_1(4.0):c10 no deletesIW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: seg=_2(4.0):c10 no deletesIW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: seg=_0(4.0):c10/1:delGen=1 delCount=1IW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: seg=_3(4.0):c5 no deletesIW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: seg=_4(4.0):c1 no deletesSM 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: merge store matchedCount=5 vs 5SM 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: 8 msec to merge stored fields [35 docs]SM 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: 36 msec to merge postings [35 docs]SM 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: 24 msec to merge doc values [35 docs]SM 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: 15 msec to merge norms [35 docs]SM 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: 26 msec to merge vectors [35 docs]IW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: merge codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453)) docCount=35; merged segment has vectors; norms; docValues; prox; freqsIW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: merged segment size=0.018 MB vs estimate=0.046 MBTP 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: startCommitMergeIW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: commitMerge: _1(4.0):c10 _2(4.0):c10 _0(4.0):c10/1:delGen=1 _3(4.0):c5 _4(4.0):c1 index=_0(4.0):c10/1:delGen=1 _1(4.0):c10 _2(4.0):c10 _3(4.0):c5 _4(4.0):c1TP 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: startCommitMergeDeletesIW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: commitMergeDeletes _1(4.0):c10 _2(4.0):c10 _0(4.0):c10/1:delGen=1 _3(4.0):c5 _4(4.0):c1IW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: no new deletes or field updates since merge startedIFD 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = False]IFD 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: 0 msec to checkpointIW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: after commitMerge: _5(4.8):C35UPGMP 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: findForcedMerges: segmentsToUpgrade={}IW 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: merge time 141 msec for 35 docsCMS 0 [4/07/2026 17:15:36; Lucene Merge Thread #0]: merge thread: doneIndexUpgrader 0 [4/07/2026 17:15:36; .NET TP Worker]: All segments upgraded to version 4.8IW 0 [4/07/2026 17:15:36; .NET TP Worker]: now flush at close waitForMerges=TrueTP 0 [4/07/2026 17:15:36; .NET TP Worker]: startDoFlushIW 0 [4/07/2026 17:15:36; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 0 [4/07/2026 17:15:36; .NET TP Worker]: index before flush _5(4.8):C35DW 0 [4/07/2026 17:15:36; .NET TP Worker]: startFullFlushDW 0 [4/07/2026 17:15:36; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 0 [4/07/2026 17:15:36; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 0 [4/07/2026 17:15:36; .NET TP Worker]: apply all deletes during flushBD 0 [4/07/2026 17:15:36; .NET TP Worker]: applyDeletes: no deletes; skippingBD 0 [4/07/2026 17:15:36; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0CMS 0 [4/07/2026 17:15:36; .NET TP Worker]: now mergeCMS 0 [4/07/2026 17:15:36; .NET TP Worker]: index: _5(4.8):C35CMS 0 [4/07/2026 17:15:36; .NET TP Worker]: no more merges pending; now returnIW 0 [4/07/2026 17:15:36; .NET TP Worker]: waitForMergesIW 0 [4/07/2026 17:15:36; .NET TP Worker]: waitForMerges doneIW 0 [4/07/2026 17:15:36; .NET TP Worker]: now call final commit()IW 0 [4/07/2026 17:15:36; .NET TP Worker]: commit: startIW 0 [4/07/2026 17:15:36; .NET TP Worker]: commit: enter lockIW 0 [4/07/2026 17:15:36; .NET TP Worker]: commit: now prepareIW 0 [4/07/2026 17:15:36; .NET TP Worker]: prepareCommit: flushIW 0 [4/07/2026 17:15:36; .NET TP Worker]: index before flush _5(4.8):C35TP 0 [4/07/2026 17:15:36; .NET TP Worker]: startDoFlushDW 0 [4/07/2026 17:15:36; .NET TP Worker]: startFullFlushDW 0 [4/07/2026 17:15:36; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseIW 0 [4/07/2026 17:15:36; .NET TP Worker]: apply all deletes during flushBD 0 [4/07/2026 17:15:36; .NET TP Worker]: applyDeletes: no deletes; skippingBD 0 [4/07/2026 17:15:36; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0DW 0 [4/07/2026 17:15:36; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueTP 0 [4/07/2026 17:15:36; .NET TP Worker]: startStartCommitIW 0 [4/07/2026 17:15:36; .NET TP Worker]: StartCommit(): startIW 0 [4/07/2026 17:15:36; .NET TP Worker]: startCommit index=_5(4.8):C35 changeCount=2TP 0 [4/07/2026 17:15:36; .NET TP Worker]: midStartCommitTP 0 [4/07/2026 17:15:36; .NET TP Worker]: midStartCommit2IW 0 [4/07/2026 17:15:37; .NET TP Worker]: done all syncs: [_5.fdx, _5.fdt, _5_Lucene41_0.doc, _5_Lucene41_0.pos, _5_Lucene41_0.pay, _5_Lucene41_0.tim, _5_Lucene41_0.tip, _5_Lucene45_0.dvd, _5_Lucene45_0.dvm, _5.nvd, _5.nvm, _5.tvx, _5.tvd, _5.fnm, _5.si]TP 0 [4/07/2026 17:15:37; .NET TP Worker]: midStartCommitSuccessTP 0 [4/07/2026 17:15:37; .NET TP Worker]: finishStartCommitIW 0 [4/07/2026 17:15:37; .NET TP Worker]: commit: pendingCommit != nullIW 0 [4/07/2026 17:15:37; .NET TP Worker]: commit: wrote segments file "segments_4"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = True]IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: deleteCommits: now decRef commit "segments_3"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "segments_3"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0.cfs"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0.cfe"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0.si"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0_1.del"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1.si"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1.cfs"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1.cfe"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2.si"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2.cfs"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2.cfe"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3.cfs"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3.si"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3.cfe"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4.cfe"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4.si"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4.cfs"IFD 0 [4/07/2026 17:15:37; .NET TP Worker]: 27 msec to checkpointIW 0 [4/07/2026 17:15:37; .NET TP Worker]: commit: doneIW 0 [4/07/2026 17:15:37; .NET TP Worker]: at close: _5(4.8):C35IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: init: current segments file is "segments_3"; deletionPolicy=Lucene.Net.Index.KeepOnlyLastCommitDeletionPolicyIFD 1 [4/07/2026 17:15:37; .NET TP Worker]: init: load commit "segments_3"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: now checkpoint "_0(4.0):C10/1:delGen=1 _1(4.0):C10 _2(4.0):C10 _3(4.0):C5 _4(4.0):C1" [5 segments ; isCommit = False]IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: 0 msec to checkpointIW 1 [4/07/2026 17:15:37; .NET TP Worker]: init: create=FalseIW 1 [4/07/2026 17:15:37; .NET TP Worker]:
dir=SimpleFSDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.nocfs-qibucayw lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.nocfs-qibucayw
index=_0(4.0):C10/1:delGen=1 _1(4.0):C10 _2(4.0):C10 _3(4.0):C5 _4(4.0):C1
version=4.8.0
matchVersion=LUCENE_CURRENT
analyzer=null
ramBufferSizeMB=16
maxBufferedDocs=-1
maxBufferedDeleteTerms=-1
mergedSegmentWarmer=
readerTermsIndexDivisor=1
termIndexInterval=32
delPolicy=KeepOnlyLastCommitDeletionPolicy
commit=null
openMode=CREATE_OR_APPEND
similarity=DefaultSimilarity
mergeScheduler=ConcurrentMergeScheduler: maxThreadCount=1, maxMergeCount=2, mergeThreadPriority=-1
default WRITE_LOCK_TIMEOUT=1000
writeLockTimeout=1000
codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453))
infoStream=TextWriterInfoStream
mergePolicy=[UpgradeIndexMergePolicy->[TieredMergePolicy: maxMergeAtOnce=10, maxMergeAtOnceExplicit=30, maxMergedSegmentMB=5120, floorSegmentMB=2, forceMergeDeletesPctAllowed=10, segmentsPerTier=10, maxCFSSegmentSizeMB=8796093022207,999, noCFSRatio=0,1]
indexerThreadPool=Lucene.Net.Index.DocumentsWriterPerThreadPool
readerPooling=False
perThreadHardLimitMB=1945
useCompoundFile=True
checkIntegrityAtMerge=False
IndexUpgrader 1 [4/07/2026 17:15:37; .NET TP Worker]: Upgrading all pre-4.8 segments of index directory 'SimpleFSDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.nocfs-qibucayw lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.nocfs-qibucayw' to version 4.8...IW 1 [4/07/2026 17:15:37; .NET TP Worker]: forceMerge: index now _0(4.0):C10/1:delGen=1 _1(4.0):C10 _2(4.0):C10 _3(4.0):C5 _4(4.0):C1IW 1 [4/07/2026 17:15:37; .NET TP Worker]: now flush at forceMergeTP 1 [4/07/2026 17:15:37; .NET TP Worker]: startDoFlushIW 1 [4/07/2026 17:15:37; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 1 [4/07/2026 17:15:37; .NET TP Worker]: index before flush _0(4.0):C10/1:delGen=1 _1(4.0):C10 _2(4.0):C10 _3(4.0):C5 _4(4.0):C1DW 1 [4/07/2026 17:15:37; .NET TP Worker]: startFullFlushDW 1 [4/07/2026 17:15:37; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 1 [4/07/2026 17:15:37; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 1 [4/07/2026 17:15:37; .NET TP Worker]: apply all deletes during flushBD 1 [4/07/2026 17:15:37; .NET TP Worker]: applyDeletes: no deletes; skippingBD 1 [4/07/2026 17:15:37; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0UPGMP 1 [4/07/2026 17:15:37; .NET TP Worker]: findForcedMerges: segmentsToUpgrade={_0(4.0):C10/1:delGen=1=true, _1(4.0):C10=true, _2(4.0):C10=true, _3(4.0):C5=true, _4(4.0):C1=true}TMP 1 [4/07/2026 17:15:37; .NET TP Worker]: FindForcedMerges maxSegmentCount=1 infos=_0(4.0):C10/1:delGen=1 _1(4.0):C10 _2(4.0):C10 _3(4.0):C5 _4(4.0):C1 segmentsToMerge={_0(4.0):C10/1:delGen=1=true, _1(4.0):C10=true, _2(4.0):C10=true, _3(4.0):C5=true, _4(4.0):C1=true}TMP 1 [4/07/2026 17:15:37; .NET TP Worker]: eligible=[_1(4.0):C10, _2(4.0):C10, _0(4.0):C10/1:delGen=1, _3(4.0):C5, _4(4.0):C1]TMP 1 [4/07/2026 17:15:37; .NET TP Worker]: forceMergeRunning=FalseTMP 1 [4/07/2026 17:15:37; .NET TP Worker]: add final merge=_1(4.0):C10 _2(4.0):C10 _0(4.0):C10/1:delGen=1 _3(4.0):C5 _4(4.0):C1IW 1 [4/07/2026 17:15:37; .NET TP Worker]: add merge to pendingMerges: _1(4.0):C10 _2(4.0):C10 _0(4.0):C10/1:delGen=1 _3(4.0):C5 _4(4.0):C1 [total 1 pending]IW 1 [4/07/2026 17:15:37; .NET TP Worker]: registerMerge merging= []IW 1 [4/07/2026 17:15:37; .NET TP Worker]: registerMerge info=_1(4.0):C10IW 1 [4/07/2026 17:15:37; .NET TP Worker]: registerMerge info=_2(4.0):C10IW 1 [4/07/2026 17:15:37; .NET TP Worker]: registerMerge info=_0(4.0):C10/1:delGen=1IW 1 [4/07/2026 17:15:37; .NET TP Worker]: registerMerge info=_3(4.0):C5IW 1 [4/07/2026 17:15:37; .NET TP Worker]: registerMerge info=_4(4.0):C1CMS 1 [4/07/2026 17:15:37; .NET TP Worker]: now mergeCMS 1 [4/07/2026 17:15:37; .NET TP Worker]: index: _0(4.0):C10/1:delGen=1 _1(4.0):C10 _2(4.0):C10 _3(4.0):C5 _4(4.0):C1CMS 1 [4/07/2026 17:15:37; .NET TP Worker]: consider merge _1(4.0):C10 _2(4.0):C10 _0(4.0):C10/1:delGen=1 _3(4.0):C5 _4(4.0):C1CMS 1 [4/07/2026 17:15:37; .NET TP Worker]: launch new thread [Lucene Merge Thread #0]CMS 1 [4/07/2026 17:15:37; .NET TP Worker]: set priority of merge thread Lucene Merge Thread #0 to 3CMS 1 [4/07/2026 17:15:37; .NET TP Worker]: no more merges pending; now returnCMS 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: merge thread: startTP 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: startMergeInitBD 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: applyDeletes: no deletes; skippingBD 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0IW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: merge seg=_5 _1(4.0):C10 _2(4.0):C10 _0(4.0):C10/1:delGen=1 _3(4.0):C5 _4(4.0):C1IW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: now merge
merge=_1(4.0):C10 _2(4.0):C10 _0(4.0):C10/1:delGen=1 _3(4.0):C5 _4(4.0):C1
index=_0(4.0):C10/1:delGen=1 _1(4.0):C10 _2(4.0):C10 _3(4.0):C5 _4(4.0):C1IW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: merging _1(4.0):C10 _2(4.0):C10 _0(4.0):C10/1:delGen=1 _3(4.0):C5 _4(4.0):C1IW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: seg=_1(4.0):C10 no deletesIW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: seg=_2(4.0):C10 no deletesIW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: seg=_0(4.0):C10/1:delGen=1 delCount=1IW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: seg=_3(4.0):C5 no deletesIW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: seg=_4(4.0):C1 no deletesSM 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: merge store matchedCount=5 vs 5SM 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: 7 msec to merge stored fields [35 docs]SM 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: 35 msec to merge postings [35 docs]SM 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: 28 msec to merge doc values [35 docs]SM 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: 13 msec to merge norms [35 docs]SM 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: 28 msec to merge vectors [35 docs]IW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: merge codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453)) docCount=35; merged segment has vectors; norms; docValues; prox; freqsIW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: merged segment size=0.015 MB vs estimate=0.042 MBTP 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: startCommitMergeIW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: commitMerge: _1(4.0):C10 _2(4.0):C10 _0(4.0):C10/1:delGen=1 _3(4.0):C5 _4(4.0):C1 index=_0(4.0):C10/1:delGen=1 _1(4.0):C10 _2(4.0):C10 _3(4.0):C5 _4(4.0):C1TP 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: startCommitMergeDeletesIW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: commitMergeDeletes _1(4.0):C10 _2(4.0):C10 _0(4.0):C10/1:delGen=1 _3(4.0):C5 _4(4.0):C1IW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: no new deletes or field updates since merge startedIFD 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = False]IFD 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: 0 msec to checkpointIW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: after commitMerge: _5(4.8):C35UPGMP 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: findForcedMerges: segmentsToUpgrade={}IW 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: merge time 161 msec for 35 docsCMS 1 [4/07/2026 17:15:37; Lucene Merge Thread #0]: merge thread: doneIndexUpgrader 1 [4/07/2026 17:15:37; .NET TP Worker]: All segments upgraded to version 4.8IW 1 [4/07/2026 17:15:37; .NET TP Worker]: now flush at close waitForMerges=TrueTP 1 [4/07/2026 17:15:37; .NET TP Worker]: startDoFlushIW 1 [4/07/2026 17:15:37; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 1 [4/07/2026 17:15:37; .NET TP Worker]: index before flush _5(4.8):C35DW 1 [4/07/2026 17:15:37; .NET TP Worker]: startFullFlushDW 1 [4/07/2026 17:15:37; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 1 [4/07/2026 17:15:37; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 1 [4/07/2026 17:15:37; .NET TP Worker]: apply all deletes during flushBD 1 [4/07/2026 17:15:37; .NET TP Worker]: applyDeletes: no deletes; skippingBD 1 [4/07/2026 17:15:37; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0CMS 1 [4/07/2026 17:15:37; .NET TP Worker]: now mergeCMS 1 [4/07/2026 17:15:37; .NET TP Worker]: index: _5(4.8):C35CMS 1 [4/07/2026 17:15:37; .NET TP Worker]: no more merges pending; now returnIW 1 [4/07/2026 17:15:37; .NET TP Worker]: waitForMergesIW 1 [4/07/2026 17:15:37; .NET TP Worker]: waitForMerges doneIW 1 [4/07/2026 17:15:37; .NET TP Worker]: now call final commit()IW 1 [4/07/2026 17:15:37; .NET TP Worker]: commit: startIW 1 [4/07/2026 17:15:37; .NET TP Worker]: commit: enter lockIW 1 [4/07/2026 17:15:37; .NET TP Worker]: commit: now prepareIW 1 [4/07/2026 17:15:37; .NET TP Worker]: prepareCommit: flushIW 1 [4/07/2026 17:15:37; .NET TP Worker]: index before flush _5(4.8):C35TP 1 [4/07/2026 17:15:37; .NET TP Worker]: startDoFlushDW 1 [4/07/2026 17:15:37; .NET TP Worker]: startFullFlushDW 1 [4/07/2026 17:15:37; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseIW 1 [4/07/2026 17:15:37; .NET TP Worker]: apply all deletes during flushBD 1 [4/07/2026 17:15:37; .NET TP Worker]: applyDeletes: no deletes; skippingBD 1 [4/07/2026 17:15:37; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0DW 1 [4/07/2026 17:15:37; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueTP 1 [4/07/2026 17:15:37; .NET TP Worker]: startStartCommitIW 1 [4/07/2026 17:15:37; .NET TP Worker]: StartCommit(): startIW 1 [4/07/2026 17:15:37; .NET TP Worker]: startCommit index=_5(4.8):C35 changeCount=2TP 1 [4/07/2026 17:15:37; .NET TP Worker]: midStartCommitTP 1 [4/07/2026 17:15:37; .NET TP Worker]: midStartCommit2IW 1 [4/07/2026 17:15:37; .NET TP Worker]: done all syncs: [_5.fdx, _5.fdt, _5_Lucene41_0.doc, _5_Lucene41_0.pos, _5_Lucene41_0.pay, _5_Lucene41_0.tim, _5_Lucene41_0.tip, _5_Lucene45_0.dvd, _5_Lucene45_0.dvm, _5.nvd, _5.nvm, _5.tvx, _5.tvd, _5.fnm, _5.si]TP 1 [4/07/2026 17:15:37; .NET TP Worker]: midStartCommitSuccessTP 1 [4/07/2026 17:15:37; .NET TP Worker]: finishStartCommitIW 1 [4/07/2026 17:15:37; .NET TP Worker]: commit: pendingCommit != nullIW 1 [4/07/2026 17:15:37; .NET TP Worker]: commit: wrote segments file "segments_4"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = True]IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: deleteCommits: now decRef commit "segments_3"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "segments_3"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0_Lucene40_0.tim"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0.fnm"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0.tvd"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0_dv.cfs"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0.tvf"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0_nrm.cfs"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0_Lucene40_0.prx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0_Lucene40_0.tip"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0_Lucene40_0.frq"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0.tvx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0_nrm.cfe"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0.fdx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0.si"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0.fdt"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0_dv.cfe"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_0_1.del"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1_Lucene40_0.tim"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1_nrm.cfs"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1.tvx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1_Lucene40_0.frq"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1_dv.cfe"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1.fnm"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1_nrm.cfe"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1_Lucene40_0.tip"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1_Lucene40_0.prx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1.fdx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1.tvf"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1.fdt"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1.si"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1_dv.cfs"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_1.tvd"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2.si"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2.fdt"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2.fdx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2_dv.cfs"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2.tvx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2.fnm"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2_Lucene40_0.tip"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2_nrm.cfe"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2.tvd"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2_Lucene40_0.frq"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2_Lucene40_0.prx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2_nrm.cfs"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2_Lucene40_0.tim"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2.tvf"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_2_dv.cfe"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3_nrm.cfe"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3_Lucene40_0.tip"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3_Lucene40_0.tim"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3.tvd"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3.tvf"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3.fdt"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3.fnm"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3.fdx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3_nrm.cfs"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3.tvx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3_Lucene40_0.frq"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3_dv.cfe"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3_dv.cfs"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3_Lucene40_0.prx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_3.si"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4.fdx"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4_Lucene40_0.frq"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4_nrm.cfs"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4_Lucene40_0.tip"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4_nrm.cfe"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4.fnm"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4.si"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4.fdt"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: delete "_4_Lucene40_0.tim"IFD 1 [4/07/2026 17:15:37; .NET TP Worker]: 167 msec to checkpointIW 1 [4/07/2026 17:15:37; .NET TP Worker]: commit: doneIW 1 [4/07/2026 17:15:37; .NET TP Worker]: at close: _5(4.8):C35IFD 2 [4/07/2026 17:15:38; .NET TP Worker]: init: current segments file is "segments_3"; deletionPolicy=Lucene.Net.Index.KeepOnlyLastCommitDeletionPolicyIFD 2 [4/07/2026 17:15:38; .NET TP Worker]: init: load commit "segments_3"IFD 2 [4/07/2026 17:15:38; .NET TP Worker]: now checkpoint "_0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1" [5 segments ; isCommit = False]IFD 2 [4/07/2026 17:15:38; .NET TP Worker]: 0 msec to checkpointIW 2 [4/07/2026 17:15:38; .NET TP Worker]: init: create=FalseIW 2 [4/07/2026 17:15:38; .NET TP Worker]:
dir=SimpleFSDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\41.nocfs-mpci1sxe lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\41.nocfs-mpci1sxe
index=_0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1
version=4.8.0
matchVersion=LUCENE_CURRENT
analyzer=null
ramBufferSizeMB=16
maxBufferedDocs=-1
maxBufferedDeleteTerms=-1
mergedSegmentWarmer=
readerTermsIndexDivisor=1
termIndexInterval=32
delPolicy=KeepOnlyLastCommitDeletionPolicy
commit=null
openMode=CREATE_OR_APPEND
similarity=DefaultSimilarity
mergeScheduler=ConcurrentMergeScheduler: maxThreadCount=1, maxMergeCount=2, mergeThreadPriority=-1
default WRITE_LOCK_TIMEOUT=1000
writeLockTimeout=1000
codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453))
infoStream=TextWriterInfoStream
mergePolicy=[UpgradeIndexMergePolicy->[TieredMergePolicy: maxMergeAtOnce=10, maxMergeAtOnceExplicit=30, maxMergedSegmentMB=5120, floorSegmentMB=2, forceMergeDeletesPctAllowed=10, segmentsPerTier=10, maxCFSSegmentSizeMB=8796093022207,999, noCFSRatio=0,1]
indexerThreadPool=Lucene.Net.Index.DocumentsWriterPerThreadPool
readerPooling=False
perThreadHardLimitMB=1945
useCompoundFile=True
checkIntegrityAtMerge=False
IndexUpgrader 2 [4/07/2026 17:15:38; .NET TP Worker]: Upgrading all pre-4.8 segments of index directory 'SimpleFSDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\41.nocfs-mpci1sxe lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\41.nocfs-mpci1sxe' to version 4.8...IW 2 [4/07/2026 17:15:38; .NET TP Worker]: forceMerge: index now _0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1IW 2 [4/07/2026 17:15:38; .NET TP Worker]: now flush at forceMergeTP 2 [4/07/2026 17:15:38; .NET TP Worker]: startDoFlushIW 2 [4/07/2026 17:15:38; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 2 [4/07/2026 17:15:38; .NET TP Worker]: index before flush _0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1DW 2 [4/07/2026 17:15:38; .NET TP Worker]: startFullFlushDW 2 [4/07/2026 17:15:38; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 2 [4/07/2026 17:15:38; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 2 [4/07/2026 17:15:38; .NET TP Worker]: apply all deletes during flushBD 2 [4/07/2026 17:15:38; .NET TP Worker]: applyDeletes: no deletes; skippingBD 2 [4/07/2026 17:15:38; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0UPGMP 2 [4/07/2026 17:15:38; .NET TP Worker]: findForcedMerges: segmentsToUpgrade={_0(4.1):C10/1:delGen=1=true, _1(4.1):C10=true, _2(4.1):C10=true, _3(4.1):C5=true, _4(4.1):C1=true}TMP 2 [4/07/2026 17:15:38; .NET TP Worker]: FindForcedMerges maxSegmentCount=1 infos=_0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1 segmentsToMerge={_0(4.1):C10/1:delGen=1=true, _1(4.1):C10=true, _2(4.1):C10=true, _3(4.1):C5=true, _4(4.1):C1=true}TMP 2 [4/07/2026 17:15:38; .NET TP Worker]: eligible=[_1(4.1):C10, _2(4.1):C10, _0(4.1):C10/1:delGen=1, _3(4.1):C5, _4(4.1):C1]TMP 2 [4/07/2026 17:15:38; .NET TP Worker]: forceMergeRunning=FalseTMP 2 [4/07/2026 17:15:38; .NET TP Worker]: add final merge=_1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1IW 2 [4/07/2026 17:15:38; .NET TP Worker]: add merge to pendingMerges: _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1 [total 1 pending]IW 2 [4/07/2026 17:15:38; .NET TP Worker]: registerMerge merging= []IW 2 [4/07/2026 17:15:38; .NET TP Worker]: registerMerge info=_1(4.1):C10IW 2 [4/07/2026 17:15:38; .NET TP Worker]: registerMerge info=_2(4.1):C10IW 2 [4/07/2026 17:15:38; .NET TP Worker]: registerMerge info=_0(4.1):C10/1:delGen=1IW 2 [4/07/2026 17:15:38; .NET TP Worker]: registerMerge info=_3(4.1):C5IW 2 [4/07/2026 17:15:38; .NET TP Worker]: registerMerge info=_4(4.1):C1CMS 2 [4/07/2026 17:15:38; .NET TP Worker]: now mergeCMS 2 [4/07/2026 17:15:38; .NET TP Worker]: index: _0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1CMS 2 [4/07/2026 17:15:38; .NET TP Worker]: consider merge _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1CMS 2 [4/07/2026 17:15:38; .NET TP Worker]: launch new thread [Lucene Merge Thread #0]CMS 2 [4/07/2026 17:15:38; .NET TP Worker]: set priority of merge thread Lucene Merge Thread #0 to 3CMS 2 [4/07/2026 17:15:38; .NET TP Worker]: no more merges pending; now returnCMS 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: merge thread: startTP 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: startMergeInitBD 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: applyDeletes: no deletes; skippingBD 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0IW 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: merge seg=_5 _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1IW 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: now merge
merge=_1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1
index=_0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1IW 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: merging _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1IW 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: seg=_1(4.1):C10 no deletesIW 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: seg=_2(4.1):C10 no deletesIW 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: seg=_0(4.1):C10/1:delGen=1 delCount=1IW 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: seg=_3(4.1):C5 no deletesIW 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: seg=_4(4.1):C1 no deletesSM 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: merge store matchedCount=5 vs 5SM 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: 7 msec to merge stored fields [35 docs]SM 2 [4/07/2026 17:15:38; Lucene Merge Thread #0]: 26 msec to merge postings [35 docs]SM 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: 27 msec to merge doc values [35 docs]SM 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: 9 msec to merge norms [35 docs]SM 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: 18 msec to merge vectors [35 docs]IW 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merge codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453)) docCount=35; merged segment has vectors; norms; docValues; prox; freqsIW 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merged segment size=0.015 MB vs estimate=0.035 MBTP 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: startCommitMergeIW 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: commitMerge: _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1 index=_0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1TP 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: startCommitMergeDeletesIW 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: commitMergeDeletes _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1IW 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: no new deletes or field updates since merge startedIFD 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = False]IFD 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: 0 msec to checkpointIW 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: after commitMerge: _5(4.8):C35UPGMP 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: findForcedMerges: segmentsToUpgrade={}IW 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merge time 123 msec for 35 docsCMS 2 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merge thread: doneIndexUpgrader 2 [4/07/2026 17:15:39; .NET TP Worker]: All segments upgraded to version 4.8IW 2 [4/07/2026 17:15:39; .NET TP Worker]: now flush at close waitForMerges=TrueTP 2 [4/07/2026 17:15:39; .NET TP Worker]: startDoFlushIW 2 [4/07/2026 17:15:39; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 2 [4/07/2026 17:15:39; .NET TP Worker]: index before flush _5(4.8):C35DW 2 [4/07/2026 17:15:39; .NET TP Worker]: startFullFlushDW 2 [4/07/2026 17:15:39; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 2 [4/07/2026 17:15:39; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 2 [4/07/2026 17:15:39; .NET TP Worker]: apply all deletes during flushBD 2 [4/07/2026 17:15:39; .NET TP Worker]: applyDeletes: no deletes; skippingBD 2 [4/07/2026 17:15:39; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0CMS 2 [4/07/2026 17:15:39; .NET TP Worker]: now mergeCMS 2 [4/07/2026 17:15:39; .NET TP Worker]: index: _5(4.8):C35CMS 2 [4/07/2026 17:15:39; .NET TP Worker]: no more merges pending; now returnIW 2 [4/07/2026 17:15:39; .NET TP Worker]: waitForMergesIW 2 [4/07/2026 17:15:39; .NET TP Worker]: waitForMerges doneIW 2 [4/07/2026 17:15:39; .NET TP Worker]: now call final commit()IW 2 [4/07/2026 17:15:39; .NET TP Worker]: commit: startIW 2 [4/07/2026 17:15:39; .NET TP Worker]: commit: enter lockIW 2 [4/07/2026 17:15:39; .NET TP Worker]: commit: now prepareIW 2 [4/07/2026 17:15:39; .NET TP Worker]: prepareCommit: flushIW 2 [4/07/2026 17:15:39; .NET TP Worker]: index before flush _5(4.8):C35TP 2 [4/07/2026 17:15:39; .NET TP Worker]: startDoFlushDW 2 [4/07/2026 17:15:39; .NET TP Worker]: startFullFlushDW 2 [4/07/2026 17:15:39; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseIW 2 [4/07/2026 17:15:39; .NET TP Worker]: apply all deletes during flushBD 2 [4/07/2026 17:15:39; .NET TP Worker]: applyDeletes: no deletes; skippingBD 2 [4/07/2026 17:15:39; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0DW 2 [4/07/2026 17:15:39; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueTP 2 [4/07/2026 17:15:39; .NET TP Worker]: startStartCommitIW 2 [4/07/2026 17:15:39; .NET TP Worker]: StartCommit(): startIW 2 [4/07/2026 17:15:39; .NET TP Worker]: startCommit index=_5(4.8):C35 changeCount=2TP 2 [4/07/2026 17:15:39; .NET TP Worker]: midStartCommitTP 2 [4/07/2026 17:15:39; .NET TP Worker]: midStartCommit2IW 2 [4/07/2026 17:15:39; .NET TP Worker]: done all syncs: [_5.fdx, _5.fdt, _5_Lucene41_0.doc, _5_Lucene41_0.pos, _5_Lucene41_0.pay, _5_Lucene41_0.tim, _5_Lucene41_0.tip, _5_Lucene45_0.dvd, _5_Lucene45_0.dvm, _5.nvd, _5.nvm, _5.tvx, _5.tvd, _5.fnm, _5.si]TP 2 [4/07/2026 17:15:39; .NET TP Worker]: midStartCommitSuccessTP 2 [4/07/2026 17:15:39; .NET TP Worker]: finishStartCommitIW 2 [4/07/2026 17:15:39; .NET TP Worker]: commit: pendingCommit != nullIW 2 [4/07/2026 17:15:39; .NET TP Worker]: commit: wrote segments file "segments_4"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = True]IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: deleteCommits: now decRef commit "segments_3"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "segments_3"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0.fnm"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_Lucene41_0.pos"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0.tvd"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0.tvf"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_dv.cfs"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_nrm.cfs"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_Lucene41_0.pay"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_Lucene41_0.doc"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0.tvx"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_nrm.cfe"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0.fdx"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0.si"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_Lucene41_0.tim"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_Lucene41_0.tip"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0.fdt"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_dv.cfe"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_1.del"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1_nrm.cfs"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1.tvx"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1_Lucene41_0.doc"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1_Lucene41_0.tim"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1_Lucene41_0.tip"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1_dv.cfe"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1.fnm"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1_nrm.cfe"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1_Lucene41_0.pos"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1.fdx"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1.tvf"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1_Lucene41_0.pay"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1.fdt"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1.si"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1_dv.cfs"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1.tvd"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2.si"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2_Lucene41_0.pos"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2_Lucene41_0.tim"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2.fdt"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2_Lucene41_0.doc"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2_Lucene41_0.tip"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2.fdx"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2.tvx"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2_dv.cfs"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2.fnm"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2_nrm.cfe"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2.tvd"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2_Lucene41_0.pay"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2_nrm.cfs"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2.tvf"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2_dv.cfe"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3_nrm.cfe"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3.tvd"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3.tvf"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3_Lucene41_0.pay"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3.fdt"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3.fnm"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3.fdx"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3_nrm.cfs"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3.tvx"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3_Lucene41_0.pos"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3_Lucene41_0.doc"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3_Lucene41_0.tip"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3_dv.cfe"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3_dv.cfs"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3.si"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3_Lucene41_0.tim"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4.fdx"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4_Lucene41_0.doc"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4_nrm.cfs"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4_nrm.cfe"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4.fnm"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4.si"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4.fdt"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4_Lucene41_0.tip"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4_Lucene41_0.tim"IFD 2 [4/07/2026 17:15:39; .NET TP Worker]: 133 msec to checkpointIW 2 [4/07/2026 17:15:39; .NET TP Worker]: commit: doneIW 2 [4/07/2026 17:15:39; .NET TP Worker]: at close: _5(4.8):C35IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: init: current segments file is "segments_3"; deletionPolicy=Lucene.Net.Index.KeepOnlyLastCommitDeletionPolicyIFD 3 [4/07/2026 17:15:39; .NET TP Worker]: init: load commit "segments_3"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: now checkpoint "_0(4.2):c10/1:delGen=1 _1(4.2):c10 _2(4.2):c10 _3(4.2):c5 _4(4.2):c1" [5 segments ; isCommit = False]IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: 0 msec to checkpointIW 3 [4/07/2026 17:15:39; .NET TP Worker]: init: create=FalseIW 3 [4/07/2026 17:15:39; .NET TP Worker]:
dir=MMapDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\42.cfs-b2fuvvvc lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\42.cfs-b2fuvvvc
index=_0(4.2):c10/1:delGen=1 _1(4.2):c10 _2(4.2):c10 _3(4.2):c5 _4(4.2):c1
version=4.8.0
matchVersion=LUCENE_CURRENT
analyzer=null
ramBufferSizeMB=16
maxBufferedDocs=-1
maxBufferedDeleteTerms=-1
mergedSegmentWarmer=
readerTermsIndexDivisor=1
termIndexInterval=32
delPolicy=KeepOnlyLastCommitDeletionPolicy
commit=null
openMode=CREATE_OR_APPEND
similarity=DefaultSimilarity
mergeScheduler=ConcurrentMergeScheduler: maxThreadCount=1, maxMergeCount=2, mergeThreadPriority=-1
default WRITE_LOCK_TIMEOUT=1000
writeLockTimeout=1000
codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453))
infoStream=TextWriterInfoStream
mergePolicy=[UpgradeIndexMergePolicy->[TieredMergePolicy: maxMergeAtOnce=10, maxMergeAtOnceExplicit=30, maxMergedSegmentMB=5120, floorSegmentMB=2, forceMergeDeletesPctAllowed=10, segmentsPerTier=10, maxCFSSegmentSizeMB=8796093022207,999, noCFSRatio=0,1]
indexerThreadPool=Lucene.Net.Index.DocumentsWriterPerThreadPool
readerPooling=False
perThreadHardLimitMB=1945
useCompoundFile=True
checkIntegrityAtMerge=False
IndexUpgrader 3 [4/07/2026 17:15:39; .NET TP Worker]: Upgrading all pre-4.8 segments of index directory 'MMapDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\42.cfs-b2fuvvvc lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\42.cfs-b2fuvvvc' to version 4.8...IW 3 [4/07/2026 17:15:39; .NET TP Worker]: forceMerge: index now _0(4.2):c10/1:delGen=1 _1(4.2):c10 _2(4.2):c10 _3(4.2):c5 _4(4.2):c1IW 3 [4/07/2026 17:15:39; .NET TP Worker]: now flush at forceMergeTP 3 [4/07/2026 17:15:39; .NET TP Worker]: startDoFlushIW 3 [4/07/2026 17:15:39; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 3 [4/07/2026 17:15:39; .NET TP Worker]: index before flush _0(4.2):c10/1:delGen=1 _1(4.2):c10 _2(4.2):c10 _3(4.2):c5 _4(4.2):c1DW 3 [4/07/2026 17:15:39; .NET TP Worker]: startFullFlushDW 3 [4/07/2026 17:15:39; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 3 [4/07/2026 17:15:39; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 3 [4/07/2026 17:15:39; .NET TP Worker]: apply all deletes during flushBD 3 [4/07/2026 17:15:39; .NET TP Worker]: applyDeletes: no deletes; skippingBD 3 [4/07/2026 17:15:39; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0UPGMP 3 [4/07/2026 17:15:39; .NET TP Worker]: findForcedMerges: segmentsToUpgrade={_0(4.2):c10/1:delGen=1=true, _1(4.2):c10=true, _2(4.2):c10=true, _3(4.2):c5=true, _4(4.2):c1=true}TMP 3 [4/07/2026 17:15:39; .NET TP Worker]: FindForcedMerges maxSegmentCount=1 infos=_0(4.2):c10/1:delGen=1 _1(4.2):c10 _2(4.2):c10 _3(4.2):c5 _4(4.2):c1 segmentsToMerge={_0(4.2):c10/1:delGen=1=true, _1(4.2):c10=true, _2(4.2):c10=true, _3(4.2):c5=true, _4(4.2):c1=true}TMP 3 [4/07/2026 17:15:39; .NET TP Worker]: eligible=[_1(4.2):c10, _2(4.2):c10, _0(4.2):c10/1:delGen=1, _3(4.2):c5, _4(4.2):c1]TMP 3 [4/07/2026 17:15:39; .NET TP Worker]: forceMergeRunning=FalseTMP 3 [4/07/2026 17:15:39; .NET TP Worker]: add final merge=_1(4.2):c10 _2(4.2):c10 _0(4.2):c10/1:delGen=1 _3(4.2):c5 _4(4.2):c1IW 3 [4/07/2026 17:15:39; .NET TP Worker]: add merge to pendingMerges: _1(4.2):c10 _2(4.2):c10 _0(4.2):c10/1:delGen=1 _3(4.2):c5 _4(4.2):c1 [total 1 pending]IW 3 [4/07/2026 17:15:39; .NET TP Worker]: registerMerge merging= []IW 3 [4/07/2026 17:15:39; .NET TP Worker]: registerMerge info=_1(4.2):c10IW 3 [4/07/2026 17:15:39; .NET TP Worker]: registerMerge info=_2(4.2):c10IW 3 [4/07/2026 17:15:39; .NET TP Worker]: registerMerge info=_0(4.2):c10/1:delGen=1IW 3 [4/07/2026 17:15:39; .NET TP Worker]: registerMerge info=_3(4.2):c5IW 3 [4/07/2026 17:15:39; .NET TP Worker]: registerMerge info=_4(4.2):c1CMS 3 [4/07/2026 17:15:39; .NET TP Worker]: now mergeCMS 3 [4/07/2026 17:15:39; .NET TP Worker]: index: _0(4.2):c10/1:delGen=1 _1(4.2):c10 _2(4.2):c10 _3(4.2):c5 _4(4.2):c1CMS 3 [4/07/2026 17:15:39; .NET TP Worker]: consider merge _1(4.2):c10 _2(4.2):c10 _0(4.2):c10/1:delGen=1 _3(4.2):c5 _4(4.2):c1CMS 3 [4/07/2026 17:15:39; .NET TP Worker]: launch new thread [Lucene Merge Thread #0]CMS 3 [4/07/2026 17:15:39; .NET TP Worker]: set priority of merge thread Lucene Merge Thread #0 to 3CMS 3 [4/07/2026 17:15:39; .NET TP Worker]: no more merges pending; now returnCMS 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merge thread: startTP 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: startMergeInitBD 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: applyDeletes: no deletes; skippingBD 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0IW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merge seg=_5 _1(4.2):c10 _2(4.2):c10 _0(4.2):c10/1:delGen=1 _3(4.2):c5 _4(4.2):c1IW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: now merge
merge=_1(4.2):c10 _2(4.2):c10 _0(4.2):c10/1:delGen=1 _3(4.2):c5 _4(4.2):c1
index=_0(4.2):c10/1:delGen=1 _1(4.2):c10 _2(4.2):c10 _3(4.2):c5 _4(4.2):c1IW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merging _1(4.2):c10 _2(4.2):c10 _0(4.2):c10/1:delGen=1 _3(4.2):c5 _4(4.2):c1IW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: seg=_1(4.2):c10 no deletesIW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: seg=_2(4.2):c10 no deletesIW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: seg=_0(4.2):c10/1:delGen=1 delCount=1IW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: seg=_3(4.2):c5 no deletesIW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: seg=_4(4.2):c1 no deletesSM 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merge store matchedCount=5 vs 5SM 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: 6 msec to merge stored fields [35 docs]SM 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: 20 msec to merge postings [35 docs]SM 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: 16 msec to merge doc values [35 docs]SM 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: 10 msec to merge norms [35 docs]SM 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: 27 msec to merge vectors [35 docs]IW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merge codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453)) docCount=35; merged segment has vectors; norms; docValues; prox; freqsIW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merged segment size=0.016 MB vs estimate=0.029 MBTP 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: startCommitMergeIW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: commitMerge: _1(4.2):c10 _2(4.2):c10 _0(4.2):c10/1:delGen=1 _3(4.2):c5 _4(4.2):c1 index=_0(4.2):c10/1:delGen=1 _1(4.2):c10 _2(4.2):c10 _3(4.2):c5 _4(4.2):c1TP 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: startCommitMergeDeletesIW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: commitMergeDeletes _1(4.2):c10 _2(4.2):c10 _0(4.2):c10/1:delGen=1 _3(4.2):c5 _4(4.2):c1IW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: no new deletes or field updates since merge startedIFD 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = False]IFD 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: 0 msec to checkpointIW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: after commitMerge: _5(4.8):C35UPGMP 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: findForcedMerges: segmentsToUpgrade={}IW 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merge time 107 msec for 35 docsCMS 3 [4/07/2026 17:15:39; Lucene Merge Thread #0]: merge thread: doneIndexUpgrader 3 [4/07/2026 17:15:39; .NET TP Worker]: All segments upgraded to version 4.8IW 3 [4/07/2026 17:15:39; .NET TP Worker]: now flush at close waitForMerges=TrueTP 3 [4/07/2026 17:15:39; .NET TP Worker]: startDoFlushIW 3 [4/07/2026 17:15:39; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 3 [4/07/2026 17:15:39; .NET TP Worker]: index before flush _5(4.8):C35DW 3 [4/07/2026 17:15:39; .NET TP Worker]: startFullFlushDW 3 [4/07/2026 17:15:39; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 3 [4/07/2026 17:15:39; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 3 [4/07/2026 17:15:39; .NET TP Worker]: apply all deletes during flushBD 3 [4/07/2026 17:15:39; .NET TP Worker]: applyDeletes: no deletes; skippingBD 3 [4/07/2026 17:15:39; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0CMS 3 [4/07/2026 17:15:39; .NET TP Worker]: now mergeCMS 3 [4/07/2026 17:15:39; .NET TP Worker]: index: _5(4.8):C35CMS 3 [4/07/2026 17:15:39; .NET TP Worker]: no more merges pending; now returnIW 3 [4/07/2026 17:15:39; .NET TP Worker]: waitForMergesIW 3 [4/07/2026 17:15:39; .NET TP Worker]: waitForMerges doneIW 3 [4/07/2026 17:15:39; .NET TP Worker]: now call final commit()IW 3 [4/07/2026 17:15:39; .NET TP Worker]: commit: startIW 3 [4/07/2026 17:15:39; .NET TP Worker]: commit: enter lockIW 3 [4/07/2026 17:15:39; .NET TP Worker]: commit: now prepareIW 3 [4/07/2026 17:15:39; .NET TP Worker]: prepareCommit: flushIW 3 [4/07/2026 17:15:39; .NET TP Worker]: index before flush _5(4.8):C35TP 3 [4/07/2026 17:15:39; .NET TP Worker]: startDoFlushDW 3 [4/07/2026 17:15:39; .NET TP Worker]: startFullFlushDW 3 [4/07/2026 17:15:39; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseIW 3 [4/07/2026 17:15:39; .NET TP Worker]: apply all deletes during flushBD 3 [4/07/2026 17:15:39; .NET TP Worker]: applyDeletes: no deletes; skippingBD 3 [4/07/2026 17:15:39; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0DW 3 [4/07/2026 17:15:39; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueTP 3 [4/07/2026 17:15:39; .NET TP Worker]: startStartCommitIW 3 [4/07/2026 17:15:39; .NET TP Worker]: StartCommit(): startIW 3 [4/07/2026 17:15:39; .NET TP Worker]: startCommit index=_5(4.8):C35 changeCount=2TP 3 [4/07/2026 17:15:39; .NET TP Worker]: midStartCommitTP 3 [4/07/2026 17:15:39; .NET TP Worker]: midStartCommit2IW 3 [4/07/2026 17:15:39; .NET TP Worker]: done all syncs: [_5.fdx, _5.fdt, _5_Lucene41_0.doc, _5_Lucene41_0.pos, _5_Lucene41_0.pay, _5_Lucene41_0.tim, _5_Lucene41_0.tip, _5_Lucene45_0.dvd, _5_Lucene45_0.dvm, _5.nvd, _5.nvm, _5.tvx, _5.tvd, _5.fnm, _5.si]TP 3 [4/07/2026 17:15:39; .NET TP Worker]: midStartCommitSuccessTP 3 [4/07/2026 17:15:39; .NET TP Worker]: finishStartCommitIW 3 [4/07/2026 17:15:39; .NET TP Worker]: commit: pendingCommit != nullIW 3 [4/07/2026 17:15:39; .NET TP Worker]: commit: wrote segments file "segments_4"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = True]IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: deleteCommits: now decRef commit "segments_3"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "segments_3"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0.cfs"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0.cfe"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0.si"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_0_1.del"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1.si"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1.cfs"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_1.cfe"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2.si"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2.cfs"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_2.cfe"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3.cfs"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3.si"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_3.cfe"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4.cfe"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4.si"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: delete "_4.cfs"IFD 3 [4/07/2026 17:15:39; .NET TP Worker]: 38 msec to checkpointIW 3 [4/07/2026 17:15:39; .NET TP Worker]: commit: doneIW 3 [4/07/2026 17:15:39; .NET TP Worker]: at close: _5(4.8):C35IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: init: current segments file is "segments_3"; deletionPolicy=Lucene.Net.Index.KeepOnlyLastCommitDeletionPolicyIFD 4 [4/07/2026 17:15:41; .NET TP Worker]: init: load commit "segments_3"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: now checkpoint "_0(4.5):C10/1:delGen=1 _1(4.5):C10 _2(4.5):C10 _3(4.5):C5 _4(4.5):C1" [5 segments ; isCommit = False]IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: 0 msec to checkpointIW 4 [4/07/2026 17:15:41; .NET TP Worker]: init: create=FalseIW 4 [4/07/2026 17:15:41; .NET TP Worker]:
dir=MMapDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\45.nocfs-lgbvtwjr lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\45.nocfs-lgbvtwjr
index=_0(4.5):C10/1:delGen=1 _1(4.5):C10 _2(4.5):C10 _3(4.5):C5 _4(4.5):C1
version=4.8.0
matchVersion=LUCENE_CURRENT
analyzer=null
ramBufferSizeMB=16
maxBufferedDocs=-1
maxBufferedDeleteTerms=-1
mergedSegmentWarmer=
readerTermsIndexDivisor=1
termIndexInterval=32
delPolicy=KeepOnlyLastCommitDeletionPolicy
commit=null
openMode=CREATE_OR_APPEND
similarity=DefaultSimilarity
mergeScheduler=ConcurrentMergeScheduler: maxThreadCount=1, maxMergeCount=2, mergeThreadPriority=-1
default WRITE_LOCK_TIMEOUT=1000
writeLockTimeout=1000
codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453))
infoStream=TextWriterInfoStream
mergePolicy=[UpgradeIndexMergePolicy->[TieredMergePolicy: maxMergeAtOnce=10, maxMergeAtOnceExplicit=30, maxMergedSegmentMB=5120, floorSegmentMB=2, forceMergeDeletesPctAllowed=10, segmentsPerTier=10, maxCFSSegmentSizeMB=8796093022207,999, noCFSRatio=0,1]
indexerThreadPool=Lucene.Net.Index.DocumentsWriterPerThreadPool
readerPooling=False
perThreadHardLimitMB=1945
useCompoundFile=True
checkIntegrityAtMerge=False
IndexUpgrader 4 [4/07/2026 17:15:41; .NET TP Worker]: Upgrading all pre-4.8 segments of index directory 'MMapDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\45.nocfs-lgbvtwjr lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\45.nocfs-lgbvtwjr' to version 4.8...IW 4 [4/07/2026 17:15:41; .NET TP Worker]: forceMerge: index now _0(4.5):C10/1:delGen=1 _1(4.5):C10 _2(4.5):C10 _3(4.5):C5 _4(4.5):C1IW 4 [4/07/2026 17:15:41; .NET TP Worker]: now flush at forceMergeTP 4 [4/07/2026 17:15:41; .NET TP Worker]: startDoFlushIW 4 [4/07/2026 17:15:41; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 4 [4/07/2026 17:15:41; .NET TP Worker]: index before flush _0(4.5):C10/1:delGen=1 _1(4.5):C10 _2(4.5):C10 _3(4.5):C5 _4(4.5):C1DW 4 [4/07/2026 17:15:41; .NET TP Worker]: startFullFlushDW 4 [4/07/2026 17:15:41; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 4 [4/07/2026 17:15:41; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 4 [4/07/2026 17:15:41; .NET TP Worker]: apply all deletes during flushBD 4 [4/07/2026 17:15:41; .NET TP Worker]: applyDeletes: no deletes; skippingBD 4 [4/07/2026 17:15:41; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0UPGMP 4 [4/07/2026 17:15:41; .NET TP Worker]: findForcedMerges: segmentsToUpgrade={_0(4.5):C10/1:delGen=1=true, _1(4.5):C10=true, _2(4.5):C10=true, _3(4.5):C5=true, _4(4.5):C1=true}TMP 4 [4/07/2026 17:15:41; .NET TP Worker]: FindForcedMerges maxSegmentCount=1 infos=_0(4.5):C10/1:delGen=1 _1(4.5):C10 _2(4.5):C10 _3(4.5):C5 _4(4.5):C1 segmentsToMerge={_0(4.5):C10/1:delGen=1=true, _1(4.5):C10=true, _2(4.5):C10=true, _3(4.5):C5=true, _4(4.5):C1=true}TMP 4 [4/07/2026 17:15:41; .NET TP Worker]: eligible=[_1(4.5):C10, _2(4.5):C10, _0(4.5):C10/1:delGen=1, _3(4.5):C5, _4(4.5):C1]TMP 4 [4/07/2026 17:15:41; .NET TP Worker]: forceMergeRunning=FalseTMP 4 [4/07/2026 17:15:41; .NET TP Worker]: add final merge=_1(4.5):C10 _2(4.5):C10 _0(4.5):C10/1:delGen=1 _3(4.5):C5 _4(4.5):C1IW 4 [4/07/2026 17:15:41; .NET TP Worker]: add merge to pendingMerges: _1(4.5):C10 _2(4.5):C10 _0(4.5):C10/1:delGen=1 _3(4.5):C5 _4(4.5):C1 [total 1 pending]IW 4 [4/07/2026 17:15:41; .NET TP Worker]: registerMerge merging= []IW 4 [4/07/2026 17:15:41; .NET TP Worker]: registerMerge info=_1(4.5):C10IW 4 [4/07/2026 17:15:41; .NET TP Worker]: registerMerge info=_2(4.5):C10IW 4 [4/07/2026 17:15:41; .NET TP Worker]: registerMerge info=_0(4.5):C10/1:delGen=1IW 4 [4/07/2026 17:15:41; .NET TP Worker]: registerMerge info=_3(4.5):C5IW 4 [4/07/2026 17:15:41; .NET TP Worker]: registerMerge info=_4(4.5):C1CMS 4 [4/07/2026 17:15:41; .NET TP Worker]: now mergeCMS 4 [4/07/2026 17:15:41; .NET TP Worker]: index: _0(4.5):C10/1:delGen=1 _1(4.5):C10 _2(4.5):C10 _3(4.5):C5 _4(4.5):C1CMS 4 [4/07/2026 17:15:41; .NET TP Worker]: consider merge _1(4.5):C10 _2(4.5):C10 _0(4.5):C10/1:delGen=1 _3(4.5):C5 _4(4.5):C1CMS 4 [4/07/2026 17:15:41; .NET TP Worker]: launch new thread [Lucene Merge Thread #0]CMS 4 [4/07/2026 17:15:41; .NET TP Worker]: set priority of merge thread Lucene Merge Thread #0 to 3CMS 4 [4/07/2026 17:15:41; .NET TP Worker]: no more merges pending; now returnCMS 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: merge thread: startTP 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: startMergeInitBD 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: applyDeletes: no deletes; skippingBD 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0IW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: merge seg=_5 _1(4.5):C10 _2(4.5):C10 _0(4.5):C10/1:delGen=1 _3(4.5):C5 _4(4.5):C1IW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: now merge
merge=_1(4.5):C10 _2(4.5):C10 _0(4.5):C10/1:delGen=1 _3(4.5):C5 _4(4.5):C1
index=_0(4.5):C10/1:delGen=1 _1(4.5):C10 _2(4.5):C10 _3(4.5):C5 _4(4.5):C1IW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: merging _1(4.5):C10 _2(4.5):C10 _0(4.5):C10/1:delGen=1 _3(4.5):C5 _4(4.5):C1IW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: seg=_1(4.5):C10 no deletesIW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: seg=_2(4.5):C10 no deletesIW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: seg=_0(4.5):C10/1:delGen=1 delCount=1IW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: seg=_3(4.5):C5 no deletesIW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: seg=_4(4.5):C1 no deletesSM 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: merge store matchedCount=5 vs 5SM 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: 6 msec to merge stored fields [35 docs]SM 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: 22 msec to merge postings [35 docs]SM 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: 16 msec to merge doc values [35 docs]SM 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: 7 msec to merge norms [35 docs]SM 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: 22 msec to merge vectors [35 docs]IW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: merge codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453)) docCount=35; merged segment has vectors; norms; docValues; prox; freqsIW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: merged segment size=0.016 MB vs estimate=0.026 MBTP 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: startCommitMergeIW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: commitMerge: _1(4.5):C10 _2(4.5):C10 _0(4.5):C10/1:delGen=1 _3(4.5):C5 _4(4.5):C1 index=_0(4.5):C10/1:delGen=1 _1(4.5):C10 _2(4.5):C10 _3(4.5):C5 _4(4.5):C1TP 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: startCommitMergeDeletesIW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: commitMergeDeletes _1(4.5):C10 _2(4.5):C10 _0(4.5):C10/1:delGen=1 _3(4.5):C5 _4(4.5):C1IW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: no new deletes or field updates since merge startedIFD 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = False]IFD 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: 0 msec to checkpointIW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: after commitMerge: _5(4.8):C35UPGMP 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: findForcedMerges: segmentsToUpgrade={}IW 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: merge time 109 msec for 35 docsIndexUpgrader 4 [4/07/2026 17:15:41; .NET TP Worker]: All segments upgraded to version 4.8CMS 4 [4/07/2026 17:15:41; Lucene Merge Thread #0]: merge thread: doneIW 4 [4/07/2026 17:15:41; .NET TP Worker]: now flush at close waitForMerges=TrueTP 4 [4/07/2026 17:15:41; .NET TP Worker]: startDoFlushIW 4 [4/07/2026 17:15:41; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 4 [4/07/2026 17:15:41; .NET TP Worker]: index before flush _5(4.8):C35DW 4 [4/07/2026 17:15:41; .NET TP Worker]: startFullFlushDW 4 [4/07/2026 17:15:41; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 4 [4/07/2026 17:15:41; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 4 [4/07/2026 17:15:41; .NET TP Worker]: apply all deletes during flushBD 4 [4/07/2026 17:15:41; .NET TP Worker]: applyDeletes: no deletes; skippingBD 4 [4/07/2026 17:15:41; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0CMS 4 [4/07/2026 17:15:41; .NET TP Worker]: now mergeCMS 4 [4/07/2026 17:15:41; .NET TP Worker]: index: _5(4.8):C35CMS 4 [4/07/2026 17:15:41; .NET TP Worker]: no more merges pending; now returnIW 4 [4/07/2026 17:15:41; .NET TP Worker]: waitForMergesIW 4 [4/07/2026 17:15:41; .NET TP Worker]: waitForMerges doneIW 4 [4/07/2026 17:15:41; .NET TP Worker]: now call final commit()IW 4 [4/07/2026 17:15:41; .NET TP Worker]: commit: startIW 4 [4/07/2026 17:15:41; .NET TP Worker]: commit: enter lockIW 4 [4/07/2026 17:15:41; .NET TP Worker]: commit: now prepareIW 4 [4/07/2026 17:15:41; .NET TP Worker]: prepareCommit: flushIW 4 [4/07/2026 17:15:41; .NET TP Worker]: index before flush _5(4.8):C35TP 4 [4/07/2026 17:15:41; .NET TP Worker]: startDoFlushDW 4 [4/07/2026 17:15:41; .NET TP Worker]: startFullFlushDW 4 [4/07/2026 17:15:41; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseIW 4 [4/07/2026 17:15:41; .NET TP Worker]: apply all deletes during flushBD 4 [4/07/2026 17:15:41; .NET TP Worker]: applyDeletes: no deletes; skippingBD 4 [4/07/2026 17:15:41; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0DW 4 [4/07/2026 17:15:41; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueTP 4 [4/07/2026 17:15:41; .NET TP Worker]: startStartCommitIW 4 [4/07/2026 17:15:41; .NET TP Worker]: StartCommit(): startIW 4 [4/07/2026 17:15:41; .NET TP Worker]: startCommit index=_5(4.8):C35 changeCount=2TP 4 [4/07/2026 17:15:41; .NET TP Worker]: midStartCommitTP 4 [4/07/2026 17:15:41; .NET TP Worker]: midStartCommit2IW 4 [4/07/2026 17:15:41; .NET TP Worker]: done all syncs: [_5.fdx, _5.fdt, _5_Lucene41_0.doc, _5_Lucene41_0.pos, _5_Lucene41_0.pay, _5_Lucene41_0.tim, _5_Lucene41_0.tip, _5_Lucene45_0.dvd, _5_Lucene45_0.dvm, _5.nvd, _5.nvm, _5.tvx, _5.tvd, _5.fnm, _5.si]TP 4 [4/07/2026 17:15:41; .NET TP Worker]: midStartCommitSuccessTP 4 [4/07/2026 17:15:41; .NET TP Worker]: finishStartCommitIW 4 [4/07/2026 17:15:41; .NET TP Worker]: commit: pendingCommit != nullIW 4 [4/07/2026 17:15:41; .NET TP Worker]: commit: wrote segments file "segments_4"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = True]IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: deleteCommits: now decRef commit "segments_3"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "segments_3"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0.fnm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0_Lucene41_0.pos"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0.tvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0.nvm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0_Lucene41_0.pay"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0_Lucene41_0.doc"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0_Lucene45_0.dvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0.tvx"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0.nvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0.fdx"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0.si"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0_Lucene45_0.dvm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0_Lucene41_0.tim"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0_Lucene41_0.tip"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0.fdt"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_0_1.del"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1.nvm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1.tvx"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1_Lucene41_0.doc"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1_Lucene41_0.tim"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1.nvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1_Lucene41_0.tip"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1.fnm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1_Lucene41_0.pos"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1.fdx"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1_Lucene45_0.dvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1_Lucene41_0.pay"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1.fdt"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1.si"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1.tvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_1_Lucene45_0.dvm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2.si"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2_Lucene41_0.pos"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2_Lucene41_0.tim"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2.fdt"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2_Lucene41_0.doc"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2_Lucene41_0.tip"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2.fdx"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2.tvx"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2.fnm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2.nvm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2_Lucene45_0.dvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2.tvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2_Lucene41_0.pay"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2.nvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_2_Lucene45_0.dvm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3.tvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3_Lucene45_0.dvm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3_Lucene41_0.pay"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3_Lucene45_0.dvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3.fdt"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3.fnm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3.fdx"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3.tvx"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3.nvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3_Lucene41_0.pos"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3_Lucene41_0.doc"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3_Lucene41_0.tip"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3.si"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3.nvm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_3_Lucene41_0.tim"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_4.fdx"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_4.nvd"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_4_Lucene41_0.doc"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_4.fnm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_4.si"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_4.fdt"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_4_Lucene41_0.tip"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_4.nvm"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: delete "_4_Lucene41_0.tim"IFD 4 [4/07/2026 17:15:41; .NET TP Worker]: 190 msec to checkpointIW 4 [4/07/2026 17:15:41; .NET TP Worker]: commit: doneIW 4 [4/07/2026 17:15:41; .NET TP Worker]: at close: _5(4.8):C35IFD 5 [4/07/2026 17:15:43; .NET TP Worker]: init: current segments file is "segments_1"; deletionPolicy=Lucene.Net.Index.KeepOnlyLastCommitDeletionPolicyIFD 5 [4/07/2026 17:15:43; .NET TP Worker]: init: load commit "segments_1"IFD 5 [4/07/2026 17:15:43; .NET TP Worker]: now checkpoint "_4(4.0):C35" [1 segments ; isCommit = False]IFD 5 [4/07/2026 17:15:43; .NET TP Worker]: 0 msec to checkpointIW 5 [4/07/2026 17:15:43; .NET TP Worker]: init: create=FalseIW 5 [4/07/2026 17:15:43; .NET TP Worker]:
dir=MMapDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.optimized.nocfs-o13wydps lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.optimized.nocfs-o13wydps
index=_4(4.0):C35
version=4.8.0
matchVersion=LUCENE_CURRENT
analyzer=null
ramBufferSizeMB=16
maxBufferedDocs=-1
maxBufferedDeleteTerms=-1
mergedSegmentWarmer=
readerTermsIndexDivisor=1
termIndexInterval=32
delPolicy=KeepOnlyLastCommitDeletionPolicy
commit=null
openMode=CREATE_OR_APPEND
similarity=DefaultSimilarity
mergeScheduler=ConcurrentMergeScheduler: maxThreadCount=1, maxMergeCount=2, mergeThreadPriority=-1
default WRITE_LOCK_TIMEOUT=1000
writeLockTimeout=1000
codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453))
infoStream=TextWriterInfoStream
mergePolicy=[UpgradeIndexMergePolicy->[TieredMergePolicy: maxMergeAtOnce=10, maxMergeAtOnceExplicit=30, maxMergedSegmentMB=5120, floorSegmentMB=2, forceMergeDeletesPctAllowed=10, segmentsPerTier=10, maxCFSSegmentSizeMB=8796093022207,999, noCFSRatio=0,1]
indexerThreadPool=Lucene.Net.Index.DocumentsWriterPerThreadPool
readerPooling=False
perThreadHardLimitMB=1945
useCompoundFile=True
checkIntegrityAtMerge=False
IndexUpgrader 5 [4/07/2026 17:15:43; .NET TP Worker]: Upgrading all pre-4.8 segments of index directory 'MMapDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.optimized.nocfs-o13wydps lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\40.optimized.nocfs-o13wydps' to version 4.8...IW 5 [4/07/2026 17:15:43; .NET TP Worker]: forceMerge: index now _4(4.0):C35IW 5 [4/07/2026 17:15:43; .NET TP Worker]: now flush at forceMergeTP 5 [4/07/2026 17:15:43; .NET TP Worker]: startDoFlushIW 5 [4/07/2026 17:15:43; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 5 [4/07/2026 17:15:43; .NET TP Worker]: index before flush _4(4.0):C35DW 5 [4/07/2026 17:15:43; .NET TP Worker]: startFullFlushDW 5 [4/07/2026 17:15:43; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 5 [4/07/2026 17:15:43; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 5 [4/07/2026 17:15:43; .NET TP Worker]: apply all deletes during flushBD 5 [4/07/2026 17:15:43; .NET TP Worker]: applyDeletes: no deletes; skippingBD 5 [4/07/2026 17:15:43; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0UPGMP 5 [4/07/2026 17:15:43; .NET TP Worker]: findForcedMerges: segmentsToUpgrade={_4(4.0):C35=true}TMP 5 [4/07/2026 17:15:43; .NET TP Worker]: FindForcedMerges maxSegmentCount=1 infos=_4(4.0):C35 segmentsToMerge={_4(4.0):C35=true}TMP 5 [4/07/2026 17:15:43; .NET TP Worker]: already mergedUPGMP 5 [4/07/2026 17:15:43; .NET TP Worker]: findForcedMerges: TieredMergePolicy does not want to merge all old segments, merge remaining ones into new segment: {_4(4.0):C35=true}IW 5 [4/07/2026 17:15:43; .NET TP Worker]: add merge to pendingMerges: _4(4.0):C35 [total 1 pending]IW 5 [4/07/2026 17:15:43; .NET TP Worker]: registerMerge merging= []IW 5 [4/07/2026 17:15:43; .NET TP Worker]: registerMerge info=_4(4.0):C35CMS 5 [4/07/2026 17:15:43; .NET TP Worker]: now mergeCMS 5 [4/07/2026 17:15:43; .NET TP Worker]: index: _4(4.0):C35CMS 5 [4/07/2026 17:15:43; .NET TP Worker]: consider merge _4(4.0):C35CMS 5 [4/07/2026 17:15:43; .NET TP Worker]: launch new thread [Lucene Merge Thread #0]CMS 5 [4/07/2026 17:15:43; .NET TP Worker]: set priority of merge thread Lucene Merge Thread #0 to 3CMS 5 [4/07/2026 17:15:43; .NET TP Worker]: no more merges pending; now returnCMS 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: merge thread: startTP 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: startMergeInitBD 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: applyDeletes: no deletes; skippingBD 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0IW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: merge seg=_5 _4(4.0):C35IW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: now merge
merge=_4(4.0):C35
index=_4(4.0):C35IW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: merging _4(4.0):C35IW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: seg=_4(4.0):C35 no deletesSM 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: merge store matchedCount=1 vs 1SM 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: 11 msec to merge stored fields [35 docs]SM 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: 35 msec to merge postings [35 docs]SM 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: 16 msec to merge doc values [35 docs]SM 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: 5 msec to merge norms [35 docs]SM 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: 17 msec to merge vectors [35 docs]IW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: merge codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453)) docCount=35; merged segment has vectors; norms; docValues; prox; freqsIW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: merged segment size=0.015 MB vs estimate=0.030 MBTP 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: startCommitMergeIW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: commitMerge: _4(4.0):C35 index=_4(4.0):C35TP 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: startCommitMergeDeletesIW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: commitMergeDeletes _4(4.0):C35IW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: no new deletes or field updates since merge startedIFD 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = False]IFD 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: 0 msec to checkpointIW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: after commitMerge: _5(4.8):C35UPGMP 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: findForcedMerges: segmentsToUpgrade={}IW 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: merge time 105 msec for 35 docsCMS 5 [4/07/2026 17:15:43; Lucene Merge Thread #0]: merge thread: doneIndexUpgrader 5 [4/07/2026 17:15:43; .NET TP Worker]: All segments upgraded to version 4.8IW 5 [4/07/2026 17:15:43; .NET TP Worker]: now flush at close waitForMerges=TrueTP 5 [4/07/2026 17:15:43; .NET TP Worker]: startDoFlushIW 5 [4/07/2026 17:15:43; .NET TP Worker]: start flush: applyAllDeletes=TrueIW 5 [4/07/2026 17:15:43; .NET TP Worker]: index before flush _5(4.8):C35DW 5 [4/07/2026 17:15:43; .NET TP Worker]: startFullFlushDW 5 [4/07/2026 17:15:43; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseDW 5 [4/07/2026 17:15:43; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueIW 5 [4/07/2026 17:15:43; .NET TP Worker]: apply all deletes during flushBD 5 [4/07/2026 17:15:43; .NET TP Worker]: applyDeletes: no deletes; skippingBD 5 [4/07/2026 17:15:43; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0CMS 5 [4/07/2026 17:15:43; .NET TP Worker]: now mergeCMS 5 [4/07/2026 17:15:43; .NET TP Worker]: index: _5(4.8):C35CMS 5 [4/07/2026 17:15:43; .NET TP Worker]: no more merges pending; now returnIW 5 [4/07/2026 17:15:43; .NET TP Worker]: waitForMergesIW 5 [4/07/2026 17:15:43; .NET TP Worker]: waitForMerges doneIW 5 [4/07/2026 17:15:43; .NET TP Worker]: now call final commit()IW 5 [4/07/2026 17:15:43; .NET TP Worker]: commit: startIW 5 [4/07/2026 17:15:43; .NET TP Worker]: commit: enter lockIW 5 [4/07/2026 17:15:43; .NET TP Worker]: commit: now prepareIW 5 [4/07/2026 17:15:43; .NET TP Worker]: prepareCommit: flushIW 5 [4/07/2026 17:15:43; .NET TP Worker]: index before flush _5(4.8):C35TP 5 [4/07/2026 17:15:43; .NET TP Worker]: startDoFlushDW 5 [4/07/2026 17:15:43; .NET TP Worker]: startFullFlushDW 5 [4/07/2026 17:15:43; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: FalseIW 5 [4/07/2026 17:15:43; .NET TP Worker]: apply all deletes during flushBD 5 [4/07/2026 17:15:43; .NET TP Worker]: applyDeletes: no deletes; skippingBD 5 [4/07/2026 17:15:43; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0DW 5 [4/07/2026 17:15:43; .NET TP Worker]: .NET TP Worker finishFullFlush success=TrueTP 5 [4/07/2026 17:15:43; .NET TP Worker]: startStartCommitIW 5 [4/07/2026 17:15:43; .NET TP Worker]: StartCommit(): startIW 5 [4/07/2026 17:15:43; .NET TP Worker]: startCommit index=_5(4.8):C35 changeCount=2TP 5 [4/07/2026 17:15:43; .NET TP Worker]: midStartCommitTP 5 [4/07/2026 17:15:43; .NET TP Worker]: midStartCommit2IW 5 [4/07/2026 17:15:44; .NET TP Worker]: done all syncs: [_5.fdx, _5.fdt, _5_Lucene41_0.doc, _5_Lucene41_0.pos, _5_Lucene41_0.pay, _5_Lucene41_0.tim, _5_Lucene41_0.tip, _5_Lucene45_0.dvd, _5_Lucene45_0.dvm, _5.nvd, _5.nvm, _5.tvx, _5.tvd, _5.fnm, _5.si]TP 5 [4/07/2026 17:15:44; .NET TP Worker]: midStartCommitSuccessTP 5 [4/07/2026 17:15:44; .NET TP Worker]: finishStartCommitIW 5 [4/07/2026 17:15:44; .NET TP Worker]: commit: pendingCommit != nullIW 5 [4/07/2026 17:15:44; .NET TP Worker]: commit: wrote segments file "segments_2"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = True]IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: deleteCommits: now decRef commit "segments_1"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "segments_1"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4.tvx"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4_Lucene40_0.prx"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4_nrm.cfe"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4.fnm"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4.si"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4.fdt"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4.fdx"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4.tvd"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4_dv.cfs"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4.tvf"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4_nrm.cfs"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4_dv.cfe"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4_Lucene40_0.frq"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4_Lucene40_0.tip"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: delete "_4_Lucene40_0.tim"IFD 5 [4/07/2026 17:15:44; .NET TP Worker]: 41 msec to checkpointIW 5 [4/07/2026 17:15:44; .NET TP Worker]: commit: doneIW 5 [4/07/2026 17:15:44; .NET TP Worker]: at close: _5(4.8):C35
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: init: current segments file is "segments_3"; deletionPolicy=Lucene.Net.Index.KeepOnlyLastCommitDeletionPolicy
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: init: load commit "segments_3"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: now checkpoint "_0(4.1):c10/1:delGen=1 _1(4.1):c10 _2(4.1):c10 _3(4.1):c5 _4(4.1):c1" [5 segments ; isCommit = False]
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: 0 msec to checkpoint
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: init: create=False
IW 6 [4/07/2026 17:15:56; .NET TP Worker]:
dir=MockDirectoryWrapper(RAMDirectory@2462968 lockFactory=Lucene.Net.Store.SingleInstanceLockFactory)
index=_0(4.1):c10/1:delGen=1 _1(4.1):c10 _2(4.1):c10 _3(4.1):c5 _4(4.1):c1
version=4.8.0
matchVersion=LUCENE_48
analyzer=null
ramBufferSizeMB=16
maxBufferedDocs=-1
maxBufferedDeleteTerms=-1
mergedSegmentWarmer=
readerTermsIndexDivisor=1
termIndexInterval=32
delPolicy=KeepOnlyLastCommitDeletionPolicy
commit=null
openMode=CREATE_OR_APPEND
similarity=DefaultSimilarity
mergeScheduler=ConcurrentMergeScheduler: maxThreadCount=1, maxMergeCount=2, mergeThreadPriority=-1
default WRITE_LOCK_TIMEOUT=1000
writeLockTimeout=1000
codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453))
infoStream=TextWriterInfoStream
mergePolicy=[UpgradeIndexMergePolicy->[TieredMergePolicy: maxMergeAtOnce=10, maxMergeAtOnceExplicit=30, maxMergedSegmentMB=5120, floorSegmentMB=2, forceMergeDeletesPctAllowed=10, segmentsPerTier=10, maxCFSSegmentSizeMB=8796093022207,999, noCFSRatio=0,1]
indexerThreadPool=Lucene.Net.Index.DocumentsWriterPerThreadPool
readerPooling=False
perThreadHardLimitMB=1945
useCompoundFile=True
checkIntegrityAtMerge=False
IndexUpgrader 6 [4/07/2026 17:15:56; .NET TP Worker]: Upgrading all pre-4.8 segments of index directory 'MockDirectoryWrapper(RAMDirectory@2462968 lockFactory=Lucene.Net.Store.SingleInstanceLockFactory)' to version 4.8...
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: forceMerge: index now _0(4.1):c10/1:delGen=1 _1(4.1):c10 _2(4.1):c10 _3(4.1):c5 _4(4.1):c1
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: now flush at forceMerge
TP 6 [4/07/2026 17:15:56; .NET TP Worker]: startDoFlush
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: start flush: applyAllDeletes=True
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: index before flush _0(4.1):c10/1:delGen=1 _1(4.1):c10 _2(4.1):c10 _3(4.1):c5 _4(4.1):c1
DW 6 [4/07/2026 17:15:56; .NET TP Worker]: startFullFlush
DW 6 [4/07/2026 17:15:56; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: False
DW 6 [4/07/2026 17:15:56; .NET TP Worker]: .NET TP Worker finishFullFlush success=True
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: apply all deletes during flush
BD 6 [4/07/2026 17:15:56; .NET TP Worker]: applyDeletes: no deletes; skipping
BD 6 [4/07/2026 17:15:56; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
UPGMP 6 [4/07/2026 17:15:56; .NET TP Worker]: findForcedMerges: segmentsToUpgrade={_0(4.1):c10/1:delGen=1=true, _1(4.1):c10=true, _2(4.1):c10=true, _3(4.1):c5=true, _4(4.1):c1=true}
TMP 6 [4/07/2026 17:15:56; .NET TP Worker]: FindForcedMerges maxSegmentCount=1 infos=_0(4.1):c10/1:delGen=1 _1(4.1):c10 _2(4.1):c10 _3(4.1):c5 _4(4.1):c1 segmentsToMerge={_0(4.1):c10/1:delGen=1=true, _1(4.1):c10=true, _2(4.1):c10=true, _3(4.1):c5=true, _4(4.1):c1=true}
TMP 6 [4/07/2026 17:15:56; .NET TP Worker]: eligible=[_1(4.1):c10, _2(4.1):c10, _0(4.1):c10/1:delGen=1, _3(4.1):c5, _4(4.1):c1]
TMP 6 [4/07/2026 17:15:56; .NET TP Worker]: forceMergeRunning=False
TMP 6 [4/07/2026 17:15:56; .NET TP Worker]: add final merge=_1(4.1):c10 _2(4.1):c10 _0(4.1):c10/1:delGen=1 _3(4.1):c5 _4(4.1):c1
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: add merge to pendingMerges: _1(4.1):c10 _2(4.1):c10 _0(4.1):c10/1:delGen=1 _3(4.1):c5 _4(4.1):c1 [total 1 pending]
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge merging= []
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge info=_1(4.1):c10
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge info=_2(4.1):c10
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge info=_0(4.1):c10/1:delGen=1
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge info=_3(4.1):c5
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge info=_4(4.1):c1
CMS 6 [4/07/2026 17:15:56; .NET TP Worker]: now merge
CMS 6 [4/07/2026 17:15:56; .NET TP Worker]: index: _0(4.1):c10/1:delGen=1 _1(4.1):c10 _2(4.1):c10 _3(4.1):c5 _4(4.1):c1
CMS 6 [4/07/2026 17:15:56; .NET TP Worker]: consider merge _1(4.1):c10 _2(4.1):c10 _0(4.1):c10/1:delGen=1 _3(4.1):c5 _4(4.1):c1
CMS 6 [4/07/2026 17:15:56; .NET TP Worker]: launch new thread [Lucene Merge Thread #0]
CMS 6 [4/07/2026 17:15:56; .NET TP Worker]: set priority of merge thread Lucene Merge Thread #0 to 3
CMS 6 [4/07/2026 17:15:56; .NET TP Worker]: no more merges pending; now return
CMS 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge thread: start
TP 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: startMergeInit
BD 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: applyDeletes: no deletes; skipping
BD 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge seg=_5 _1(4.1):c10 _2(4.1):c10 _0(4.1):c10/1:delGen=1 _3(4.1):c5 _4(4.1):c1
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: now merge
merge=_1(4.1):c10 _2(4.1):c10 _0(4.1):c10/1:delGen=1 _3(4.1):c5 _4(4.1):c1
index=_0(4.1):c10/1:delGen=1 _1(4.1):c10 _2(4.1):c10 _3(4.1):c5 _4(4.1):c1
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merging _1(4.1):c10 _2(4.1):c10 _0(4.1):c10/1:delGen=1 _3(4.1):c5 _4(4.1):c1
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: seg=_1(4.1):c10 no deletes
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: seg=_2(4.1):c10 no deletes
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: seg=_0(4.1):c10/1:delGen=1 delCount=1
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: seg=_3(4.1):c5 no deletes
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: seg=_4(4.1):c1 no deletes
SM 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge store matchedCount=5 vs 5
SM 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 0 msec to merge stored fields [35 docs]
SM 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 2 msec to merge postings [35 docs]
SM 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 7 msec to merge doc values [35 docs]
SM 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 0 msec to merge norms [35 docs]
SM 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 7 msec to merge vectors [35 docs]
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453)) docCount=35; merged segment has vectors; norms; docValues; prox; freqs
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merged segment size=0.015 MB vs estimate=0.037 MB
TP 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: startCommitMerge
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: commitMerge: _1(4.1):c10 _2(4.1):c10 _0(4.1):c10/1:delGen=1 _3(4.1):c5 _4(4.1):c1 index=_0(4.1):c10/1:delGen=1 _1(4.1):c10 _2(4.1):c10 _3(4.1):c5 _4(4.1):c1
TP 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: startCommitMergeDeletes
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: commitMergeDeletes _1(4.1):c10 _2(4.1):c10 _0(4.1):c10/1:delGen=1 _3(4.1):c5 _4(4.1):c1
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: no new deletes or field updates since merge started
IFD 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = False]
IFD 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 0 msec to checkpoint
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: after commitMerge: _5(4.8):C35
UPGMP 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: findForcedMerges: segmentsToUpgrade={}
IW 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge time 79 msec for 35 docs
CMS 6 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge thread: done
IndexUpgrader 6 [4/07/2026 17:15:56; .NET TP Worker]: All segments upgraded to version 4.8
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: now flush at close waitForMerges=True
TP 6 [4/07/2026 17:15:56; .NET TP Worker]: startDoFlush
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: start flush: applyAllDeletes=True
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: index before flush _5(4.8):C35
DW 6 [4/07/2026 17:15:56; .NET TP Worker]: startFullFlush
DW 6 [4/07/2026 17:15:56; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: False
DW 6 [4/07/2026 17:15:56; .NET TP Worker]: .NET TP Worker finishFullFlush success=True
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: apply all deletes during flush
BD 6 [4/07/2026 17:15:56; .NET TP Worker]: applyDeletes: no deletes; skipping
BD 6 [4/07/2026 17:15:56; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
CMS 6 [4/07/2026 17:15:56; .NET TP Worker]: now merge
CMS 6 [4/07/2026 17:15:56; .NET TP Worker]: index: _5(4.8):C35
CMS 6 [4/07/2026 17:15:56; .NET TP Worker]: no more merges pending; now return
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: waitForMerges
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: waitForMerges done
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: now call final commit()
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: commit: start
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: commit: enter lock
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: commit: now prepare
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: prepareCommit: flush
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: index before flush _5(4.8):C35
TP 6 [4/07/2026 17:15:56; .NET TP Worker]: startDoFlush
DW 6 [4/07/2026 17:15:56; .NET TP Worker]: startFullFlush
DW 6 [4/07/2026 17:15:56; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: False
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: apply all deletes during flush
BD 6 [4/07/2026 17:15:56; .NET TP Worker]: applyDeletes: no deletes; skipping
BD 6 [4/07/2026 17:15:56; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
DW 6 [4/07/2026 17:15:56; .NET TP Worker]: .NET TP Worker finishFullFlush success=True
TP 6 [4/07/2026 17:15:56; .NET TP Worker]: startStartCommit
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: StartCommit(): start
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: startCommit index=_5(4.8):C35 changeCount=2
TP 6 [4/07/2026 17:15:56; .NET TP Worker]: midStartCommit
TP 6 [4/07/2026 17:15:56; .NET TP Worker]: midStartCommit2
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: done all syncs: [_5.fdx, _5.fdt, _5_Lucene41_0.doc, _5_Lucene41_0.pos, _5_Lucene41_0.pay, _5_Lucene41_0.tim, _5_Lucene41_0.tip, _5_Lucene45_0.dvd, _5_Lucene45_0.dvm, _5.nvd, _5.nvm, _5.tvx, _5.tvd, _5.fnm, _5.si]
TP 6 [4/07/2026 17:15:56; .NET TP Worker]: midStartCommitSuccess
TP 6 [4/07/2026 17:15:56; .NET TP Worker]: finishStartCommit
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: commit: pendingCommit != null
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: commit: wrote segments file "segments_4"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = True]
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: deleteCommits: now decRef commit "segments_3"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "segments_3"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0.cfs"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0.cfe"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0.si"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_1.del"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1.si"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1.cfs"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1.cfe"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2.si"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2.cfs"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2.cfe"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3.cfs"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3.si"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3.cfe"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4.cfe"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4.si"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4.cfs"
IFD 6 [4/07/2026 17:15:56; .NET TP Worker]: 0 msec to checkpoint
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: commit: done
IW 6 [4/07/2026 17:15:56; .NET TP Worker]: at close: _5(4.8):C35
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: init: current segments file is "segments_3"; deletionPolicy=Lucene.Net.Index.KeepOnlyLastCommitDeletionPolicy
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: init: load commit "segments_3"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: now checkpoint "_0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1" [5 segments ; isCommit = False]
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: 0 msec to checkpoint
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: init: create=False
IW 7 [4/07/2026 17:15:56; .NET TP Worker]:
dir=MockDirectoryWrapper(RAMDirectory@4fd5bd lockFactory=Lucene.Net.Store.SingleInstanceLockFactory)
index=_0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1
version=4.8.0
matchVersion=LUCENE_48
analyzer=null
ramBufferSizeMB=16
maxBufferedDocs=-1
maxBufferedDeleteTerms=-1
mergedSegmentWarmer=
readerTermsIndexDivisor=1
termIndexInterval=32
delPolicy=KeepOnlyLastCommitDeletionPolicy
commit=null
openMode=CREATE_OR_APPEND
similarity=DefaultSimilarity
mergeScheduler=ConcurrentMergeScheduler: maxThreadCount=1, maxMergeCount=2, mergeThreadPriority=-1
default WRITE_LOCK_TIMEOUT=1000
writeLockTimeout=1000
codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453))
infoStream=TextWriterInfoStream
mergePolicy=[UpgradeIndexMergePolicy->[TieredMergePolicy: maxMergeAtOnce=10, maxMergeAtOnceExplicit=30, maxMergedSegmentMB=5120, floorSegmentMB=2, forceMergeDeletesPctAllowed=10, segmentsPerTier=10, maxCFSSegmentSizeMB=8796093022207,999, noCFSRatio=0,1]
indexerThreadPool=Lucene.Net.Index.DocumentsWriterPerThreadPool
readerPooling=False
perThreadHardLimitMB=1945
useCompoundFile=True
checkIntegrityAtMerge=False
IndexUpgrader 7 [4/07/2026 17:15:56; .NET TP Worker]: Upgrading all pre-4.8 segments of index directory 'MockDirectoryWrapper(RAMDirectory@4fd5bd lockFactory=Lucene.Net.Store.SingleInstanceLockFactory)' to version 4.8...
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: forceMerge: index now _0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: now flush at forceMerge
TP 7 [4/07/2026 17:15:56; .NET TP Worker]: startDoFlush
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: start flush: applyAllDeletes=True
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: index before flush _0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1
DW 7 [4/07/2026 17:15:56; .NET TP Worker]: startFullFlush
DW 7 [4/07/2026 17:15:56; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: False
DW 7 [4/07/2026 17:15:56; .NET TP Worker]: .NET TP Worker finishFullFlush success=True
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: apply all deletes during flush
BD 7 [4/07/2026 17:15:56; .NET TP Worker]: applyDeletes: no deletes; skipping
BD 7 [4/07/2026 17:15:56; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
UPGMP 7 [4/07/2026 17:15:56; .NET TP Worker]: findForcedMerges: segmentsToUpgrade={_0(4.1):C10/1:delGen=1=true, _1(4.1):C10=true, _2(4.1):C10=true, _3(4.1):C5=true, _4(4.1):C1=true}
TMP 7 [4/07/2026 17:15:56; .NET TP Worker]: FindForcedMerges maxSegmentCount=1 infos=_0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1 segmentsToMerge={_0(4.1):C10/1:delGen=1=true, _1(4.1):C10=true, _2(4.1):C10=true, _3(4.1):C5=true, _4(4.1):C1=true}
TMP 7 [4/07/2026 17:15:56; .NET TP Worker]: eligible=[_1(4.1):C10, _2(4.1):C10, _0(4.1):C10/1:delGen=1, _3(4.1):C5, _4(4.1):C1]
TMP 7 [4/07/2026 17:15:56; .NET TP Worker]: forceMergeRunning=False
TMP 7 [4/07/2026 17:15:56; .NET TP Worker]: add final merge=_1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: add merge to pendingMerges: _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1 [total 1 pending]
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge merging= []
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge info=_1(4.1):C10
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge info=_2(4.1):C10
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge info=_0(4.1):C10/1:delGen=1
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge info=_3(4.1):C5
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: registerMerge info=_4(4.1):C1
CMS 7 [4/07/2026 17:15:56; .NET TP Worker]: now merge
CMS 7 [4/07/2026 17:15:56; .NET TP Worker]: index: _0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1
CMS 7 [4/07/2026 17:15:56; .NET TP Worker]: consider merge _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1
CMS 7 [4/07/2026 17:15:56; .NET TP Worker]: launch new thread [Lucene Merge Thread #0]
CMS 7 [4/07/2026 17:15:56; .NET TP Worker]: set priority of merge thread Lucene Merge Thread #0 to 3
CMS 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge thread: start
CMS 7 [4/07/2026 17:15:56; .NET TP Worker]: no more merges pending; now return
TP 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: startMergeInit
BD 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: applyDeletes: no deletes; skipping
BD 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge seg=_5 _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: now merge
merge=_1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1
index=_0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merging _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: seg=_1(4.1):C10 no deletes
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: seg=_2(4.1):C10 no deletes
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: seg=_0(4.1):C10/1:delGen=1 delCount=1
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: seg=_3(4.1):C5 no deletes
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: seg=_4(4.1):C1 no deletes
SM 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge store matchedCount=5 vs 5
SM 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 1 msec to merge stored fields [35 docs]
SM 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 14 msec to merge postings [35 docs]
SM 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 8 msec to merge doc values [35 docs]
SM 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 0 msec to merge norms [35 docs]
SM 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 5 msec to merge vectors [35 docs]
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453)) docCount=35; merged segment has vectors; norms; docValues; prox; freqs
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merged segment size=0.015 MB vs estimate=0.035 MB
TP 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: startCommitMerge
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: commitMerge: _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1 index=_0(4.1):C10/1:delGen=1 _1(4.1):C10 _2(4.1):C10 _3(4.1):C5 _4(4.1):C1
TP 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: startCommitMergeDeletes
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: commitMergeDeletes _1(4.1):C10 _2(4.1):C10 _0(4.1):C10/1:delGen=1 _3(4.1):C5 _4(4.1):C1
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: no new deletes or field updates since merge started
IFD 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = False]
IFD 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: 0 msec to checkpoint
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: after commitMerge: _5(4.8):C35
UPGMP 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: findForcedMerges: segmentsToUpgrade={}
IW 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge time 36 msec for 35 docs
IndexUpgrader 7 [4/07/2026 17:15:56; .NET TP Worker]: All segments upgraded to version 4.8
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: now flush at close waitForMerges=True
TP 7 [4/07/2026 17:15:56; .NET TP Worker]: startDoFlush
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: start flush: applyAllDeletes=True
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: index before flush _5(4.8):C35
DW 7 [4/07/2026 17:15:56; .NET TP Worker]: startFullFlush
DW 7 [4/07/2026 17:15:56; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: False
DW 7 [4/07/2026 17:15:56; .NET TP Worker]: .NET TP Worker finishFullFlush success=True
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: apply all deletes during flush
CMS 7 [4/07/2026 17:15:56; Lucene Merge Thread #0]: merge thread: done
BD 7 [4/07/2026 17:15:56; .NET TP Worker]: applyDeletes: no deletes; skipping
BD 7 [4/07/2026 17:15:56; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
CMS 7 [4/07/2026 17:15:56; .NET TP Worker]: now merge
CMS 7 [4/07/2026 17:15:56; .NET TP Worker]: index: _5(4.8):C35
CMS 7 [4/07/2026 17:15:56; .NET TP Worker]: no more merges pending; now return
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: waitForMerges
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: waitForMerges done
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: now call final commit()
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: commit: start
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: commit: enter lock
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: commit: now prepare
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: prepareCommit: flush
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: index before flush _5(4.8):C35
TP 7 [4/07/2026 17:15:56; .NET TP Worker]: startDoFlush
DW 7 [4/07/2026 17:15:56; .NET TP Worker]: startFullFlush
DW 7 [4/07/2026 17:15:56; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: False
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: apply all deletes during flush
BD 7 [4/07/2026 17:15:56; .NET TP Worker]: applyDeletes: no deletes; skipping
BD 7 [4/07/2026 17:15:56; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
DW 7 [4/07/2026 17:15:56; .NET TP Worker]: .NET TP Worker finishFullFlush success=True
TP 7 [4/07/2026 17:15:56; .NET TP Worker]: startStartCommit
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: StartCommit(): start
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: startCommit index=_5(4.8):C35 changeCount=2
TP 7 [4/07/2026 17:15:56; .NET TP Worker]: midStartCommit
TP 7 [4/07/2026 17:15:56; .NET TP Worker]: midStartCommit2
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: done all syncs: [_5.fdx, _5.fdt, _5_Lucene41_0.doc, _5_Lucene41_0.pos, _5_Lucene41_0.pay, _5_Lucene41_0.tim, _5_Lucene41_0.tip, _5_Lucene45_0.dvd, _5_Lucene45_0.dvm, _5.nvd, _5.nvm, _5.tvx, _5.tvd, _5.fnm, _5.si]
TP 7 [4/07/2026 17:15:56; .NET TP Worker]: midStartCommitSuccess
TP 7 [4/07/2026 17:15:56; .NET TP Worker]: finishStartCommit
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: commit: pendingCommit != null
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: commit: wrote segments file "segments_4"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: now checkpoint "_5(4.8):C35" [1 segments ; isCommit = True]
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: deleteCommits: now decRef commit "segments_3"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "segments_3"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0.fnm"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_Lucene41_0.pos"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0.tvd"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0.tvf"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_dv.cfs"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_nrm.cfs"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_Lucene41_0.pay"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_Lucene41_0.doc"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0.tvx"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_nrm.cfe"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0.fdx"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0.si"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_Lucene41_0.tim"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_Lucene41_0.tip"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0.fdt"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_dv.cfe"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_0_1.del"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1_nrm.cfs"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1.tvx"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1_Lucene41_0.doc"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1_Lucene41_0.tim"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1_Lucene41_0.tip"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1_dv.cfe"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1.fnm"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1_nrm.cfe"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1_Lucene41_0.pos"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1.fdx"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1.tvf"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1_Lucene41_0.pay"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1.fdt"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1.si"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1_dv.cfs"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_1.tvd"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2.si"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2_Lucene41_0.pos"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2_Lucene41_0.tim"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2.fdt"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2_Lucene41_0.doc"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2_Lucene41_0.tip"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2.fdx"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2.tvx"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2_dv.cfs"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2.fnm"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2_nrm.cfe"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2.tvd"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2_Lucene41_0.pay"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2_nrm.cfs"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2.tvf"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_2_dv.cfe"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3_nrm.cfe"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3.tvd"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3.tvf"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3_Lucene41_0.pay"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3.fdt"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3.fnm"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3.fdx"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3_nrm.cfs"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3.tvx"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3_Lucene41_0.pos"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3_Lucene41_0.doc"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3_Lucene41_0.tip"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3_dv.cfe"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3_dv.cfs"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3.si"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_3_Lucene41_0.tim"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4.fdx"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4_Lucene41_0.doc"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4_nrm.cfs"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4_nrm.cfe"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4.fnm"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4.si"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4.fdt"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4_Lucene41_0.tip"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: delete "_4_Lucene41_0.tim"
IFD 7 [4/07/2026 17:15:56; .NET TP Worker]: 2 msec to checkpoint
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: commit: done
IW 7 [4/07/2026 17:15:56; .NET TP Worker]: at close: _5(4.8):C35
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: init: current segments file is "segments_2"; deletionPolicy=Lucene.Net.Index.KeepOnlyLastCommitDeletionPolicy
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: init: load commit "segments_2"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: now checkpoint "_4(4.0):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5" [4 segments ; isCommit = False]
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: 0 msec to checkpoint
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: init: create=False
IW 8 [4/07/2026 17:15:57; .NET TP Worker]:
dir=MockDirectoryWrapper(RAMDirectory@22b28f4 lockFactory=Lucene.Net.Store.SingleInstanceLockFactory)
index=_4(4.0):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
version=4.8.0
matchVersion=LUCENE_48
analyzer=null
ramBufferSizeMB=16
maxBufferedDocs=-1
maxBufferedDeleteTerms=-1
mergedSegmentWarmer=
readerTermsIndexDivisor=1
termIndexInterval=32
delPolicy=KeepOnlyLastCommitDeletionPolicy
commit=null
openMode=CREATE_OR_APPEND
similarity=DefaultSimilarity
mergeScheduler=ConcurrentMergeScheduler: maxThreadCount=1, maxMergeCount=2, mergeThreadPriority=-1
default WRITE_LOCK_TIMEOUT=1000
writeLockTimeout=1000
codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453))
infoStream=TextWriterInfoStream
mergePolicy=[UpgradeIndexMergePolicy->[TieredMergePolicy: maxMergeAtOnce=10, maxMergeAtOnceExplicit=30, maxMergedSegmentMB=5120, floorSegmentMB=2, forceMergeDeletesPctAllowed=10, segmentsPerTier=10, maxCFSSegmentSizeMB=8796093022207,999, noCFSRatio=0,1]
indexerThreadPool=Lucene.Net.Index.DocumentsWriterPerThreadPool
readerPooling=False
perThreadHardLimitMB=1945
useCompoundFile=True
checkIntegrityAtMerge=False
IndexUpgrader 8 [4/07/2026 17:15:57; .NET TP Worker]: Upgrading all pre-4.8 segments of index directory 'MockDirectoryWrapper(RAMDirectory@22b28f4 lockFactory=Lucene.Net.Store.SingleInstanceLockFactory)' to version 4.8...
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: forceMerge: index now _4(4.0):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: now flush at forceMerge
TP 8 [4/07/2026 17:15:57; .NET TP Worker]: startDoFlush
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: start flush: applyAllDeletes=True
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: index before flush _4(4.0):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
DW 8 [4/07/2026 17:15:57; .NET TP Worker]: startFullFlush
DW 8 [4/07/2026 17:15:57; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: False
DW 8 [4/07/2026 17:15:57; .NET TP Worker]: .NET TP Worker finishFullFlush success=True
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: apply all deletes during flush
BD 8 [4/07/2026 17:15:57; .NET TP Worker]: applyDeletes: no deletes; skipping
BD 8 [4/07/2026 17:15:57; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
UPGMP 8 [4/07/2026 17:15:57; .NET TP Worker]: findForcedMerges: segmentsToUpgrade={_4(4.0):C35=true}
TMP 8 [4/07/2026 17:15:57; .NET TP Worker]: FindForcedMerges maxSegmentCount=1 infos=_4(4.0):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5 segmentsToMerge={_4(4.0):C35=true}
TMP 8 [4/07/2026 17:15:57; .NET TP Worker]: already merged
UPGMP 8 [4/07/2026 17:15:57; .NET TP Worker]: findForcedMerges: TieredMergePolicy does not want to merge all old segments, merge remaining ones into new segment: {_4(4.0):C35=true}
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: add merge to pendingMerges: _4(4.0):C35 [total 1 pending]
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: registerMerge merging= []
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: registerMerge info=_4(4.0):C35
CMS 8 [4/07/2026 17:15:57; .NET TP Worker]: now merge
CMS 8 [4/07/2026 17:15:57; .NET TP Worker]: index: _4(4.0):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
CMS 8 [4/07/2026 17:15:57; .NET TP Worker]: consider merge _4(4.0):C35
CMS 8 [4/07/2026 17:15:57; .NET TP Worker]: launch new thread [Lucene Merge Thread #0]
CMS 8 [4/07/2026 17:15:57; .NET TP Worker]: set priority of merge thread Lucene Merge Thread #0 to 3
CMS 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: merge thread: start
CMS 8 [4/07/2026 17:15:57; .NET TP Worker]: no more merges pending; now return
TP 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: startMergeInit
BD 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: applyDeletes: no deletes; skipping
BD 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: merge seg=_8 _4(4.0):C35
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: now merge
merge=_4(4.0):C35
index=_4(4.0):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: merging _4(4.0):C35
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: seg=_4(4.0):C35 no deletes
SM 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: merge store matchedCount=1 vs 1
SM 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: 1 msec to merge stored fields [35 docs]
SM 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: 13 msec to merge postings [35 docs]
SM 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: 4 msec to merge doc values [35 docs]
SM 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: 0 msec to merge norms [35 docs]
SM 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: 4 msec to merge vectors [35 docs]
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: merge codec=FastCompressingStoredFields(storedFieldsFormat=CompressingStoredFieldsFormat(compressionMode=FAST, chunkSize=453), termVectorsFormat=CompressingTermVectorsFormat(compressionMode=FAST, chunkSize=453)) docCount=35; merged segment has vectors; norms; docValues; prox; freqs
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: merged segment size=0.015 MB vs estimate=0.030 MB
TP 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: startCommitMerge
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: commitMerge: _4(4.0):C35 index=_4(4.0):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
TP 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: startCommitMergeDeletes
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: commitMergeDeletes _4(4.0):C35
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: no new deletes or field updates since merge started
IFD 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: now checkpoint "_8(4.8):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5" [4 segments ; isCommit = False]
IFD 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: 0 msec to checkpoint
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: after commitMerge: _8(4.8):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
UPGMP 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: findForcedMerges: segmentsToUpgrade={}
IW 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: merge time 26 msec for 35 docs
CMS 8 [4/07/2026 17:15:57; Lucene Merge Thread #0]: merge thread: done
IndexUpgrader 8 [4/07/2026 17:15:57; .NET TP Worker]: All segments upgraded to version 4.8
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: now flush at close waitForMerges=True
TP 8 [4/07/2026 17:15:57; .NET TP Worker]: startDoFlush
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: start flush: applyAllDeletes=True
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: index before flush _8(4.8):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
DW 8 [4/07/2026 17:15:57; .NET TP Worker]: startFullFlush
DW 8 [4/07/2026 17:15:57; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: False
DW 8 [4/07/2026 17:15:57; .NET TP Worker]: .NET TP Worker finishFullFlush success=True
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: apply all deletes during flush
BD 8 [4/07/2026 17:15:57; .NET TP Worker]: applyDeletes: no deletes; skipping
BD 8 [4/07/2026 17:15:57; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
CMS 8 [4/07/2026 17:15:57; .NET TP Worker]: now merge
CMS 8 [4/07/2026 17:15:57; .NET TP Worker]: index: _8(4.8):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
CMS 8 [4/07/2026 17:15:57; .NET TP Worker]: no more merges pending; now return
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: waitForMerges
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: waitForMerges done
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: now call final commit()
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: commit: start
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: commit: enter lock
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: commit: now prepare
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: prepareCommit: flush
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: index before flush _8(4.8):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
TP 8 [4/07/2026 17:15:57; .NET TP Worker]: startDoFlush
DW 8 [4/07/2026 17:15:57; .NET TP Worker]: startFullFlush
DW 8 [4/07/2026 17:15:57; .NET TP Worker]: anyChanges? numDocsInRam=0 deletes=False hasTickets:False pendingChangesInFullFlush: False
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: apply all deletes during flush
BD 8 [4/07/2026 17:15:57; .NET TP Worker]: applyDeletes: no deletes; skipping
BD 8 [4/07/2026 17:15:57; .NET TP Worker]: prune sis=Lucene.Net.Index.SegmentInfos minGen=0 packetCount=0
DW 8 [4/07/2026 17:15:57; .NET TP Worker]: .NET TP Worker finishFullFlush success=True
TP 8 [4/07/2026 17:15:57; .NET TP Worker]: startStartCommit
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: StartCommit(): start
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: startCommit index=_8(4.8):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5 changeCount=2
TP 8 [4/07/2026 17:15:57; .NET TP Worker]: midStartCommit
TP 8 [4/07/2026 17:15:57; .NET TP Worker]: midStartCommit2
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: done all syncs: [_8.fdx, _8.fdt, _8_Lucene41_0.doc, _8_Lucene41_0.pos, _8_Lucene41_0.pay, _8_Lucene41_0.tim, _8_Lucene41_0.tip, _8_Lucene45_0.dvd, _8_Lucene45_0.dvm, _8.nvd, _8.nvm, _8.tvx, _8.tvd, _8.fnm, _8.si, _5.cfs, _5.cfe, _5.si, _6.cfs, _6.cfe, _6.si, _7.cfs, _7.cfe, _7.si]
TP 8 [4/07/2026 17:15:57; .NET TP Worker]: midStartCommitSuccess
TP 8 [4/07/2026 17:15:57; .NET TP Worker]: finishStartCommit
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: commit: pendingCommit != null
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: commit: wrote segments file "segments_3"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: now checkpoint "_8(4.8):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5" [4 segments ; isCommit = True]
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: deleteCommits: now decRef commit "segments_2"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "segments_2"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4.tvx"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4_Lucene40_0.prx"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4_nrm.cfe"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4.fnm"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4.si"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4.fdt"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4.fdx"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4.tvd"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4_dv.cfs"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4.tvf"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4_nrm.cfs"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4_dv.cfe"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4_Lucene40_0.frq"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4_Lucene40_0.tip"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: delete "_4_Lucene40_0.tim"
IFD 8 [4/07/2026 17:15:57; .NET TP Worker]: 0 msec to checkpoint
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: commit: done
IW 8 [4/07/2026 17:15:57; .NET TP Worker]: at close: _8(4.8):C35 _5(4.8):c5 _6(4.8):c3 _7(4.8):c5
Success
Verbosity disabled to keep NUnit from running out of memory - enable manually
TEST: initIndex
TEST: done initIndex
TEST: now crash
dir=MockDirectoryWrapper(MMapDirectory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\testIndexExistsOnNonExistentDirectory-32f2sgir lockFactory=NativeFSLockFactory@C:\Users\shad\AppData\Local\Temp\LuceneTemp\testIndexExistsOnNonExistentDirectory-32f2sgir)
TestByteMissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestInt16MissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestInt32MissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestInt64MissingVsFieldCache: Codec does not support GetDocsWithField
Expected: True
But was: False
TestSortedSetFixedLengthSingleValuedVsStoredFields: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetFixedLengthVsStoredFields: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetFixedLengthVsUninvertedField: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetMergeAwayAllValues: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetOneValue: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTermsEnum: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetThreeValuesTwoDocs: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoDocumentsFirstMissing: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoDocumentsFirstMissingMerge: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoDocumentsLastMissing: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoDocumentsLastMissingMerge: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoDocumentsMerged: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoFields: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoValues: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetTwoValuesUnordered: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetVariableLengthSingleValuedVsStoredFields: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetVariableLengthVsStoredFields: Codec does not support SORTED_SET
Expected: True
But was: False
TestSortedSetVariableLengthVsUninvertedField: Codec does not support SORTED_SET
Expected: True
But was: False
TestThreads2: Codec does not support GetDocsWithField
Expected: True
But was: False
TestThreeBytesOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestThreeNumbersOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoBytesOneMissing: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoBytesOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoNumbersOneMissing: Codec does not support GetDocsWithField
Expected: True
But was: False
TestTwoNumbersOneMissingWithMerging: Codec does not support GetDocsWithField
Expected: True
But was: False
TestClosingNRTReaderDoesNotCorruptYourIndex: this test can't run on Windows
Expected: True
But was: False
TestThreadInterruptDeadlock: Lucene.NET does not support Thread.Interrupt(). See https://github.com/apache/lucenenet/issues/526.
TestTwoThreadsInterruptDeadlock: Lucene.NET does not support Thread.Interrupt(). See https://github.com/apache/lucenenet/issues/526.
Locking Strategy: FileStreamLockViolation
Share Violation HResult: -2147024864
Lock Violation HResult: -2147024863
Count 57
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests._I-J\bin\Release\net10.0\Lucene.Net.Tests._I-J.dll
NUnit3TestExecutor discovered 406 of 406 NUnit test cases using Current Discovery mode, Non-Explicit run
TestMergeStability: The MockRandom PF randomizes content on the fly, so we can't check it
Expected: True
But was: False
TestMergeStability: The MockRandom PF randomizes content on the fly, so we can't check it
Expected: True
But was: False
Locking Strategy: FileStreamLockViolation
Share Violation HResult: -2147024864
Lock Violation HResult: -2147024863
start test
End test
start test
End test
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests._J-S\bin\Release\net10.0\Lucene.Net.Tests._J-S.dll
NUnit3TestExecutor discovered 1542 of 1542 NUnit test cases using Current Discovery mode, Non-Explicit run
TestHeartRanking: PreFlex codec does not support the stats necessary for this test!
Expected: True
But was: False
TestSimple2: Broken scoring: LUCENE-3723
Expected: True
But was: False
TestSpans2: Broken scoring: LUCENE-3723
Expected: True
But was: False
TestMultithreadedWaitForGeneration: Run Manually (contains timing code that doesn't play well with other tests)
TestStraightForwardDemonstration: Run Manually (contains timing code that doesn't play well with other tests)
TestDocValuesIntegration: 3.x does not support docvalues
Expected: True
But was: False
TestMultiSloppyWithRepeats: This appears to be a known issue
Verbosity disabled. Enable manually if needed.
Verbosity disabled. Enable manually if needed.
C:\Users\shad\AppData\Local\Temp\LuceneTemp\nocreate-hz14r2ok
[ERROR] OneTimeTearDown: An exception occurred during CleanupTemporaryFiles() in Lucene.Net.Store.TestDirectory:
System.IO.IOException: Could not remove the following files (in the order of attempts):
C:\Users\shad\AppData\Local\Temp\LuceneTemp\LUCENENET521-hdk45qc2\_0.cfs
C:\Users\shad\AppData\Local\Temp\LuceneTemp\LUCENENET521-hdk45qc2\_0.cfx
C:\Users\shad\AppData\Local\Temp\LuceneTemp\LUCENENET521-hdk45qc2
at Lucene.Net.Util.TestUtil.Rm(FileSystemInfo[] locations) in F:\Projects\lucenenet\src\Lucene.Net.TestFramework\Util\TestUtil.cs:line 66
at Lucene.Net.Util.LuceneTestCase.CleanupTemporaryFiles() in F:\Projects\lucenenet\src\Lucene.Net.TestFramework\Util\LuceneTestCase.cs:line 3165
at Lucene.Net.Util.LuceneTestCase.OneTimeTearDown() in F:\Projects\lucenenet\src\Lucene.Net.TestFramework\Util\LuceneTestCase.cs:line 1039
TestThreadInterrupt: Lucene.NET does not support Thread.Interrupt(). See https://github.com/apache/lucenenet/issues/526.
TestTwoThreadsInterrupt: Lucene.NET does not support Thread.Interrupt(). See https://github.com/apache/lucenenet/issues/526.
TestLockInterruptibly1: LUCENENET: LockInterruptibly() is broken, but it is not in use anywhere but in the tests. Technically, Lucene.NET does not support Thread.Interrupt().
TestToString: LUCENENET: Not implemented
TestEquals: ConcurrentHashSet does not currently implement structural Equals
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests._T-Z\bin\Release\net10.0\Lucene.Net.Tests._T-Z.dll
NUnit3TestExecutor discovered 807 of 809 NUnit test cases using Current Discovery mode, Non-Explicit run
Test: OneTimeSetUp: Requires tons of heap to run (420G works)
WARNING: Leftover undeleted temporary files (bugUrl: None): Could not remove the following files (in the order of attempts):
C:\Users\shad\AppData\Local\Temp\lucene-linefiledocs-hzx3agb4.tmp
TestMonotoneSequencesLonger: For debugging only
TestStrictMonotoneSequencesLonger: For debugging only
TestIntOverflow: See LUCENE-4488 - LUCENENET NOTE: In .NET it is not possible to catch OOME
TestPagedGrowableWriterOverflow: // memory hole
TestChainedEstimation: // this shows an easy stack overflow because we're counting recursively.
mx: 35.589684 MB
rue: 35.603073 MB
49.241074 MB 2 bytes 24 bytes
49.611694 MB 2 bytes 379.90625 KB
49.982376 MB 2 bytes 759.1172 KB
50.352966 MB 2 bytes 1.1119156 MB
50.72384 MB 2 bytes 1.48246 MB
51.09436 MB 2 bytes 1.8529816 MB
51.46559 MB 2 bytes 2.2242126 MB
51.836357 MB 2 bytes 2.5949783 MB
52.207893 MB 2 bytes 2.9659271 MB
52.578278 MB 2 bytes 3.3363113 MB
52.948555 MB 2 bytes 3.7065887 MB
53.319283 MB 2 bytes 4.0773163 MB
53.689896 MB 2 bytes 4.4479294 MB
54.060417 MB 2 bytes 4.818451 MB
54.430893 MB 2 bytes 5.1889267 MB
54.80281 MB 2 bytes 5.559761 MB
55.173637 MB 2 bytes 5.930565 MB
55.573036 MB 2 bytes 6.301323 MB
55.921425 MB 2 bytes 6.671791 MB
56.29206 MB 2 bytes 7.042404 MB
56.662643 MB 2 bytes 7.4129868 MB
57.03383 MB 2 bytes 7.784172 MB
57.40406 MB 2 bytes 8.154404 MB
57.774673 MB 2 bytes 8.525017 MB
58.1453 MB 2 bytes 8.895645 MB
58.516327 MB 2 bytes 9.26667 MB
58.887566 MB 2 bytes 9.637909 MB
59.257637 MB 2 bytes 10.00798 MB
59.628273 MB 2 bytes 10.378616 MB
59.99858 MB 2 bytes 10.748924 MB
60.371033 MB 2 bytes 11.119255 MB
60.741447 MB 2 bytes 11.489647 MB
61.11171 MB 2 bytes 11.859909 MB
61.482338 MB 2 bytes 12.230537 MB
61.85263 MB 2 bytes 12.60083 MB
62.2231 MB 2 bytes 12.971298 MB
62.593613 MB 2 bytes 13.341812 MB
62.964165 MB 2 bytes 13.712364 MB
63.334717 MB 2 bytes 14.082916 MB
63.704926 MB 2 bytes 14.453125 MB
64.075066 MB 2 bytes 14.823265 MB
64.445885 MB 2 bytes 15.194084 MB
64.81684 MB 2 bytes 15.565041 MB
65.18768 MB 2 bytes 15.935883 MB
65.558174 MB 2 bytes 16.306374 MB
65.92887 MB 2 bytes 16.67707 MB
66.298996 MB 2 bytes 17.047195 MB
66.66959 MB 2 bytes 17.417793 MB
67.0402 MB 2 bytes 17.788399 MB
67.41059 MB 2 bytes 18.15879 MB
67.78112 MB 2 bytes 18.52932 MB
68.15256 MB 2 bytes 18.900757 MB
68.52329 MB 2 bytes 19.271492 MB
68.89413 MB 2 bytes 19.642326 MB
69.26477 MB 2 bytes 20.01297 MB
69.635574 MB 2 bytes 20.383774 MB
70.00581 MB 2 bytes 20.754013 MB
70.37631 MB 2 bytes 21.124512 MB
70.74672 MB 2 bytes 21.494919 MB
71.12132 MB 2 bytes 21.865349 MB
71.49134 MB 2 bytes 22.235321 MB
71.86203 MB 2 bytes 22.60601 MB
72.232735 MB 2 bytes 22.976715 MB
72.603615 MB 2 bytes 23.347595 MB
72.97445 MB 2 bytes 23.71843 MB
73.34481 MB 2 bytes 24.08879 MB
73.71528 MB 2 bytes 24.459259 MB
74.08574 MB 2 bytes 24.82972 MB
74.45636 MB 2 bytes 25.20034 MB
74.82698 MB 2 bytes 25.570961 MB
75.198074 MB 2 bytes 25.942055 MB
75.568756 MB 2 bytes 26.312737 MB
75.90821 MB 2 bytes 26.683464 MB
76.27873 MB 2 bytes 27.053986 MB
76.649704 MB 2 bytes 27.424957 MB
77.02011 MB 2 bytes 27.795364 MB
77.390854 MB 2 bytes 28.166107 MB
77.76136 MB 2 bytes 28.536613 MB
78.13197 MB 2 bytes 28.907227 MB
78.50235 MB 2 bytes 29.277603 MB
78.873085 MB 2 bytes 29.648338 MB
79.244095 MB 2 bytes 30.019348 MB
79.61467 MB 2 bytes 30.389923 MB
79.98543 MB 2 bytes 30.760681 MB
80.35608 MB 2 bytes 31.131332 MB
80.72691 MB 2 bytes 31.502167 MB
81.09709 MB 2 bytes 31.872345 MB
81.46755 MB 2 bytes 32.242805 MB
81.8384 MB 2 bytes 32.613655 MB
82.20899 MB 2 bytes 32.984245 MB
82.57947 MB 2 bytes 33.35472 MB
82.95001 MB 2 bytes 33.725266 MB
83.32073 MB 2 bytes 34.095985 MB
83.69113 MB 2 bytes 34.466385 MB
84.06179 MB 2 bytes 34.837044 MB
84.432655 MB 2 bytes 35.20791 MB
84.80319 MB 2 bytes 35.578445 MB
85.17397 MB 2 bytes 35.949226 MB
85.54468 MB 2 bytes 36.31993 MB
85.914925 MB 2 bytes 36.690178 MB
86.28552 MB 2 bytes 37.060776 MB
86.65637 MB 2 bytes 37.431625 MB
87.02675 MB 2 bytes 37.802002 MB
87.39711 MB 2 bytes 38.172363 MB
87.76803 MB 2 bytes 38.54328 MB
88.13887 MB 2 bytes 38.914124 MB
88.46978 MB 2 bytes 39.28414 MB
88.83994 MB 2 bytes 39.654305 MB
89.21069 MB 2 bytes 40.025055 MB
89.58111 MB 2 bytes 40.39547 MB
89.95199 MB 2 bytes 40.76635 MB
90.32243 MB 2 bytes 41.136795 MB
90.69297 MB 2 bytes 41.50733 MB
91.06341 MB 2 bytes 41.87777 MB
91.43389 MB 2 bytes 42.248253 MB
91.80415 MB 2 bytes 42.618515 MB
92.17495 MB 2 bytes 42.98931 MB
92.5456 MB 2 bytes 43.359962 MB
92.892204 MB 2 bytes 43.73047 MB
93.26264 MB 2 bytes 44.100906 MB
93.617325 MB 2 bytes 44.471237 MB
93.987816 MB 2 bytes 44.84224 MB
94.35842 MB 2 bytes 45.212845 MB
94.72899 MB 2 bytes 45.583412 MB
95.09978 MB 2 bytes 45.9542 MB
95.470184 MB 2 bytes 46.324608 MB
95.84069 MB 2 bytes 46.695114 MB
96.20336 MB 2 bytes 47.06562 MB
96.574356 MB 2 bytes 47.436615 MB
96.94495 MB 2 bytes 47.807205 MB
97.31608 MB 2 bytes 48.178337 MB
97.68684 MB 2 bytes 48.549095 MB
98.0571 MB 2 bytes 48.919357 MB
98.427925 MB 2 bytes 49.290184 MB
98.79843 MB 2 bytes 49.66069 MB
Test: OneTimeSetUp: You must increase heap to > 2 G to run this
Null lucene.version test property. You should run the tests with the official Lucene build file
TestOverflow: // memory hole
TestMaxSizeBounds: Increase heap size to run this test
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.AllProjects\bin\Release\net10.0\Lucene.Net.Tests.AllProjects.dll
NUnit3TestExecutor discovered 1795 of 1795 NUnit test cases using Current Discovery mode, Non-Explicit run
TestIsError(NUnit.Framework.SuccessException,False,System.Action): Throwing a SuccessException.
TestIsThrowable(NUnit.Framework.SuccessException,False,System.Action): Throwing a SuccessException.
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Analysis.Common\bin\Release\net10.0\Lucene.Net.Tests.Analysis.Common.dll
NUnit3TestExecutor discovered 1569 of 1569 NUnit test cases using Current Discovery mode, Non-Explicit run
WikipediaTokenizer.Reset()
WordDelimiterFilter.Reset()
WikipediaTokenizer->startOffset=0,endOffset=1,type=<ALPHANUM>,positionIncrement=1,term=B,bytes=[42],flags=0
WikipediaTokenizer->startOffset=13,endOffset=15,type=el,positionIncrement=0,term=jb,bytes=[6a 62],flags=0
WordDelimiterFilter->startOffset=13,endOffset=15,type=el,positionIncrement=1,term=jb,bytes=[6a 62],flags=0
WikipediaTokenizer.End()
WordDelimiterFilter.End()
WikipediaTokenizer.Close()
WordDelimiterFilter.Close()
WikipediaTokenizer.Reset()
WordDelimiterFilter.Reset()
WikipediaTokenizer->startOffset=0,endOffset=1,type=<ALPHANUM>,positionIncrement=1,term=B,bytes=[42],flags=0,clearCalled=True
WikipediaTokenizer->startOffset=13,endOffset=15,type=el,positionIncrement=0,term=jb,bytes=[6a 62],flags=0,clearCalled=True
WordDelimiterFilter->startOffset=13,endOffset=15,type=el,positionIncrement=1,term=jb,bytes=[6a 62],flags=0,clearCalled=True
WikipediaTokenizer.End()
WordDelimiterFilter.End()
WikipediaTokenizer.Close()
WordDelimiterFilter.Close()
Test: OneTimeSetUp: Enable manually
TestOneDictionary: OneTimeSetUp: Enable manually
Test: OneTimeSetUp: enable manually
TestOneDictionary: OneTimeSetUp: enable manually
TestNastyPattern: Ignored in Lucene
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Analysis.Kuromoji\bin\Release\net10.0\Lucene.Net.Tests.Analysis.Kuromoji.dll
NUnit3TestExecutor discovered 129 of 129 NUnit test cases using Current Discovery mode, Non-Explicit run
dictionary builder
dictionary format: IPADIC
input directory: C:\Users\shad\AppData\Local\Temp\LuceneTemp\build-dictionary-input-vtca33xv
output directory: C:\Users\shad\AppData\Local\Temp\LuceneTemp\build-dictionary-output-hhfbdo3k
input encoding: euc-jp
normalize entries: True
building tokeninfo dict...
parse...
sort...
encode...
2024 nodes, 6051 arcs, 31470 bytes...
done
done
building unknown word dict...
done
building connection costs...
done
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Analysis.Morfologik\bin\Release\net10.0\Lucene.Net.Tests.Analysis.Morfologik.dll
NUnit3TestExecutor discovered 18 of 18 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Analysis.OpenNLP\bin\Release\net10.0\Lucene.Net.Tests.Analysis.OpenNLP.dll
NUnit3TestExecutor discovered 26 of 26 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Analysis.Phonetic\bin\Release\net10.0\Lucene.Net.Tests.Analysis.Phonetic.dll
NUnit3TestExecutor discovered 354 of 354 NUnit test cases using Current Discovery mode, Non-Explicit run
Time for encoding 80000 times the input 'Angelo': 24579 millis.
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Analysis.SmartCn\bin\Release\net10.0\Lucene.Net.Tests.Analysis.SmartCn.dll
NUnit3TestExecutor discovered 43 of 43 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Analysis.Stempel\bin\Release\net10.0\Lucene.Net.Tests.Analysis.Stempel.dll
NUnit3TestExecutor discovered 31 of 31 NUnit test cases using Current Discovery mode, Non-Explicit run
C:\Users\shad\AppData\Local\Temp\LuceneTemp\testCompile-xhglyvcr\testRules.txt
C:\Users\shad\AppData\Local\Temp\LuceneTemp\testCompile-1liz00oy\testRules.txt
C:\Users\shad\AppData\Local\Temp\LuceneTemp\testCompile-xoglm2kt\testRules.txt
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Benchmark\bin\Release\net10.0\Lucene.Net.Tests.Benchmark.dll
NUnit3TestExecutor discovered 120 of 120 NUnit test cases using Current Discovery mode, Non-Explicit run
TestWithoutAlt: In LUCENENET, we use all referenced assemblies by default. Currently, we don't support a scenario that loads external assemblies.
------------> starting task: Seq
------------> starting task: Seq
------------> Report Sum By Prefix (X) (1 about 1 out of 1012)
Operation round runCnt recsPerRun rec/s elapsedSec avgUsedMem avgTotalMem
XSearch_2_Par 0 1 2279 4 468.63 0.51 12 651 184 12 651 184
Changed Locale to:
Changed Analyzer to: ICUCollationKeyAnalyzer()
--> Round 0-->1
Changed Locale to: de
Changed Analyzer to: ICUCollationKeyAnalyzer(de)
--> Round 0-->1
Changed Locale to: en-US
Changed Analyzer to: ICUCollationKeyAnalyzer(en-US)
--> Round 0-->1
Changed Locale to: nb-NO
Changed Analyzer to: ICUCollationKeyAnalyzer(nb-NO)
--> Round 0-->1
Changed Locale to:
Changed Analyzer to: CollationKeyAnalyzer()
--> Round 0-->1
Changed Locale to: de
Changed Analyzer to: CollationKeyAnalyzer(de)
--> Round 0-->1
Changed Locale to: en-US
Changed Analyzer to: CollationKeyAnalyzer(en-US)
--> Round 0-->1
Changed Locale to: nb-NO
Changed Analyzer to: CollationKeyAnalyzer(nb-NO)
--> Round 0-->1
------------> starting task: Seq
------------> starting task: Rounds
------------> Report Sum By (any) Name (4 about 4 out of 5)
Operation round runCnt recsPerRun rec/s elapsedSec avgUsedMem avgTotalMem
Rounds 0 1 20 952.38 0.02 13 627 632 13 627 632
CreateIndex - - - 0 - - 1 - - - - 0 - - - 0.00 - - 0.00 - 12 288 496 - 12 288 496
AddDocs_Exhaust 0 1 20 20 000.00 0.00 12 620 176 12 620 176
CloseIndex - - - 0 - - 1 - - - - 0 - - - 0.00 - - 0.00 - 13 627 632 - 13 627 632
------------> starting task: Seq
------------> starting task: Rounds
------------> Report Sum By (any) Name (4 about 4 out of 5)
Operation round runCnt recsPerRun rec/s elapsedSec avgUsedMem avgTotalMem
Rounds 0 1 22 1 047.62 0.02 13 634 320 13 634 320
CreateIndex - - - 0 - - 1 - - - - 1 - 1 000.00 - - 0.00 - 12 290 984 - 12 290 984
AddDocs_Exhaust 0 1 20 20 000.00 0.00 12 623 328 12 623 328
CloseIndex - - - 0 - - 1 - - - - 1 - - 333.33 - - 0.00 - 13 634 320 - 13 634 320
------------> starting task: Seq
------------> starting task: Seq
------------> starting task: Rounds_2
------------> starting task: Seq
------------> starting task: Seq
0000000.52 sec --> .NET TP Worker added 1,000.000000000 docs
------------> starting task: Seq
0000001.03 sec --> .NET TP Worker added 1,000.000000000 docs
------------> starting task: Seq
0000000.37 sec --> .NET TP Worker added 1,000.000000000 docs
------------> starting task: Seq
--> Round 0-->1: doc.term.vector:False-->True compound:True-->False
--> Round 1-->2: doc.term.vector:True-->False compound:False-->True
------------> starting task: Seq
Changed Locale to: null
--> Round 0-->1
Changed Locale to:
--> Round 0-->1
Changed Locale to: de
--> Round 0-->1
Changed Locale to: en-US
--> Round 0-->1
Changed Locale to: nb-NO
--> Round 0-->1
------------> starting task: Seq
------------> starting task: Seq
------------> starting task: CreateIndex
------------> starting task: Seq_Exhaust
------------> starting task: Seq_Exhaust
------------> starting task: WaitForMerges
------------> starting task: CloseIndex
------------> starting task: Seq
------------> starting task: Seq
------------> starting task: Seq
------------> starting task: Seq
------------> starting task: Seq
------------> starting task: Seq
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> queries:
Spatial Strategy: RecursivePrefixTreeStrategyAnonymousClass(prefixGridScanLevel:7,SPG:(GeohashPrefixTree(maxLevels:11,ctx:SpatialContext{geo=True, calculator=Haversine, worldBounds=Rect(minX=-180,maxX=180,minY=-90,maxY=90)})))
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> queries:
------------> starting task: Seq
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Classification\bin\Release\net10.0\Lucene.Net.Tests.Classification.dll
NUnit3TestExecutor discovered 25 of 25 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\dotnet\tools\Lucene.Net.Tests.Cli\bin\Release\net10.0\Lucene.Net.Tests.Cli.dll
NUnit3TestExecutor discovered 248 of 248 NUnit test cases using Current Discovery mode, Non-Explicit run
-------------------------
Run 'demo index-files --view-source-code' to see the C# code or 'demo index-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo index-files --view-source-code' to see the C# code or 'demo index-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo index-files --view-source-code' to see the C# code or 'demo index-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
-------------------------
Run 'demo search-files --view-source-code' to see the C# code or 'demo search-files --output-source-code <DIRECTORY>' to export the code to a local directory.
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Codecs\bin\Release\net10.0\Lucene.Net.Tests.Codecs.dll
NUnit3TestExecutor discovered 466 of 466 NUnit test cases using Current Discovery mode, Non-Explicit run
TestHugeBinaryValueLimit: test requires codec with limits on max binary field length
Expected: True
But was: False
TestHugeBinaryValueLimit: test requires codec with limits on max binary field length
Expected: True
But was: False
Test10kNotPulsed: This is a nightly test.
Test10kPulsed: This is a nightly test.
TestHugeBinaryValueLimit: test requires codec with limits on max binary field length
Expected: True
But was: False
TestDocsAndFreqs: This is a nightly test.
TestDocsAndFreqsAndPositions: This is a nightly test.
TestDocsAndFreqsAndPositionsAndOffsets: This is a nightly test.
TestDocsAndFreqsAndPositionsAndOffsetsAndPayloads: This is a nightly test.
TestDocsAndFreqsAndPositionsAndPayloads: This is a nightly test.
TestDocsOnly: This is a nightly test.
TestMergeStability: This is a nightly test.
TestRandom: This is a nightly test.
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Demo\bin\Release\net10.0\Lucene.Net.Tests.Demo.dll
NUnit3TestExecutor discovered 15 of 15 NUnit test cases using Current Discovery mode, Non-Explicit run
Indexing to directory 'C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTest-etnulrkb'...
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\apache1.0.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\apache1.1.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\apache2.0.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\cpl1.0.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\epl1.0.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\freebsd.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\gpl1.0.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\gpl2.0.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\gpl3.0.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\lgpl2.1.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\lgpl3.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\lpgl2.0.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\mit.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\mozilla1.1.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\mozilla_eula_firefox3.txt
adding C:\Users\shad\AppData\Local\Temp\LuceneTemp\DemoTestFiles-ljthulsq\mozilla_eula_thunderbird2.txt
798,0995 total milliseconds
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Expressions\bin\Release\net10.0\Lucene.Net.Tests.Expressions.dll
NUnit3TestExecutor discovered 109 of 109 NUnit test cases using Current Discovery mode, Non-Explicit run
line 1:0 no viable alternative at input '<EOF>'
line 1:1 no viable alternative at input ')'
line 3:2 no viable alternative at input '<EOF>'
line 1:2 no viable alternative at input '/'
line 1:0 no viable alternative at input '.'
TestCoRecursion: StackOverflowException can't be caught in .NET
TestCoRecursion2: StackOverflowException can't be caught in .NET
TestCoRecursion3: StackOverflowException can't be caught in .NET
TestCoRecursion4: StackOverflowException can't be caught in .NET
TestSelfRecursion: StackOverflowException can't be caught in .NET
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Facet\bin\Release\net10.0\Lucene.Net.Tests.Facet.dll
NUnit3TestExecutor discovered 181 of 181 NUnit test cases using Current Discovery mode, Non-Explicit run
TestManyFacetsInOneDocument: default Codec doesn't support huge BinaryDocValues
Expected: True
But was: False
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Grouping\bin\Release\net10.0\Lucene.Net.Tests.Grouping.dll
NUnit3TestExecutor discovered 63 of 63 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Highlighter\bin\Release\net10.0\Lucene.Net.Tests.Highlighter.dll
NUnit3TestExecutor discovered 191 of 191 NUnit test cases using Current Discovery mode, Non-Explicit run
Highlighter iter: 0
Highlighter iter: 1
Highlighter iter: 2
Highlighter iter: 3
Highlighter iter: 4
Highlighter iter: 5
Highlighter iter: 6
Highlighter iter: 7
Highlighter iter: 8
Highlighter iter: 9
Highlighter iter: 10
Highlighter iter: 11
Highlighter iter: 12
Highlighter iter: 13
Highlighter iter: 14
Highlighter iter: 15
Highlighter iter: 16
Highlighter iter: 17
Highlighter iter: 18
Highlighter iter: 19
Highlighter iter: 20
Highlighter iter: 21
Highlighter iter: 22
Highlighter iter: 23
Highlighter iter: 24
Highlighter iter: 25
Highlighter iter: 26
Highlighter iter: 27
Highlighter iter: 28
Highlighter iter: 29
Highlighter iter: 30
Highlighter iter: 31
Highlighter iter: 32
Highlighter iter: 33
Highlighter iter: 34
Highlighter iter: 35
Highlighter iter: 36
Highlighter iter: 37
Highlighter iter: 38
Highlighter iter: 39
Highlighter iter: 40
Highlighter iter: 41
Highlighter iter: 42
Highlighter iter: 43
Highlighter iter: 44
Highlighter iter: 45
Highlighter iter: 46
Highlighter iter: 47
Highlighter iter: 48
Highlighter iter: 49
Highlighter iter: 50
Highlighter iter: 51
Highlighter iter: 52
Highlighter iter: 53
Highlighter iter: 54
Highlighter iter: 55
Highlighter iter: 56
Highlighter iter: 57
Highlighter iter: 58
Highlighter iter: 59
Highlighter iter: 60
Highlighter iter: 61
Highlighter iter: 62
Highlighter iter: 63
Highlighter iter: 64
Highlighter iter: 65
Highlighter iter: 66
Highlighter iter: 67
Highlighter iter: 68
Highlighter iter: 69
Highlighter iter: 70
Highlighter iter: 71
Highlighter iter: 72
Highlighter iter: 73
Highlighter iter: 74
Highlighter iter: 75
Highlighter iter: 76
Highlighter iter: 77
Highlighter iter: 78
Highlighter iter: 79
Highlighter iter: 80
Highlighter iter: 81
Highlighter iter: 82
Highlighter iter: 83
Highlighter iter: 84
Highlighter iter: 85
Highlighter iter: 86
Highlighter iter: 87
Highlighter iter: 88
Highlighter iter: 89
Highlighter iter: 90
Highlighter iter: 91
Highlighter iter: 92
Highlighter iter: 93
Highlighter iter: 94
Highlighter iter: 95
Highlighter iter: 96
Highlighter iter: 97
Highlighter iter: 98
Highlighter iter: 99
Highlighter iter: 100
Highlighter iter: 101
Highlighter iter: 102
Highlighter iter: 103
Highlighter iter: 104
Highlighter iter: 105
Highlighter iter: 106
Highlighter iter: 107
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\dotnet\Lucene.Net.Tests.ICU\bin\Release\net10.0\Lucene.Net.Tests.ICU.dll
NUnit3TestExecutor discovered 304 of 304 NUnit test cases using Current Discovery mode, Non-Explicit run
TestLineIteration: Not required to confirm compatibility with Java, as this is not required by Lucene's tests.
TestWordIterationThai: We did not make a dictionary based break iterator with custom Thai rules, so this has the default behavior of ICU rather than the JDK
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Join\bin\Release\net10.0\Lucene.Net.Tests.Join.dll
NUnit3TestExecutor discovered 70 of 70 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Memory\bin\Release\net10.0\Lucene.Net.Tests.Memory.dll
NUnit3TestExecutor discovered 27 of 27 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Misc\bin\Release\net10.0\Lucene.Net.Tests.Misc.dll
NUnit3TestExecutor discovered 57 of 57 NUnit test cases using Current Discovery mode, Non-Explicit run
numFieldValues == 1277
TestSortedSetDocValuesField: default codec does not support SORTED_SET
Expected: True
But was: False
Writing part 1 ...
Writing part 2 ...
Writing part 3 ...
Done.
Writing part 1 ...
Writing part 2 ...
Writing part 3 ...
Done.
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Queries\bin\Release\net10.0\Lucene.Net.Tests.Queries.dll
NUnit3TestExecutor discovered 116 of 116 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.QueryParser\bin\Release\net10.0\Lucene.Net.Tests.QueryParser.dll
NUnit3TestExecutor discovered 446 of 446 NUnit test cases using Current Discovery mode, Non-Explicit run
Output of formatter.Format():
"December 31, 1969 8:00:00 AM -8"
Output of formatter.Format():
"December 31, 1969 8:00 AM"
Output of formatter.Format():
"October 31, 1871 9:30:13 AM"
TestEscapedWildcard: flexible queryparser shouldn't escape wildcard terms
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Replicator\bin\Release\net10.0\Lucene.Net.Tests.Replicator.dll
NUnit3TestExecutor discovered 121 of 121 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Sandbox\bin\Release\net10.0\Lucene.Net.Tests.Sandbox.dll
NUnit3TestExecutor discovered 61 of 61 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Spatial\bin\Release\net10.0\Lucene.Net.Tests.Spatial.dll
NUnit3TestExecutor discovered 45 of 45 NUnit test cases using Current Discovery mode, Non-Explicit run
Document<stored,indexed,tokenized<id:1>>
Strategy: RecursivePrefixTreeStrategy(prefixGridScanLevel:-2,SPG:(GeohashPrefixTree(maxLevels:2,ctx:SpatialContext.Geo)))
Strategy: RecursivePrefixTreeStrategy(prefixGridScanLevel:-2,SPG:(GeohashPrefixTree(maxLevels:2,ctx:SpatialContext.Geo)))
Strategy: RecursivePrefixTreeStrategy(prefixGridScanLevel:-2,SPG:(GeohashPrefixTree(maxLevels:2,ctx:SpatialContext.Geo)))
Strategy: RecursivePrefixTreeStrategy(prefixGridScanLevel:-2,SPG:(GeohashPrefixTree(maxLevels:2,ctx:SpatialContext.Geo)))
Document<stored,indexed,tokenized<id:1>>
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.Suggest\bin\Release\net10.0\Lucene.Net.Tests.Suggest.dll
NUnit3TestExecutor discovered 168 of 168 NUnit test cases using Current Discovery mode, Non-Explicit run
the returned/10
top of the lake/5
star wars: episode v - the empire strikes back/2
TestConstructionTime: OneTimeSetUp: COMMENT ME TO RUN BENCHMARKS!
TestPerformanceOnFullHits: OneTimeSetUp: COMMENT ME TO RUN BENCHMARKS!
TestPerformanceOnPrefixes2_4: OneTimeSetUp: COMMENT ME TO RUN BENCHMARKS!
TestPerformanceOnPrefixes6_9: OneTimeSetUp: COMMENT ME TO RUN BENCHMARKS!
TestStorageNeeds: OneTimeSetUp: COMMENT ME TO RUN BENCHMARKS!
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.TestFramework\bin\Release\net10.0\Lucene.Net.Tests.TestFramework.dll
NUnit3TestExecutor discovered 190 of 190 NUnit test cases using Current Discovery mode, Non-Explicit run
TestHugeBinaryValueLimit: test requires codec with limits on max binary field length
Expected: True
But was: False
TestContext.Parameters (0)
TestHashCodeReadProperty: Test SystemProperties is different from internal SystemProperties - seed is not set in base engine
TestFsyncDoesntCreateNewFiles: test only works for FSDirectory subclasses
Expected: True
But was: False
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.TestFramework.DependencyInjection\bin\Release\net10.0\Lucene.Net.Tests.TestFramework.DependencyInjection.dll
NUnit3TestExecutor discovered 3 of 3 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\Lucene.Net.Tests.TestFramework.NUnitExtensions\bin\Release\net10.0\Lucene.Net.Tests.TestFramework.NUnitExtensions.dll
NUnit3TestExecutor discovered 18 of 18 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
NUnit Adapter 4.6.0.0: Test execution started
Running selected tests in F:\Projects\lucenenet\src\dotnet\Lucene.Net.Tests.CodeAnalysis\bin\Release\net8.0\Lucene.Net.Tests.CodeAnalysis.dll
NUnit3TestExecutor discovered 39 of 39 NUnit test cases using Current Discovery mode, Non-Explicit run
NUnit Adapter 4.6.0.0: Test execution complete
========== Test run finished: 10918 Tests (10747 Passed, 0 Failed, 54 Skipped) run in 6.5 min ==========There was only 1 exception due to files that could not be closed: [ERROR] OneTimeTearDown: An exception occurred during CleanupTemporaryFiles() in Lucene.Net.Store.TestDirectory:
System.IO.IOException: Could not remove the following files (in the order of attempts):
C:\Users\shad\AppData\Local\Temp\LuceneTemp\LUCENENET521-hdk45qc2\_0.cfs
C:\Users\shad\AppData\Local\Temp\LuceneTemp\LUCENENET521-hdk45qc2\_0.cfx
C:\Users\shad\AppData\Local\Temp\LuceneTemp\LUCENENET521-hdk45qc2
at Lucene.Net.Util.TestUtil.Rm(FileSystemInfo[] locations) in F:\Projects\lucenenet\src\Lucene.Net.TestFramework\Util\TestUtil.cs:line 66
at Lucene.Net.Util.LuceneTestCase.CleanupTemporaryFiles() in F:\Projects\lucenenet\src\Lucene.Net.TestFramework\Util\LuceneTestCase.cs:line 3165
at Lucene.Net.Util.LuceneTestCase.OneTimeTearDown() in F:\Projects\lucenenet\src\Lucene.Net.TestFramework\Util\LuceneTestCase.cs:line 1039I saw this happen at least twice, so I suspect there may be an issue with that test rather than this PR. I haven't reviewed the code yet, though. I just wanted to see whether this fixes the issues in #1361, and it does. Although, see #1400. This branch wasn't rebased against the latest Note that with |
An alternative approach to fixing MMapDirectory, via a DrainReclaimer class.
Fixes #1013
Fixes #1151
Description
This is an alternative approach to #1361, as a stacked PR on top of that for comparison. Much of the underlying work is the same, but this fixes the dilemma of risking AVEs vs non-deterministic GC cleanup.
First, some benchmarks:
(Note that I have a different machine than the prior benchmarks in #1151, but this was modeled in the same way. This new machine has more cores, and thus performs even worse under heavy concurrent load for beta 17.)
This branch/approach has a very small performance penalty compared to #1361, but allows for deterministic cleanup (does not rely on GC/finalizers), and does not have AVE risk either.
Core Idea
The core idea of this PR is that it uses a "drain reclaimer" to track entries and exits around raw memory access. When the parent requests closure, if any readers are mid-read, it will spin-wait until all readers have exited before reclaiming the memory. This is how it prevents AVEs at the readers. The Enter/Exit calls are around short critical regions that are not expected to throw or hang, but could theoretically be de-scheduled by the OS under heavy multitasking contention. The spin-wait will spin for a few cycles then yield to allow the OS to clear the threads. This is analogous to Lucene 10.x's behavior.
This is implemented via volatile reads/writes to be lock-free. This results in very good performance, only a minimal penalty compared to the other PR which lacks these checks.
Other Ideas Explored
To get here, I first explored the JDK FFM API to understand how it was implemented. I thought that maybe we could re-implement the API in .NET, but that is not really possible, since it requires a HotSpot feature that checks stack traces for "scoped" regions.
This wasn't a dead-end, though. Through extensive conversation with Claude Code, it made me learn about a technique called Epoch-Based Reclamation. This allows for lock-free reclamation of protected resources like raw memory access across concurrent threads. I prototyped this, but it wasn't quite right: it is more for longer-lived protection than a single IndexInput.
This then brought me to the idea of Hazard Pointers, which is almost identical to what this PR is, the only difference is that with a HP, the HP owns the pointer, whereas here the DrainReclaimer just does the bookkeeping of concurrent access, and the pointer is owned by the chunk. But it's very close in theory to Hazard Pointers, and operates much in the same way. I called this type DrainReclaimer since it isn't a true HP.