HPCC-9271 Show 'truncated' message for viewing large file

Inside the Helpers section of the ECL Workunit Details page, there is a
640k limit for displaying a cpp file, xml file, and workunit archive
file. This fix checks the size of the helper file. If it is larger than
640k bytes, a message '(Truncated to 640K bytes)' will be added beside
the View File link.

When a helper file is downloaded, the existing code uses 'file path
 + file name' as 'attachment filename'. Internet browser replaces
the Path Separators in the file path with the '_'s and the file
name looks strange. This fix removes the file path from the
'attachment filename'.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
HPCC-8477 - DFU server is CPU bound for the first phase of CSV files

These fix improves CSV file spray performance when the target is multiple
nodes.

Changes:

- In this particular case a new CCsvMatcher class introduced because the
  original matcher was a bottleneck. If the Special characters of CSV file
  (separator, terminator and quote) are doesn't change or change to only one
  character long new character with a command line parameter, the the process
  use CCsvMatcher. Any other case the old matcher used.

- The used blocksize increased to decrease IO overload.

- When the split size is bigger than the blocksize
  CCsvPartitioner::getSplitRecordSize() function returns with the summarised
  record size in the buffer instead of individual one until it reaches the last
  part ( which is < blocksize). For the last part is switch back to returns
  with individual record size.

Signed-off-by: Attila Vamos <attila.vamos@gmail.com>
Reworked after review.

Signed-off-by: Attila Vamos <attila.vamos@gmail.com>
HPCC-9384 The testsearch2.ecl query in regression suite needs key updating

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-9303 - Use thread pool for DFS requests

Use threadpool for DFS server (used to be single threaded)

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-9248 Option to expand hash distribute and match existing distribution

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-8842 Fix problems with module inheritance

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Community Edition 3.10.8-6 Gold

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
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.
Merge remote-tracking branch 'origin/candidate-3.10.8' into candidate-3.10.x

Conflicts:
	version.cmake

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-9399 Support smart stepping through a dedup activity

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-9399 Add stepped dedup to hthor and clean up roxie code

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-9306 Don't allow restarted workunits to take the wrong branch

This fix ensures that conditions for conditional workflow actions are always
re-evaluated.  Otherwise, the condition can evaluate to true, the true branch
fails.  The workunit is resubmitted using "recover", the condition wasn't
re-evaluated, causing the false branch to be taken the second time.

The same issue could occur if there was a failure in a persist, possibly leading
to an internal error, or the persist not being re-created correctly.

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

HPCC-9306 Don't allow restarted workunits to take the wrong branch

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #4429 from ghalliday/issue8842_40

HPCC-8842 Fix problems with module inheritance

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Merge pull request #4420 from richardkchapman/textsearch2-output

HPCC-9384 The testsearch2.ecl query in regression suite needs key updating

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
HPCC-9007 Soapplus comparison not comparing root node

The problem is caused by the fact that the initial root tag wasn't passed
to diffPTree and printPTree functions, as a result the diff printouts
don't contain the root node, although root node did actually get compared.
Also improved a bit on edge condition checks.

Signed-off-by: mayx <yanrui.ma@lexisnexis.com>
Merge branch 'bugjira9007' into candidate-4.0.0

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-9006 Soapplus xml comparison issue

This is to fix 9006 and 9270. The problem was caused by mistakenly using
full xpath as key for the cache of comparison results. Some xml files
have exact duplicate of xpath entries, but with different contents. Using
memory address of the property tree solves the problem.

Signed-off-by: mayx <yanrui.ma@lexisnexis.com>
Merge branch 'bugjira9006' into candidate-4.0.0

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