<p>George Joseph <strong>uploaded patch set #4</strong> to this change.</p><p><a href="https://gerrit.asterisk.org/11001">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">taskprocessor: Enable subsystems and overload by subsystem<br><br>To prevent one subsystem's taskprocessors from causing others<br>to stall, new capabilities have been added to taskprocessors.<br><br>* Any taskprocessor name that has a '/' will have the part<br> before the '/' saved as its "subsystem".<br> Examples:<br> "sorcery/acl-0000006a" and "sorcery/aor-00000019"<br> will be grouped to subsystem "sorcery".<br> "pjsip/distributor-00000025" and "pjsip/distributor-00000026"<br> will bn grouped to subsystem "pjsip".<br> Taskprocessors with no '/' have an empty subsystem.<br><br>* When a taskprocessor enters high-water alert status and it<br> has a non-empty subsystem, the subsystem alert count will<br> be incremented.<br><br>* When a taskprocessor leaves high-water alert status and it<br> has a non-empty subsystem, the subsystem alert count will be<br> decremented.<br><br>* A new api ast_taskprocessor_get_subsystem_alert() has been<br> added that returns the number of taskprocessors in alert for<br> the subsystem.<br><br>* A new CLI command "core show taskprocessor alerted subsystems"<br> has been added.<br><br>* A new unit test was addded.<br><br>REMINDER: The taskprocessor code itself doesn't take any action<br>based on high-water alerts or overloading. It's up to taskprocessor<br>users to check and take action themselves. Currently only the pjsip<br>distributor does this.<br><br>* A new pjsip/global option "taskprocessor_overload_trigger"<br> has been added that allows the user to select the trigger<br> mechanism the distributor uses to pause accepting new requests.<br> "none": Don't pause on any overload condition.<br> "global": Pause on ANY taskprocessor overload (the default and<br> current behavior)<br> "pjsip_only": Pause only on pjsip taskprocessor overloads.<br><br>* The core pjsip pool was renamed from "SIP" to "pjsip" so it can<br> be properly grouped into the "pjsip" subsystem.<br><br>* stasis taskprocessor names were changed to "stasis" as the<br> subsystem.<br><br>Change-Id: I8c19068bb2fc26610a9f0b8624bdf577a04fcd56<br>---<br>M CHANGES<br>M configs/samples/pjsip.conf.sample<br>A contrib/ast-db-manage/config/versions/f3c0b8695b66_taskprocessor_overload_trigger.py<br>M include/asterisk/taskprocessor.h<br>M main/stasis.c<br>M main/taskprocessor.c<br>M main/threadpool.c<br>M res/res_pjsip.c<br>M res/res_pjsip/config_global.c<br>M res/res_pjsip/include/res_pjsip_private.h<br>M res/res_pjsip/pjsip_distributor.c<br>M tests/test_taskprocessor.c<br>12 files changed, 510 insertions(+), 11 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/01/11001/4</pre><p>To view, visit <a href="https://gerrit.asterisk.org/11001">change 11001</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/11001"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 13 </div>
<div style="display:none"> Gerrit-MessageType: newpatchset </div>
<div style="display:none"> Gerrit-Change-Id: I8c19068bb2fc26610a9f0b8624bdf577a04fcd56 </div>
<div style="display:none"> Gerrit-Change-Number: 11001 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation (1000185) </div>
<div style="display:none"> Gerrit-Reviewer: Richard Mudgett <rmudgett@digium.com> </div>