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-10370 Resubmit workunit uses the original user's id

Currently anyone with ws_workunit access can resubmit anyone else's workunits.
This fix verifies that, on a resubmit, the workunit owner is the same as
the resubmitter, and disallows it if not

Signed-off-by: William Whitehead <william.whitehead@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-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-10419 Add Query Test Pages to new ECL Watch

Fixes HPCC-10419

Signed-off-by: Gordon Smith <gordon.smith@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>
HPCC-10465 - Global merge bug if varrecs and late detection

Global merge builds up a local sample of the keys as it performs
the local merge, as it exceeds a threshold, the sample is divided
to keep the size down. If the keys are variable length but fixed
with up to the point when the 1st sample occurs, the file
positions the mechanism is tracking got out of sync.
Consequently, when merging from the spilt key stream, the seek
positions were wrong, which could result in deserialization
errors.

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