Browse Source

Merge branch 'candidate-7.12.x'

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 4 years ago
parent
commit
251560f2d1

+ 14 - 0
docs/EN_US/HPCCClientTools/CT_Mods/CT_Comm_Line_DFU.xml

@@ -677,6 +677,20 @@ END;</programlisting>
                   originally came from. If you never need to do that, then the
                   filesize option may be omitted. </para></entry>
                 </row>
+
+                <row>
+                  <entry><emphasis>wrap= 0 | 1</emphasis></entry>
+
+                  <entry>Optional. If set to 1, desprays as multiple files on
+                  the landing zone. Default is 0.</entry>
+                </row>
+
+                <row>
+                  <entry><emphasis>multicopy= 0 | 1</emphasis></entry>
+
+                  <entry>Optional. If set to 1, each destination part gets the
+                  whole file. Default is 0.</entry>
+                </row>
               </tbody>
             </tgroup>
           </informaltable>

+ 14 - 6
docs/EN_US/HPCCDataHandling/DH-Mods/DH-Mod1.xml

@@ -37,17 +37,17 @@
   <sect1 id="Working_with_a_data_file">
     <title>Working with data files</title>
 
-    <para>Once you start working with your HPCC Systems platform, you will want to
-    process some real data, this section shows you how to load data to your
-    HPCC Systems platform.</para>
+    <para>Once you start working with your HPCC Systems platform, you will
+    want to process some real data, this section shows you how to load data to
+    your HPCC Systems platform.</para>
 
     <sect2 id="Cautions_and_Warnings">
       <title>Before you begin</title>
 
       <para>First, you should consider the size of the data and the capacity
-      of your system. A typical production HPCC Systems platform would have much more
-      data capacity than a development system. The size of the files you wish
-      to work with is limited by the size of your system.</para>
+      of your system. A typical production HPCC Systems platform would have
+      much more data capacity than a development system. The size of the files
+      you wish to work with is limited by the size of your system.</para>
     </sect2>
 
     <sect2 id="Uploading_a_file">
@@ -1328,6 +1328,14 @@
                     <entry>Check this box to use a single network connection
                     to despray.</entry>
                   </row>
+
+                  <row>
+                    <entry><emphasis role="bold">Preserve File Parts
+                    </emphasis></entry>
+
+                    <entry>Check this box to preserve the original file parts
+                    and write multiple files to the landing zone.</entry>
+                  </row>
                 </tbody>
               </tgroup>
             </informaltable></para>

BIN
docs/EN_US/images/DHMan-3a.jpg


+ 2 - 0
esp/services/ws_dfu/ws_dfuService.cpp

@@ -6066,6 +6066,8 @@ void CWsDfuEx::dFUFileAccessCommon(IEspContext &context, const CDfsLogicalFileNa
     }
     resp.setType(kind);
 
+    df->setAccessed();
+
     LOG(MCauditInfo,",FileAccess,EspProcess,READ,%s,%s,%s,jobid=%s,expirySecs=%d", cluster.str(), userID.str(), fileName.str(), requestId, expirySecs);
 }
 

+ 1 - 1
initfiles/componentfiles/configxml/roxie.xsd.in

@@ -1322,7 +1322,7 @@
     </xs:attribute>
   </xs:attributeGroup>
   <xs:attributeGroup name="Debug">
-    <xs:attribute name="alwaysFailOnLeaks" type="xs:boolean" use="optional" default="true">
+    <xs:attribute name="alwaysFailOnLeaks" type="xs:boolean" use="optional" default="false">
       <xs:annotation>
         <xs:appinfo>
           <tooltip>Fail any query that triggers internal consistency check or row leak errors</tooltip>

+ 2 - 2
roxie/ccd/ccdmain.cpp

@@ -135,7 +135,7 @@ bool selfTestMode = false;
 bool defaultCollectFactoryStatistics = true;
 bool defaultNoSeekBuildIndex = false;
 unsigned parallelLoadQueries = 8;
-bool alwaysFailOnLeaks = true;
+bool alwaysFailOnLeaks = false;
 
 bool useOldTopology = false;
 
@@ -1069,7 +1069,7 @@ int CCD_API roxie_main(int argc, const char *argv[], const char * defaultYaml)
         parallelLoadQueries = topology->getPropInt("@parallelLoadQueries", 8);
         if (!parallelLoadQueries)
             parallelLoadQueries = 1;
-        alwaysFailOnLeaks = topology->getPropBool("@alwaysFailOnLeaks", true);
+        alwaysFailOnLeaks = topology->getPropBool("@alwaysFailOnLeaks", false);
 
         enableKeyDiff = topology->getPropBool("@enableKeyDiff", true);
         cacheReportPeriodSeconds = topology->getPropInt("@cacheReportPeriodSeconds", 5*60);

+ 17 - 3
roxie/ccd/ccdserver.cpp

@@ -1454,11 +1454,25 @@ public:
             {
                 if (state==STATEstarted || state==STATEstarting)
                 {
+                    VStringBuffer err("STATE: activity %d reset without stop", activityId);
+                    ctx->queryCodeContext()->addWuException(err.str(), ROXIE_INTERNAL_ERROR, SeverityError, "roxie");
                     if (ctx->queryOptions().failOnLeaks)
                         throw makeStringExceptionV(ROXIE_INTERNAL_ERROR, "STATE: activity %d reset without stop", activityId);
-                    if (traceStartStop || traceLevel > 2)
-                        CTXLOG("STATE: activity %d reset without stop", activityId);
-                    stop();
+                    try
+                    {
+                        stop();
+                    }
+                    catch (IException *E)
+                    {
+                        EXCLOG(E, "Unexpected exception in stop() called from reset()");
+                        printStackReport();
+                        ::Release(E);
+                    }
+                    catch (...)
+                    {
+                        DBGLOG("Unexpected unknown exception in stop() called from reset()");
+                        printStackReport();
+                    }
                 }
                 state = STATEreset;
 #ifdef TRACE_STARTSTOP