Uploaded image for project: 'HPCC'
  1. HPCC
  2. HPCC-17517

Error 503 too busy not being properly returned on SOAP queries

    XMLWordPrintable

    Details

    • Type: Regression
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 6.4.0, 6.2.12
    • Fix Version/s: 6.4.0, 6.2.14
    • Component/s: Roxie
    • Labels:
      None

      Description

      Using the following published query soapbase.ecl:

      string10 unkname := 'Unknown' : stored ('UnkName');
      
      childRecord := record
      unsigned            id;
          end;
          
      ServiceOutRecord := 
          RECORD
              unsigned1 r;
              data pic;
              string15 name;
              dataset(childRecord) ids{maxcount(5)};
          END;
          
      
      IF (unkname='FAIL', FAIL(1,'You asked me to fail'), 
        output(dataset([
                  {1, x'0102', 'RICHARD', [{1}]}, 
                  {2, x'0102030405', 'LORRAINE', [{8},{7},{6}]}, 
                  { 3, x'5432', unkname, []}
                  ], ServiceOutRecord)));
      

      And the following query making soapcalls:

      d :=DATASET(2500, TRANSFORM({ string unkname }, SELF.unkname := 'FRED'));
      
      ServiceOutRecord := 
          RECORD
              string name;
              data pic;
              unsigned4 id{xpath('r')};
              unsigned4 novalue;
          END;
      
      // simple dataset->dataset form
      count(sort(SOAPCALL(d, 'http://r48:9876','soapbase', { unkname }, DATASET(ServiceOutRecord),PARALLEL(300)),record));
      

      I can provoke an error whereby the result is sometimes less than the expected 7500

      There is code in thsoapcall.cpp to handle error 503 and retry, but it appears to not get triggered. I think the problem is that the error is getting wrapped in the soap header/footer and appears to the client as:

      <?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body>HTTP/1.0 503 Server Too Busy

      Server too busy, please try again later</soap:Body></soap:Envelope>

      This ends up being interpreted as a valid SOAP response but with no matching rows.

        Attachments

          Activity

            People

            • Assignee:
              afishbeck Anthony Fishbeck
              Reporter:
              richardkchapman Richard Chapman
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: