فهرست منبع

Merge pull request #14465 from ghalliday/issue25133b

HPCC-25133 Report warning if outputLimitMb exceeds future max for 7.12.x

Reviewed-By: Jake Smith <jake.smith@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 4 سال پیش
والد
کامیت
0533cb11da
3فایلهای تغییر یافته به همراه7 افزوده شده و 1 حذف شده
  1. 2 0
      ecl/hqlcpp/hqlcerrors.hpp
  2. 3 0
      ecl/hqlcpp/hqlcpp.cpp
  3. 2 1
      rtl/include/eclhelper.hpp

+ 2 - 0
ecl/hqlcpp/hqlcerrors.hpp

@@ -226,6 +226,7 @@
 #define HQLERR_NoVirtualAndAlien                4214
 #define HQLERR_CannotFilterLimitInsideActivity  4215
 #define HQLERR_OutputLimitMaxExceeded           4216
+#define HQLERR_OutputLimitFutureMaxExceeded     4217
 
 //Warnings....
 #define HQLWRN_PersistDataNotLikely             4500
@@ -535,6 +536,7 @@
 #define HQLERR_NoVirtualAndAlien_Text           "GenericDiskReads: VIRTUAL fields are not currently supported with ALIEN types"
 #define HQLERR_CannotFilterLimitInsideActivity_Text "Cannot filter a non keyed limit within a compound activity"
 #define HQLERR_OutputLimitMaxExceeded_Text      "Dali result outputs are restricted to an absolute maximum of %u MB (%u MB specified by option). A huge dali result usually indicates the ECL needs altering."
+#define HQLERR_OutputLimitFutureMaxExceeded_Text "In the next platform version dali result outputs will be restricted to an absolute maximum of %u MB (%u MB specified by option). A huge dali result usually indicates the ECL needs altering."
 
 //Warnings.
 #define HQLWRN_CannotRecreateDistribution_Text  "Cannot recreate the distribution for a persistent dataset"

+ 3 - 0
ecl/hqlcpp/hqlcpp.cpp

@@ -1542,6 +1542,9 @@ void HqlCppTranslator::cacheOptions()
     size32_t outputLimit = wu()->getDebugValueInt("outputLimitMb", 0);
     if (outputLimit > daliResultOutputMax)
         throwError2(HQLERR_OutputLimitMaxExceeded, daliResultOutputMax, outputLimit);
+    if (outputLimit > futureResultOutputMax)
+        WARNING2(CategoryDeprecated, HQLERR_OutputLimitFutureMaxExceeded, futureResultOutputMax, outputLimit);
+
     SCMStringBuffer targetText;
     wu()->getDebugValue("targetClusterType", targetText);
     ClusterType clusterType = getClusterType(targetText.s.str());

+ 2 - 1
rtl/include/eclhelper.hpp

@@ -2966,7 +2966,8 @@ protected:
     Owned<IColumnProvider> cur;
 };
 
-constexpr unsigned daliResultOutputMax = 100; // MB
+constexpr unsigned daliResultOutputMax = 2000; // MB
+constexpr unsigned futureResultOutputMax = 100; // MB
 
 #ifdef STARTQUERY_EXPORTS
 #define STARTQUERY_API DECL_EXPORT