blob: 404aad3309721461e5e918878ae379a5ef086f98 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Class TaskMergeScheduler
| Apache Lucene.NET 4.8.0-beta00010 Documentation </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class TaskMergeScheduler
| Apache Lucene.NET 4.8.0-beta00010 Documentation ">
<meta name="generator" content="docfx 2.56.0.0">
<link rel="shortcut icon" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/favicon.ico">
<link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.css">
<link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.css">
<link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.css">
<meta property="docfx:navrel" content="toc.html">
<meta property="docfx:tocrel" content="core/toc.html">
<meta property="docfx:rel" content="https://lucenenet.apache.org/docs/4.8.0-beta00009/">
</head>
<body data-spy="scroll" data-target="#affix" data-offset="120">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">
<img id="logo" class="svg" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/lucene-net-color.png" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search">
<ul class="level0 breadcrumb">
<li>
<a href="https://lucenenet.apache.org/docs/4.8.0-beta00009/">API</a>
<span id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</span>
</li>
</ul>
</div>
</div>
</header>
<div class="container body-content">
<div id="search-results">
<div class="search-list"></div>
<div class="sr-items">
<p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
</div>
<ul id="pagination"></ul>
</div>
</div>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="Lucene.Net.Index.TaskMergeScheduler">
<h1 id="Lucene_Net_Index_TaskMergeScheduler" data-uid="Lucene.Net.Index.TaskMergeScheduler" class="text-break">Class TaskMergeScheduler
</h1>
<div class="markdown level0 summary"><p>A <a class="xref" href="Lucene.Net.Index.MergeScheduler.html">MergeScheduler</a> that runs each merge using
<span class="xref">System.Threading.Tasks.Task</span>s on the default <span class="xref">System.Threading.Tasks.TaskScheduler</span>.</p>
<p>If more than <a class="xref" href="Lucene.Net.Index.TaskMergeScheduler.html#Lucene_Net_Index_TaskMergeScheduler_MaxMergeCount">MaxMergeCount</a> merges are
requested then this class will forcefully throttle the
incoming threads by pausing until one more more merges
complete.</p>
<p>LUCENENET specific</p>
</div>
<div class="markdown level0 conceptual"></div>
<div class="inheritance">
<h5>Inheritance</h5>
<div class="level0"><span class="xref">System.Object</span></div>
<div class="level1"><a class="xref" href="Lucene.Net.Index.MergeScheduler.html">MergeScheduler</a></div>
<div class="level2"><span class="xref">TaskMergeScheduler</span></div>
</div>
<div classs="implements">
<h5>Implements</h5>
<div><a class="xref" href="Lucene.Net.Index.IConcurrentMergeScheduler.html">IConcurrentMergeScheduler</a></div>
<div><a class="xref" href="Lucene.Net.Index.IMergeScheduler.html">IMergeScheduler</a></div>
<div><span class="xref">System.IDisposable</span></div>
</div>
<div class="inheritedMembers">
<h5>Inherited Members</h5>
<div>
<a class="xref" href="Lucene.Net.Index.MergeScheduler.html#Lucene_Net_Index_MergeScheduler_Dispose">MergeScheduler.Dispose()</a>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object)</span>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.GetHashCode()</span>
</div>
<div>
<span class="xref">System.Object.GetType()</span>
</div>
<div>
<span class="xref">System.Object.MemberwiseClone()</span>
</div>
<div>
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
</div>
</div>
<h6><strong>Namespace</strong>: <a class="xref" href="Lucene.Net.Index.html">Lucene.Net.Index</a></h6>
<h6><strong>Assembly</strong>: Lucene.Net.dll</h6>
<h5 id="Lucene_Net_Index_TaskMergeScheduler_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class TaskMergeScheduler : MergeScheduler, IConcurrentMergeScheduler, IMergeScheduler, IDisposable</code></pre>
</div>
<h3 id="constructors">Constructors
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler__ctor.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L72">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler__ctor_" data-uid="Lucene.Net.Index.TaskMergeScheduler.#ctor*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler__ctor" data-uid="Lucene.Net.Index.TaskMergeScheduler.#ctor">TaskMergeScheduler()</h4>
<div class="markdown level1 summary"><p>Sole constructor, with all settings set to default
values.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TaskMergeScheduler()</code></pre>
</div>
<h3 id="fields">Fields
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_COMPONENT_NAME.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.COMPONENT_NAME%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L44">View Source</a>
</span>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_COMPONENT_NAME" data-uid="Lucene.Net.Index.TaskMergeScheduler.COMPONENT_NAME">COMPONENT_NAME</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string COMPONENT_NAME = &quot;CMS&quot;</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="properties">Properties
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_MaxMergeCount.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.MaxMergeCount%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L109">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_MaxMergeCount_" data-uid="Lucene.Net.Index.TaskMergeScheduler.MaxMergeCount*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_MaxMergeCount" data-uid="Lucene.Net.Index.TaskMergeScheduler.MaxMergeCount">MaxMergeCount</h4>
<div class="markdown level1 summary"><p>Max number of merges we accept before forcefully
throttling the incoming threads</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int MaxMergeCount { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_MaxThreadCount.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.MaxThreadCount%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L103">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_MaxThreadCount_" data-uid="Lucene.Net.Index.TaskMergeScheduler.MaxThreadCount*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_MaxThreadCount" data-uid="Lucene.Net.Index.TaskMergeScheduler.MaxThreadCount">MaxThreadCount</h4>
<div class="markdown level1 summary"><p>Max number of merge threads allowed to be running at
once. When there are more merges then this, we
forcefully pause the larger ones, letting the smaller
ones run, up until <a class="xref" href="Lucene.Net.Index.TaskMergeScheduler.html#Lucene_Net_Index_TaskMergeScheduler_MaxMergeCount">MaxMergeCount</a> merges at which point
we forcefully pause incoming threads (that presumably
are the ones causing so much merging).</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int MaxThreadCount { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 id="Lucene_Net_Index_TaskMergeScheduler_MaxThreadCount_seealso">See Also</h5>
<div class="seealso">
<div><a class="xref" href="Lucene.Net.Index.TaskMergeScheduler.html#Lucene_Net_Index_TaskMergeScheduler_SetMaxMergesAndThreads_System_Int32_System_Int32_">SetMaxMergesAndThreads(Int32, Int32)</a></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_MergeThreadPriority.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.MergeThreadPriority%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L114">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_MergeThreadPriority_" data-uid="Lucene.Net.Index.TaskMergeScheduler.MergeThreadPriority*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_MergeThreadPriority" data-uid="Lucene.Net.Index.TaskMergeScheduler.MergeThreadPriority">MergeThreadPriority</h4>
<div class="markdown level1 summary"><p>Return the priority that merge threads run at. This is always the same.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int MergeThreadPriority { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_Verbose.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.Verbose%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L163">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_Verbose_" data-uid="Lucene.Net.Index.TaskMergeScheduler.Verbose*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_Verbose" data-uid="Lucene.Net.Index.TaskMergeScheduler.Verbose">Verbose</h4>
<div class="markdown level1 summary"><p>Returns <code>true</code> if verbosing is enabled. This method is usually used in
conjunction with <a class="xref" href="Lucene.Net.Index.TaskMergeScheduler.html#Lucene_Net_Index_TaskMergeScheduler_Message_System_String_">Message(String)</a>, like that:</p>
<pre><code>if (Verbose) {
Message(&quot;your message&quot;);
}</code></pre>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected bool Verbose { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="methods">Methods
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_ClearSuppressExceptions.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.ClearSuppressExceptions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L411">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_ClearSuppressExceptions_" data-uid="Lucene.Net.Index.TaskMergeScheduler.ClearSuppressExceptions*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_ClearSuppressExceptions" data-uid="Lucene.Net.Index.TaskMergeScheduler.ClearSuppressExceptions">ClearSuppressExceptions()</h4>
<div class="markdown level1 summary"><p>Used for testing </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void ClearSuppressExceptions()</code></pre>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_Clone.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.Clone%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L424">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_Clone_" data-uid="Lucene.Net.Index.TaskMergeScheduler.Clone*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_Clone" data-uid="Lucene.Net.Index.TaskMergeScheduler.Clone">Clone()</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override object Clone()</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Object</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Lucene.Net.Index.MergeScheduler.html#Lucene_Net_Index_MergeScheduler_Clone">MergeScheduler.Clone()</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_Dispose_System_Boolean_.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.Dispose(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L174">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_Dispose_" data-uid="Lucene.Net.Index.TaskMergeScheduler.Dispose*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_Dispose_System_Boolean_" data-uid="Lucene.Net.Index.TaskMergeScheduler.Dispose(System.Boolean)">Dispose(Boolean)</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override void Dispose(bool disposing)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">disposing</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Lucene.Net.Index.MergeScheduler.html#Lucene_Net_Index_MergeScheduler_Dispose_System_Boolean_">MergeScheduler.Dispose(Boolean)</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_DoMerge_Lucene_Net_Index_MergePolicy_OneMerge_.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.DoMerge(Lucene.Net.Index.MergePolicy.OneMerge)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L334">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_DoMerge_" data-uid="Lucene.Net.Index.TaskMergeScheduler.DoMerge*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_DoMerge_Lucene_Net_Index_MergePolicy_OneMerge_" data-uid="Lucene.Net.Index.TaskMergeScheduler.DoMerge(Lucene.Net.Index.MergePolicy.OneMerge)">DoMerge(MergePolicy.OneMerge)</h4>
<div class="markdown level1 summary"><p>Does the actual merge, by calling <a class="xref" href="Lucene.Net.Index.IndexWriter.html#Lucene_Net_Index_IndexWriter_Merge_Lucene_Net_Index_MergePolicy_OneMerge_">Merge(MergePolicy.OneMerge)</a> </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected virtual void DoMerge(MergePolicy.OneMerge merge)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Index.MergePolicy.OneMerge.html">MergePolicy.OneMerge</a></td>
<td><span class="parametername">merge</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_HandleMergeException_System_Exception_.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.HandleMergeException(System.Exception)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L371">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_HandleMergeException_" data-uid="Lucene.Net.Index.TaskMergeScheduler.HandleMergeException*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_HandleMergeException_System_Exception_" data-uid="Lucene.Net.Index.TaskMergeScheduler.HandleMergeException(System.Exception)">HandleMergeException(Exception)</h4>
<div class="markdown level1 summary"><p>Called when an exception is hit in a background merge
thread</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected virtual void HandleMergeException(Exception exc)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Exception</span></td>
<td><span class="parametername">exc</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_Merge_Lucene_Net_Index_IndexWriter_Lucene_Net_Index_MergeTrigger_System_Boolean_.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.Merge(Lucene.Net.Index.IndexWriter%2CLucene.Net.Index.MergeTrigger%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L226">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_Merge_" data-uid="Lucene.Net.Index.TaskMergeScheduler.Merge*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_Merge_Lucene_Net_Index_IndexWriter_Lucene_Net_Index_MergeTrigger_System_Boolean_" data-uid="Lucene.Net.Index.TaskMergeScheduler.Merge(Lucene.Net.Index.IndexWriter,Lucene.Net.Index.MergeTrigger,System.Boolean)">Merge(IndexWriter, MergeTrigger, Boolean)</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override void Merge(IndexWriter writer, MergeTrigger trigger, bool newMergesFound)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Lucene.Net.Index.IndexWriter.html">IndexWriter</a></td>
<td><span class="parametername">writer</span></td>
<td></td>
</tr>
<tr>
<td><a class="xref" href="Lucene.Net.Index.MergeTrigger.html">MergeTrigger</a></td>
<td><span class="parametername">trigger</span></td>
<td></td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">newMergesFound</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Lucene.Net.Index.MergeScheduler.html#Lucene_Net_Index_MergeScheduler_Merge_Lucene_Net_Index_IndexWriter_Lucene_Net_Index_MergeTrigger_System_Boolean_">MergeScheduler.Merge(IndexWriter, MergeTrigger, Boolean)</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_Message_System_String_.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.Message(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L169">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_Message_" data-uid="Lucene.Net.Index.TaskMergeScheduler.Message*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_Message_System_String_" data-uid="Lucene.Net.Index.TaskMergeScheduler.Message(System.String)">Message(String)</h4>
<div class="markdown level1 summary"><p>Outputs the given message - this method assumes <a class="xref" href="Lucene.Net.Index.TaskMergeScheduler.html#Lucene_Net_Index_TaskMergeScheduler_Verbose">Verbose</a> was
called and returned <code>true</code>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected virtual void Message(string message)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">message</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_SetMaxMergesAndThreads_System_Int32_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.SetMaxMergesAndThreads(System.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L89">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_SetMaxMergesAndThreads_" data-uid="Lucene.Net.Index.TaskMergeScheduler.SetMaxMergesAndThreads*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_SetMaxMergesAndThreads_System_Int32_System_Int32_" data-uid="Lucene.Net.Index.TaskMergeScheduler.SetMaxMergesAndThreads(System.Int32,System.Int32)">SetMaxMergesAndThreads(Int32, Int32)</h4>
<div class="markdown level1 summary"><p>Sets the maximum number of merge threads and simultaneous merges allowed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void SetMaxMergesAndThreads(int maxMergeCount, int maxThreadCount)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">maxMergeCount</span></td>
<td><p>The max # simultaneous merges that are allowed.
If a merge is necessary yet we already have this many
threads running, the incoming thread (that is calling
add/updateDocument) will block until a merge thread
has completed. Note that we will only run the
smallest <code data-dev-comment-type="paramref" class="paramref">maxThreadCount</code> merges at a time. </p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">maxThreadCount</span></td>
<td><p>The max # simultaneous merge threads that should
be running at once. This must be &lt;= <code data-dev-comment-type="paramref" class="paramref">maxMergeCount</code> </p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_SetMergeThreadPriority_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.SetMergeThreadPriority(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L130">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_SetMergeThreadPriority_" data-uid="Lucene.Net.Index.TaskMergeScheduler.SetMergeThreadPriority*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_SetMergeThreadPriority_System_Int32_" data-uid="Lucene.Net.Index.TaskMergeScheduler.SetMergeThreadPriority(System.Int32)">SetMergeThreadPriority(Int32)</h4>
<div class="markdown level1 summary"><p>This method has no effect in <a class="xref" href="Lucene.Net.Index.TaskMergeScheduler.html">TaskMergeScheduler</a> because the
<a class="xref" href="Lucene.Net.Index.TaskMergeScheduler.html#Lucene_Net_Index_TaskMergeScheduler_MergeThreadPriority">MergeThreadPriority</a> returns a constant value.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void SetMergeThreadPriority(int priority)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">priority</span></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_SetSuppressExceptions.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.SetSuppressExceptions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L404">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_SetSuppressExceptions_" data-uid="Lucene.Net.Index.TaskMergeScheduler.SetSuppressExceptions*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_SetSuppressExceptions" data-uid="Lucene.Net.Index.TaskMergeScheduler.SetSuppressExceptions">SetSuppressExceptions()</h4>
<div class="markdown level1 summary"><p>Used for testing </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void SetSuppressExceptions()</code></pre>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_Sync.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.Sync%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L184">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_Sync_" data-uid="Lucene.Net.Index.TaskMergeScheduler.Sync*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_Sync" data-uid="Lucene.Net.Index.TaskMergeScheduler.Sync">Sync()</h4>
<div class="markdown level1 summary"><p>Wait for any running merge threads to finish.
This call is not interruptible as used by <a class="xref" href="Lucene.Net.Index.MergeScheduler.html#Lucene_Net_Index_MergeScheduler_Dispose">Dispose()</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public virtual void Sync()</code></pre>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler_ToString.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler.ToString%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/NightOwl888/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L416">View Source</a>
</span>
<a id="Lucene_Net_Index_TaskMergeScheduler_ToString_" data-uid="Lucene.Net.Index.TaskMergeScheduler.ToString*"></a>
<h4 id="Lucene_Net_Index_TaskMergeScheduler_ToString" data-uid="Lucene.Net.Index.TaskMergeScheduler.ToString">ToString()</h4>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override string ToString()</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><span class="xref">System.Object.ToString()</span></div>
<h3 id="implements">Implements</h3>
<div>
<a class="xref" href="Lucene.Net.Index.IConcurrentMergeScheduler.html">IConcurrentMergeScheduler</a>
</div>
<div>
<a class="xref" href="Lucene.Net.Index.IMergeScheduler.html">IMergeScheduler</a>
</div>
<div>
<span class="xref">System.IDisposable</span>
</div>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<div class="contribution">
<ul class="nav">
<li>
<a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00010/websites/apidocs/apiSpec/new?filename=Lucene_Net_Index_TaskMergeScheduler.md&amp;value=---%0Auid%3A%20Lucene.Net.Index.TaskMergeScheduler%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li>
<li>
<a href="https://github.com/apache/lucenenet/blob/release/Lucene.Net_4_8_0_beta00010/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs/#L42" class="contribution-link">View Source</a>
</li>
</ul>
</div>
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
Copyright © 2020 Licensed to the Apache Software Foundation (ASF)
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.js"></script>
<script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.js"></script>
<script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.js"></script>
</body>
</html>