Community Edition 4.0.4-rc1 Release Candidate 1

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge branch 'closedown-4.0.x' into candidate-4.0.4

Conflicts:
	version.cmake

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Community Edition 4.0.4-1 Gold

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

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-10372 - DeleteSuperFile possible crash

A regression introduced after 3.10.8, when DeleteSuperFile was
added to the transaction system, was causing DeletesuperFile
with delete-sub-files=true to crash sometimes.

The nested removeSubFile call was causing the parent action
(DeleteSuperFile) to be exected, which free the superfile,
leaving the super object in removeSubFile in a duff state.

Fix by using descend() / ascend() transaction calls to indicate
nested and delay both action until called in parent action.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-9990 Add an option to convert SORTED/DISTRIBUTED to ASSERT forms

Will create assertions for both SORTED and DISTRIBUTED i.e. as if the following
was used.

SORTED(ds, ..., ASSERT)
DISTRIBUTED(ds, ..., ASSERT)

Signed-off-by: jamienoss <james.noss@lexisnexis.com>
HPCC-10429 Fix ecl-bundle selftest to check for the correct symbol

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Merge pull request #5153 from ghalliday/issue10429

HPCC-10429 Fix ecl-bundle selftest to check for the correct symbol

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPCC-10439 DOCS:VMWare Version

Fix HPCC-10439 DOCS:VMWare Version
Revise VM docs to reflect support for
VMWare player 5.0 or better.

Signed-off-by: g-pan <greg.panagiotatos@lexisnexis.com>
HPCC-10442 Fix redering of embeded view resources when using libxslt

This is not a regression.  It may only affect resources with certain
type of original path... i.e. directories with spaces in the names.

Libxslt was double url encoding the path before passing it to the
registered include handler callback.

Signed-off-by: Anthony Fishbeck <anthony.fishbeck@lexisnexis.com>
Merge pull request #5156 from g-pan/H10439B-VMver

HPCC-10439 DOCS:VMWare Version

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPCC-10421 Fix "internal" build

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
HPCC-10406 - Add sort by columns in queryset

Add the ability to sort by column heading. This functionality
will match the current behavior.

Signed-off by: Miguel Vazquez <miguel.vazquez@lexisnexis.com>
HPCC-10414 Add general statistics to the workunit

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-10447 Add Visualise Tab to ECL Playground

Fixes HPCC-10447
Fixes HPCC-10453
Fixes HPCC-10435

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
HPCC-10414 Clean up various issues with new stats code

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Merge pull request #5167 from miguelvazq/HPCC-10406

HPCC-10406 - Add sort by columns in queryset

Reviewed-By: Gordon Smith <gordon.smith@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
HPCC-10481 - Default replicate dir causing problems

Set the default replicate directory based on type in clusterinfo.
Was causing problems if not, when other components of different
type than the group type, e.g. processing a thor group file on
eclagent. It would then get local (e.g. eclagent) default dir
and construct the wrong file path.

The symptom seen was that when eclagent deleted files, it failed
to delete replicate parts.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-10408 - DFS supers were always assuming mixed width

As a consequence it was manually setting the replicate node #
as a property for each part descriptor in the super.
It should make no net difference, but was unecessary and
inefficient.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-10440 - Ensure padded part copies have matching timestamps

When targeting a larger cluster with CLUSTER(<largercluster>)
Empty parts are created for the extra width. Those parts must
have matching timestamps, otherwise backupnode thinks they
mismatch and tried to copy them.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>