浏览代码

HPCC-18788 Roxie continuation results broken by HPCC-18242 change

Delete the code for sending continuation in data as it is now proven not to
work, to prevent accidental enabling by users/future optimistic programmers.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 7 年之前
父节点
当前提交
d00e0578e2

+ 0 - 7
initfiles/componentfiles/configxml/roxie.xsd.in

@@ -1111,13 +1111,6 @@
         </xs:appinfo>
       </xs:annotation>
     </xs:attribute>
-    <xs:attribute name="udpSendCompletedInData" type="xs:boolean" use="optional" default="false">
-      <xs:annotation>
-        <xs:appinfo>
-          <tooltip>Controls whether UDP completion packets are sent in data packets if possible</tooltip>
-        </xs:appinfo>
-      </xs:annotation>
-    </xs:attribute>
     <xs:attribute name="udpSendQueueSize" type="xs:nonNegativeInteger" use="optional" default="50">
       <xs:annotation>
         <xs:appinfo>

+ 0 - 1
roxie/ccd/ccdmain.cpp

@@ -753,7 +753,6 @@ int STARTQUERY_API start_query(int argc, const char *argv[])
         udpSnifferEnabled = topology->getPropBool("@udpSnifferEnabled", true);
         udpInlineCollation = topology->getPropBool("@udpInlineCollation", false);
         udpInlineCollationPacketLimit = topology->getPropInt("@udpInlineCollationPacketLimit", 50);
-        udpSendCompletedInData = topology->getPropBool("@udpSendCompletedInData", false);
         udpRetryBusySenders = topology->getPropInt("@udpRetryBusySenders", 0);
 
         // Historically, this was specified in seconds. Assume any value <= 10 is a legacy value specified in seconds!

+ 0 - 1
roxie/udplib/udplib.hpp

@@ -131,7 +131,6 @@ extern UDPLIB_API unsigned udpRetryBusySenders;
 extern UDPLIB_API unsigned udpInlineCollationPacketLimit;
 extern UDPLIB_API bool udpInlineCollation;
 extern UDPLIB_API bool udpSnifferEnabled;
-extern UDPLIB_API bool udpSendCompletedInData;
 extern UDPLIB_API unsigned udpSnifferReadThreadPriority;
 extern UDPLIB_API unsigned udpSnifferSendThreadPriority;
 

+ 0 - 1
roxie/udplib/udptrr.cpp

@@ -49,7 +49,6 @@ using roxiemem::IRowManager;
 unsigned udpRetryBusySenders = 0; // seems faster with 0 than 1 in my testing on small clusters and sustained throughput
 unsigned udpInlineCollationPacketLimit;
 bool udpInlineCollation = false;
-bool udpSendCompletedInData = false;
 
 class CReceiveManager : implements IReceiveManager, public CInterface
 {

+ 1 - 22
roxie/udplib/udptrs.cpp

@@ -113,14 +113,6 @@ public:
             }
             try
             {
-                if (udpSendCompletedInData)
-                {
-                    if (idx == maxPackets-1)
-                    {
-                         // MORE - is this safe ? Any other thread looking at the data right now? Don't _think_ so...
-                        header->udpSequence = UDP_SEQUENCE_COMPLETE;
-                    }
-                }
                 data_socket->write(buffer->data, length);
             }
             catch(IException *e)
@@ -444,18 +436,7 @@ class CSendManager : implements ISendManager, public CInterface
 
             if (udpTraceLevel > 3) 
                 DBGLOG("UdpSender: sending send_completed msg to node=%u, dataRemaining=%d", index, dataRemaining);
-            if (udpSendCompletedInData)
-            {
-                if (dataRemaining)
-                {
-                    // MORE - we indicate the more to send via a bit already - don't need this unless we never go idle
-                    // though there is a possible race to consider
-                    if (!moreRequested)
-                        parent.sendRequest(index, flow_t::request_to_send); 
-                }
-            }
-            else
-                parent.sendRequest(index, dataRemaining ? flow_t::request_to_send_more : flow_t::send_completed);
+            parent.sendRequest(index, dataRemaining ? flow_t::request_to_send_more : flow_t::send_completed);
         }
 
         void sendRequest(unsigned index) 
@@ -712,8 +693,6 @@ class CSendManager : implements ISendManager, public CInterface
                 bool moreRequested;
                 unsigned maxPackets;
                 unsigned payload = receiverInfo.sendData(permit, (parent.myNodeIndex == permit.destNodeIndex), bucket, moreRequested, maxPackets);
-                if (udpSendCompletedInData && !maxPackets)
-                    parent.sendRequest(permit.destNodeIndex, flow_t::send_completed);
                 parent.send_flow->send_done(permit.destNodeIndex, moreRequested);
                 if (udpSnifferEnabled)
                     send_sniff(false);