浏览代码

Merge latest changes frmo candidate-3.6.x into master

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

+ 2 - 2
CMakeLists.txt

@@ -213,14 +213,14 @@ set(CPACK_SOURCE_IGNORE_FILES
 ###
 set( BUILD_TAG "${CPACK_RPM_PACKAGE_VERSION}_${version}-${stagever}")
 if (USE_GIT_DESCRIBE OR CHECK_GIT_TAG)
-    execute_process(COMMAND "${GIT_COMMAND}" describe --exact --tags --dirty
+    execute_process(COMMAND "${GIT_COMMAND}" describe --exact --tags --dirty --match ${CPACK_RPM_PACKAGE_VERSION}* 
         WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
         OUTPUT_VARIABLE GIT_BUILD_TAG
         ERROR_QUIET
         OUTPUT_STRIP_TRAILING_WHITESPACE)
     if (CHECK_GIT_TAG)
         if(NOT "${GIT_BUILD_TAG}" STREQUAL "${BUILD_TAG}")
-            message(FATAL_ERROR "Git tag ${GIT_BUILD_TAG} does not match source version ${BUILD_TAG}" )
+            message(FATAL_ERROR "Git tag '${GIT_BUILD_TAG}' does not match source version '${BUILD_TAG}'" )
         endif()
     else()
         if ("${GIT_BUILD_TAG}" STREQUAL "")

+ 19 - 3
cmake_modules/FindLIBHDFS.cmake

@@ -33,9 +33,9 @@ if (NOT LIBHDFS_FOUND)
   IF (NOT ${EXTERNALS_DIRECTORY} STREQUAL "")
     IF (UNIX)
       IF (${ARCH64BIT} EQUAL 1)
-        SET (osdir "linux64_gcc4.1.1")
+        SET (osdir "Linux-amd64-64")
       ELSE()
-        SET (osdir "linux32_gcc4.1.1")
+        SET (osdir "Linux-i386-32")
       ENDIF()
     ELSEIF(WIN32)
       SET (osdir "lib")
@@ -51,7 +51,23 @@ if (NOT LIBHDFS_FOUND)
   if (USE_NATIVE_LIBRARIES)
     # if we didn't find in externals, look in system include path
     FIND_PATH (LIBHDFS_INCLUDE_DIR NAMES hdfs.h PATHS "${HADOOP_PATH}/src/c++/libhdfs" )
-    FIND_LIBRARY (LIBHDFS_LIBRARIES NAMES ${libhdfs_libs} PATHS "${HADOOP_PATH}/c++/Linux-amd64-64/lib" )
+
+    IF (UNIX)
+      IF (${ARCH64BIT} EQUAL 1)
+        SET (hdosdir "Linux-amd64-64")
+      ELSE()
+        SET (hdosdir "Linux-i386-32")
+      ENDIF()
+    ELSEIF(WIN32)
+      SET (hdosdir "lib")
+    ELSE()
+      SET (hdosdir "unknown")
+    ENDIF()
+
+    IF (NOT ("${hdosdir}" STREQUAL "unknown"))
+     FIND_LIBRARY (LIBHDFS_LIBRARIES NAMES ${libhdfs_libs} PATHS "${HADOOP_PATH}/c++/${hdosdir}/lib" )
+    ENDIF()
+
   endif()
 
   include(FindPackageHandleStandardArgs)

二进制
docs/images/Permissions001.jpg


二进制
docs/images/Permissions002.jpg


二进制
docs/images/Permissions003.jpg


二进制
docs/images/Permissions004.jpg


二进制
docs/images/Permissions005.jpg


文件差异内容过多而无法显示
+ 1350 - 360
docs/wip/user_Sect.xml


+ 5 - 5
esp/eclwatch/ws_XSLT/access_groupdelete.xslt

@@ -20,7 +20,7 @@
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
 <xsl:output method="html"/>
     <xsl:output method="html"/>
-    <xsl:variable name="groupnamestr" select="/GroupDeleteResponse/Groupnames"/>
+    <xsl:variable name="groupnamestr" select="/GroupActionResponse/Groupnames"/>
     <xsl:template match="/">
         <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
         <head>
@@ -37,7 +37,7 @@
                                     if (action < 1 || groupnamestr=='')
                                         document.location.href='/ws_access/Groups';
                                     else
-                                        document.location.href='/ws_access/GroupDelete?'+groupnamestr;
+                                        document.location.href='/ws_access/GroupAction?ActionType=Delete&'+groupnamestr;
                          }
 
                    ]]></xsl:text>
@@ -51,7 +51,7 @@
         </html>
     </xsl:template>
 
-    <xsl:template match="GroupDeleteResponse">
+    <xsl:template match="GroupActionResponse">
         <xsl:choose>
             <xsl:when test="not(Permissions/Permission[1])">
                 <table>
@@ -104,10 +104,10 @@
                     </tr>
                     <tr>
                         <td>
-                            <input type="submit" class="sbutton" id="Continue" value="ContinueDelete" onclick="btnclicked(1)"/>
+                            <input type="submit" class="sbutton" style="width: 120px;" id="Continue" value="ContinueDelete" onclick="btnclicked(1)"/>
                         </td>
                         <td>
-                            <input type="submit" class="sbutton" id="Cancel" value="CancelDelete" onclick="btnclicked(0)"/>
+                            <input type="submit" class="sbutton" style="width: 100px;" id="Cancel" value="CancelDelete" onclick="btnclicked(0)"/>
                         </td>
                     </tr>
                     <tr>

+ 16 - 0
esp/services/WsDeploy/WsDeployService.cpp

@@ -1307,6 +1307,22 @@ bool CWsDeployFileInfo::saveSetting(IEspContext &context, IEspSaveSettingRequest
 
         if (!strcmp(pszAttrName, "name"))
         {
+          if (!pszSubType || !*pszSubType)
+          {
+            StringBuffer rundir;
+
+            if (!getConfigurationDirectory(pEnvRoot->queryPropTree("Software/Directories"), "run", pszCompType, pszNewValue, rundir))
+              rundir.clear().appendf(RUNTIME_DIR"/%s", pszNewValue);
+
+            Owned<IPropertyTreeIterator> iterInsts = pComp->getElements(XML_TAG_INSTANCE);
+
+            ForEach (*iterInsts)
+              iterInsts->query().setProp(XML_ATTR_DIRECTORY, rundir.str());
+
+            if (!strcmp(pszCompType, XML_TAG_ROXIECLUSTER))
+              pComp->setProp(XML_ATTR_DIRECTORY, rundir);
+          }
+
           StringBuffer sbold, sbnew, sbMsg;
           bool ret = false;
           if (pszSubType && !strcmp(pszSubType, "EspBinding"))

+ 11 - 3
esp/services/ws_workunits/ws_workunitsService.cpp

@@ -1623,6 +1623,15 @@ void doWUQueryByXPath(IEspContext &context, IEspWUQueryRequest & req, IEspWUQuer
     if (!count)
         count=100;
 
+    if (wlist.getSize() < 1)
+    {
+        resp.setNumWUs(0);
+        return;
+    }
+
+    if (wlist.getSize() < count)
+        count = (int) wlist.getSize() - 1;
+
     WsWuSearch::iterator begin, end;
 
     if(notEmpty(req.getAfter()))
@@ -1657,11 +1666,10 @@ void doWUQueryByXPath(IEspContext &context, IEspWUQueryRequest & req, IEspWUQuer
     for(;begin!=end;begin++)
     {
         Owned<IEspECLWorkunit> info = createECLWorkunit("","");
-        WsWuInfo winfo(context, req.getWuid());
+        WsWuInfo winfo(context, begin->c_str());
         winfo.getCommon(*info, 0);
-        results.append(*info);
+        results.append(*info.getClear());
     }
-
     resp.setPageSize(abs(count));
     resp.setWorkunits(results);
 

+ 2 - 0
initfiles/bash/etc/init.d/hpcc_common.in

@@ -403,6 +403,8 @@ start_dafilesrv() {
 
       noStatusCheck=1
       /etc/init.d/dafilesrv setup 1>/dev/null 2>/dev/null
+      ulimit -n 8192
+      ulimit -c unlimited
       startCmd ${compName} ${noStatusCheck}
       return $?
    else 

+ 6 - 6
thorlcr/activities/firstn/thfirstnslave.cpp

@@ -89,8 +89,6 @@ class CFirstNSlaveLocal : public CFirstNSlaveBase
 public:
     CFirstNSlaveLocal(CGraphElementBase *container) : CFirstNSlaveBase(container)
     {
-        skipCount = validRC(helper->numToSkip());
-        limit = (rowcount_t)helper->getLimit();
     }
 
 // IRowStream overrides
@@ -98,6 +96,8 @@ public:
     void start()
     {
         CFirstNSlaveBase::start();
+        skipCount = validRC(helper->numToSkip());
+        limit = (rowcount_t)helper->getLimit();
         firstget = true;
         skipped = 0;
     }
@@ -141,8 +141,6 @@ class CFirstNSlaveGrouped : public CFirstNSlaveBase
 public:
     CFirstNSlaveGrouped(CGraphElementBase *container) : CFirstNSlaveBase(container)
     {
-        skipCount = validRC(helper->numToSkip());
-        limit = (rowcount_t)helper->getLimit();
     }
 
 // IRowStream overrides
@@ -150,6 +148,8 @@ public:
     void start()
     {
         CFirstNSlaveBase::start();
+        skipCount = validRC(helper->numToSkip());
+        limit = (rowcount_t)helper->getLimit();
         countThisGroup = 0;
     }
     CATCH_NEXTROW()
@@ -233,8 +233,6 @@ protected:
 public:
     CFirstNSlaveGlobal(CGraphElementBase *container) : CFirstNSlaveBase(container)
     {
-        totallimit = (rowcount_t)helper->getLimit();
-        limit = maxres = RCUNBOUND;
     }
     void init(MemoryBuffer &data, MemoryBuffer &slaveData)
     {
@@ -245,6 +243,8 @@ public:
     {
         CFirstNSlaveBase::start(); // adds to totalTime (common to local and global firstn)
         ActivityTimer s(totalCycles, timeActivities, NULL);
+        totallimit = (rowcount_t)helper->getLimit();
+        limit = maxres = RCUNBOUND;
         skipCount = 0;
         skipped = 0;
         firstget = true;