HPCC-8938 - Exception can cause sort partition deadlock

Need to ensure next in asyncfor loop is signalled to continue
to avoid deadlock.
Also add a stack trace when roxiemem runs out of memory.
HPCC-9356 Add depth and distance fields to Graph Page

Added depth to overview and local views.
Added distance to local view.

HPCC-9356

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
Merge pull request #4403 from GordonSmith/HPCC-9356

HPCC-9356 Add depth and distance fields to Graph Page

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPCC-9385 - Fix thread pool runningCount()

runningCount() was incorrectly tracked
Add optional tracing for pool thread starts and average delay

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
Merge pull request #4422 from jakesmith/hpcc-9385

HPCC-9385 - Fix thread pool runningCount()

Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPCC-9241 Returns results after action button is clicked on WUs page

On Browse (ECL or DFU) Workunits page, when an action (Protect,
SetToFailed, etc) button is clicked and the action is finished, the
page will be redirected to updated Browse Workunits page. That does
not work when rawxml_ flag is true (and for SOAP calls). This fix
returns action results if the rawxml_ flag or SOAP calls is detected.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
Merge branch 'h9241' into candidate-4.0.0

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #4430 from jakesmith/hpcc-8938

HPCC-8938 - Exception can cause sort partition deadlock

Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPCC-9215 DALI should not check LDAP for non managed scopes

Currently dali makes time consuming calls to LDAP to check the permissions
for every single file, even when that file not within a managed scope.
This was causing dali to delay workunits that used to run in seconds,
to over an hour or more. Additionally, DALI would call out to LDAP to check
a scope, even if that scope was a child of a scope with known permissions.

This fix corrects behavior in two ways.

First, checks if the scope is managed (if it was added to the ESP "FileScopes"
permissions), and if not, assign the default LDAP permission without a call
to LDAP.

Second, if it is part of a managed scope (exact match or a child of another
managed scope) then returns the cached permissions of the closest parent
scope, with an early exit in case of a DENY permission. If the scope is not
in the cache, a call to LDAP is made and the results are added to the cache
for subsequent calls.

Signed-off-by: William Whitehead <william.whitehead@lexisnexis.com>

Whitespace fixes

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge branch 'scopeCache2' into candidate-4.0.0

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge remote-tracking branch 'origin/candidate-4.0.0' into closedown-4.0.x

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>