From d6da7b32c9e4011df020874c3eb2923c61af13ed Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Thu, 14 Nov 2024 17:31:36 +0000 Subject: [PATCH 1/7] Split off 9.6.66 Signed-off-by: Gordon Smith --- helm/hpcc/Chart.yaml | 4 ++-- helm/hpcc/templates/_helpers.tpl | 2 +- version.cmake | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/helm/hpcc/Chart.yaml b/helm/hpcc/Chart.yaml index c8f3fe13cb0..9e12932c99e 100644 --- a/helm/hpcc/Chart.yaml +++ b/helm/hpcc/Chart.yaml @@ -6,9 +6,9 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 9.6.65-closedown0 +version: 9.6.67-closedown0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 9.6.65-closedown0 +appVersion: 9.6.67-closedown0 diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index eeca89a7f54..cb069da81dd 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -1477,7 +1477,7 @@ Pass in dict with .root, .visibility defined {{- end -}} {{- define "hpcc.generateHelmVersion" -}} -helmVersion: 9.6.65-closedown0 +helmVersion: 9.6.67-closedown0 {{- end -}} {{/* diff --git a/version.cmake b/version.cmake index 31196dad3ce..91299005514 100644 --- a/version.cmake +++ b/version.cmake @@ -5,8 +5,8 @@ set ( HPCC_NAME "Community Edition" ) set ( HPCC_PROJECT "community" ) set ( HPCC_MAJOR 9 ) set ( HPCC_MINOR 6 ) -set ( HPCC_POINT 65 ) +set ( HPCC_POINT 67 ) set ( HPCC_MATURITY "closedown" ) set ( HPCC_SEQUENCE 0 ) -set ( HPCC_TAG_TIMESTAMP "2024-11-11T17:30:37Z" ) +set ( HPCC_TAG_TIMESTAMP "2024-11-14T17:31:36Z" ) ### From 91a32c1702cabeb05a9e675b9c4cf419b4608a35 Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Thu, 14 Nov 2024 17:32:53 +0000 Subject: [PATCH 2/7] Split off 9.4.114 Signed-off-by: Gordon Smith --- helm/hpcc/Chart.yaml | 4 ++-- helm/hpcc/templates/_helpers.tpl | 2 +- version.cmake | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/helm/hpcc/Chart.yaml b/helm/hpcc/Chart.yaml index bde71f9d4f3..d8a791fd4f8 100644 --- a/helm/hpcc/Chart.yaml +++ b/helm/hpcc/Chart.yaml @@ -6,9 +6,9 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 9.4.113-closedown0 +version: 9.4.115-closedown0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 9.4.113-closedown0 +appVersion: 9.4.115-closedown0 diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index 777048ba8b3..8f760438540 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -1473,7 +1473,7 @@ Pass in dict with .root, .visibility defined {{- end -}} {{- define "hpcc.generateHelmVersion" -}} -helmVersion: 9.4.113-closedown0 +helmVersion: 9.4.115-closedown0 {{- end -}} {{/* diff --git a/version.cmake b/version.cmake index 343e22c02c4..0b286b20c44 100644 --- a/version.cmake +++ b/version.cmake @@ -5,8 +5,8 @@ set ( HPCC_NAME "Community Edition" ) set ( HPCC_PROJECT "community" ) set ( HPCC_MAJOR 9 ) set ( HPCC_MINOR 4 ) -set ( HPCC_POINT 113 ) +set ( HPCC_POINT 115 ) set ( HPCC_MATURITY "closedown" ) set ( HPCC_SEQUENCE 0 ) -set ( HPCC_TAG_TIMESTAMP "2024-11-11T17:31:33Z" ) +set ( HPCC_TAG_TIMESTAMP "2024-11-14T17:32:53Z" ) ### From aa675bd3f72c244542e4ed10346d3c54f9b2d62d Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Thu, 14 Nov 2024 17:34:04 +0000 Subject: [PATCH 3/7] Split off 9.2.140 Signed-off-by: Gordon Smith --- helm/hpcc/Chart.yaml | 4 ++-- helm/hpcc/templates/_helpers.tpl | 2 +- version.cmake | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/helm/hpcc/Chart.yaml b/helm/hpcc/Chart.yaml index 0b9ed739784..a656fa19654 100644 --- a/helm/hpcc/Chart.yaml +++ b/helm/hpcc/Chart.yaml @@ -6,9 +6,9 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 9.2.139-closedown0 +version: 9.2.141-closedown0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 9.2.139-closedown0 +appVersion: 9.2.141-closedown0 diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index 4bc7e7a8cd3..32c061ccea7 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -1361,7 +1361,7 @@ Pass in dict with .root, .visibility defined {{- end -}} {{- define "hpcc.generateHelmVersion" -}} -helmVersion: 9.2.139-closedown0 +helmVersion: 9.2.141-closedown0 {{- end -}} {{/* diff --git a/version.cmake b/version.cmake index 146f1289fea..5925876533a 100644 --- a/version.cmake +++ b/version.cmake @@ -5,8 +5,8 @@ set ( HPCC_NAME "Community Edition" ) set ( HPCC_PROJECT "community" ) set ( HPCC_MAJOR 9 ) set ( HPCC_MINOR 2 ) -set ( HPCC_POINT 139 ) +set ( HPCC_POINT 141 ) set ( HPCC_MATURITY "closedown" ) set ( HPCC_SEQUENCE 0 ) -set ( HPCC_TAG_TIMESTAMP "2024-11-11T17:32:23Z" ) +set ( HPCC_TAG_TIMESTAMP "2024-11-14T17:34:04Z" ) ### From ebaff853b54f1156654cd006ae3a93883ea8a60e Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Fri, 15 Nov 2024 13:20:30 -0500 Subject: [PATCH 4/7] HPCC-32973 ECL Watch v9 Metrics filter tooltip Adds a tooltip to the WU Metrics page's filter, explaining how it functions Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src-react/components/Metrics.tsx | 6 ++++-- esp/src/src/nls/hpcc.ts | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/esp/src/src-react/components/Metrics.tsx b/esp/src/src-react/components/Metrics.tsx index c3819d13a25..64a61753c2f 100644 --- a/esp/src/src-react/components/Metrics.tsx +++ b/esp/src/src-react/components/Metrics.tsx @@ -1,5 +1,5 @@ import * as React from "react"; -import { CommandBar, ContextualMenuItemType, ICommandBarItemProps, IIconProps, SearchBox, Stack } from "@fluentui/react"; +import { CommandBar, ContextualMenuItemType, ICommandBarItemProps, IIconProps, SearchBox, Stack, TooltipHost } from "@fluentui/react"; import { Label, Spinner, ToggleButton } from "@fluentui/react-components"; import { typographyStyles } from "@fluentui/react-theme"; import { useConst } from "@fluentui/react-hooks"; @@ -543,7 +543,9 @@ export const Metrics: React.FunctionComponent = ({ header={ : } title={nlsHPCC.IncludePendingItems} checked={includePendingItems} onClick={() => { setIncludePendingItems(!includePendingItems); }} /> - + + + : } title={nlsHPCC.MatchCase} checked={matchCase} onClick={() => { setMatchCase(!matchCase); }} /> } diff --git a/esp/src/src/nls/hpcc.ts b/esp/src/src/nls/hpcc.ts index e1ed54e8c32..c7fa4fb4f6b 100644 --- a/esp/src/src/nls/hpcc.ts +++ b/esp/src/src/nls/hpcc.ts @@ -351,6 +351,7 @@ export = { FileUploadStillInProgress: "File upload still in progress", Filter: "Filter", FilterDetails: "Filter Details", + FilterMetricsTooltip: "This will filter based upon the \"Scope\" column by default. To filter on any other column, use the column name as a prefix to your search, eg: \"Filename:spill\"", FilterSet: "Filter Set", Find: "Find", Finished: "Finished", From ffc0bd35b652213bb350ea7972e5967fbc5217ae Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Tue, 19 Nov 2024 09:45:30 -0500 Subject: [PATCH 5/7] HPCC-33008 ECL Watch v9 fix repetitive WsLogaccess messages downgrades the logger messages for exceptions returned by WsLogaccess GetLogAccessInfo to info so that they don't flood the UI when no log engine is configured Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src/ESPLog.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/esp/src/src/ESPLog.ts b/esp/src/src/ESPLog.ts index 5f0c09ed115..f4b3b4a86a3 100644 --- a/esp/src/src/ESPLog.ts +++ b/esp/src/src/ESPLog.ts @@ -47,14 +47,14 @@ export function hasLogAccess(): Promise { return GetLogAccessInfo().then(response => { if (isExceptionResponse(response)) { const err = response.Exceptions.Exception[0].Message; - logger.error(err); + logger.info(err); return false; } else { response = response as WsLogaccess.GetLogAccessInfoResponse; return response?.RemoteLogManagerConnectionString !== null || response?.RemoteLogManagerType !== null; } }).catch(e => { - logger.error(e); + logger.info(e); return false; }); } From 3b5c2cb38a87f9938de91db1a70378645411b6fd Mon Sep 17 00:00:00 2001 From: Michael Gardner Date: Wed, 20 Nov 2024 15:50:14 -0500 Subject: [PATCH 6/7] HPCC-33001 Update upload/download artifact action to v4 Signed-off-by: Michael Gardner --- .github/actions/deploy-hpcc-k8s/action.yaml | 4 ++-- .github/workflows/build-docker.yml | 8 ++++---- .github/workflows/build-gh_runner.yml | 8 ++++---- .github/workflows/test-smoke-gh_runner.yml | 6 +++--- .github/workflows/test-ui-gh_runner.yml | 6 +++--- .github/workflows/test-unit-gh_runner.yml | 4 ++-- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/actions/deploy-hpcc-k8s/action.yaml b/.github/actions/deploy-hpcc-k8s/action.yaml index 44f9bdd0f6a..deb51fbd97d 100644 --- a/.github/actions/deploy-hpcc-k8s/action.yaml +++ b/.github/actions/deploy-hpcc-k8s/action.yaml @@ -23,13 +23,13 @@ runs: shell: bash - name: Download Package - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.asset-name }} path: ${{ inputs.asset-name }} - name: Download Support Files - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.asset-name }}-support-files path: ${{ inputs.asset-name }}-support-files diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index 7c5090750b6..81211e4dedb 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -158,7 +158,7 @@ jobs: - name: Upload Package if: ${{ inputs.upload-package == true }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.asset-name }} path: | @@ -168,7 +168,7 @@ jobs: - name: Upload Support Files if: ${{ inputs.upload-package == true }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.asset-name }}-support-files path: | @@ -178,7 +178,7 @@ jobs: - name: Upload UI Test Files if: ${{ inputs.upload-package == true }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.asset-name }}-ui_test-files path: | @@ -187,7 +187,7 @@ jobs: - name: Upload Error Logs if: ${{ failure() || cancelled() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.os }}-${{ inputs.ln == true && 'LN' || 'HPCC-Platform' }}-logs path: ${{ github.workspace }}/build/**/*.log diff --git a/.github/workflows/build-gh_runner.yml b/.github/workflows/build-gh_runner.yml index 3a83c51db3d..092e3dcd140 100644 --- a/.github/workflows/build-gh_runner.yml +++ b/.github/workflows/build-gh_runner.yml @@ -214,7 +214,7 @@ jobs: - name: Upload Package if: ${{ inputs.upload-package == true }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.asset-name }} path: | @@ -224,7 +224,7 @@ jobs: - name: Upload Support Files if: ${{ inputs.upload-package == true }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.asset-name }}-support-files path: | @@ -234,7 +234,7 @@ jobs: - name: Upload UI Test Files if: ${{ inputs.upload-package == true }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.asset-name }}-ui_test-files path: | @@ -243,7 +243,7 @@ jobs: - name: Upload Error Logs if: ${{ failure() || cancelled() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.os }}-${{ inputs.ln == true && 'LN' || 'HPCC-Platform' }}-logs path: ${{ github.workspace }}/build/**/*.log diff --git a/.github/workflows/test-smoke-gh_runner.yml b/.github/workflows/test-smoke-gh_runner.yml index cc37e0b32e2..52e68911eb1 100644 --- a/.github/workflows/test-smoke-gh_runner.yml +++ b/.github/workflows/test-smoke-gh_runner.yml @@ -53,13 +53,13 @@ jobs: sudo rm -rf /usr/local/lib/android - name: Download Package - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.asset-name }} path: ${{ inputs.asset-name }} - name: Download Support Files - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.asset-name }}-support-files path: ${{ inputs.asset-name }}-support-files @@ -132,7 +132,7 @@ jobs: - name: regression-run-logs-artifact if: ${{ failure() || cancelled() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-smoke-${{ inputs.asset-name }}-${{ matrix.engine }}-${{ steps.vars.outputs.matrix-setname }} path: | diff --git a/.github/workflows/test-ui-gh_runner.yml b/.github/workflows/test-ui-gh_runner.yml index 90b07972271..5bc9818e7af 100644 --- a/.github/workflows/test-ui-gh_runner.yml +++ b/.github/workflows/test-ui-gh_runner.yml @@ -31,7 +31,7 @@ jobs: sudo rm -rf /usr/local/lib/android - name: Download UI Test Files - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.asset-name }}-ui_test-files path: ${{ inputs.asset-name }}-ui_test-files @@ -72,7 +72,7 @@ jobs: - name: Download Package if: steps.check.outputs.runtests - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.asset-name }} path: ${{ inputs.asset-name }} @@ -125,7 +125,7 @@ jobs: - name: eclwatch-ui-test-logs-artifact if: ${{ failure() || cancelled() }} - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.asset-name }}-ui_test-logs path: ${{ inputs.asset-name }}-ui_test-files/eclWatchUiTest.log diff --git a/.github/workflows/test-unit-gh_runner.yml b/.github/workflows/test-unit-gh_runner.yml index eb8daf6a069..4c91a9d143d 100644 --- a/.github/workflows/test-unit-gh_runner.yml +++ b/.github/workflows/test-unit-gh_runner.yml @@ -30,7 +30,7 @@ jobs: sudo rm -rf /usr/local/lib/android - name: Download Package - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.asset-name }} path: ${{ inputs.asset-name }} @@ -58,7 +58,7 @@ jobs: - name: unittests-logs-artifact if: ${{ failure() || cancelled() }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-unit-${{ inputs.asset-name }} path: | From 59aeb2b295ffe5b62ef3497aa4523cf44dc132c7 Mon Sep 17 00:00:00 2001 From: Gavin Halliday Date: Thu, 21 Nov 2024 12:09:17 +0000 Subject: [PATCH 7/7] HPCC-33015 Improve system resilience when thor crashes * Ensure that a thor engine that has crashed is no longer associated with a workunit * Ensure that a thor instance that never processes a workunit terminates cleanly Signed-off-by: Gavin Halliday --- common/workunit/workunit.cpp | 5 ++++ thorlcr/master/thgraphmanager.cpp | 39 ++++++++++++++++++++++--------- 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/common/workunit/workunit.cpp b/common/workunit/workunit.cpp index fe32bad10aa..04ebd2ce4dd 100644 --- a/common/workunit/workunit.cpp +++ b/common/workunit/workunit.cpp @@ -14500,6 +14500,11 @@ void executeThorGraph(const char * graphName, IConstWorkUnit &workunit, const IP // NB: check for expected success state (WUStateWait). If any other state, abort. { Owned w = &workunit.lock(); + //If the thor instance crashed, make sure that the workunit is no longer associated with it - otherwise a + //failure clause that causes a graph to run can abort because the instances has stopped. + if (w->getEngineSession() > 0) + w->setEngineSession(-1); + WUState state = w->getState(); if (WUStateWait != state) // expected state from successful Thor run from above { diff --git a/thorlcr/master/thgraphmanager.cpp b/thorlcr/master/thgraphmanager.cpp index bf095d9ae1d..f94e0870415 100644 --- a/thorlcr/master/thgraphmanager.cpp +++ b/thorlcr/master/thgraphmanager.cpp @@ -1473,8 +1473,13 @@ void thorMain(ILogMsgHandler *logHandler, const char *wuid, const char *graphNam Owned workunit; factory.setown(getWorkUnitFactory()); workunit.setown(factory->openWorkUnit(currentWuid)); - SessionId agentSessionID = workunit->getAgentSession(); - if (agentSessionID <= 0) + SessionId agentSessionID = workunit ? workunit->getAgentSession() : 0; + if (!workunit) + { + WARNLOG("Discarding job with missing workunit wuid=%s, graph=%s", currentWuid.str(), currentGraphName.str()); + currentWuid.clear(); + } + else if (agentSessionID <= 0) { WARNLOG("Discarding job with invalid sessionID: wuid=%s, graph=%s (sessionID=%" I64F "d)", currentWuid.str(), currentGraphName.str(), agentSessionID); currentWuid.clear(); @@ -1524,8 +1529,8 @@ void thorMain(ILogMsgHandler *logHandler, const char *wuid, const char *graphNam } } } - currentGraphName.clear(); + currentGraphName.clear(); if (lingerPeriod) { PROGLOG("Lingering time left: %.2f", ((float)lingerPeriod)/1000); @@ -1545,15 +1550,27 @@ void thorMain(ILogMsgHandler *logHandler, const char *wuid, const char *graphNam break; // timeout/abort // else - reject/ignore duff message. } - if (0 == currentGraphName.length()) // only ever true if !multiJobLinger + + // The following is true if no workunit/graph have been received + // MORE: I think it should also be executed if lingerPeriod is 0 + if (0 == currentGraphName.length()) { - // De-register the idle lingering entry. - Owned factory; - Owned workunit; - factory.setown(getWorkUnitFactory()); - workunit.setown(factory->openWorkUnit(currentWuid)); - Owned w = &workunit->lock(); - w->setDebugValue(instance, "0", true); + if (!multiJobLinger) + { + // De-register the idle lingering entry. + Owned factory; + Owned workunit; + factory.setown(getWorkUnitFactory()); + workunit.setown(factory->openWorkUnit(currentWuid)); + //Unlikely, but the workunit could have been deleted while we were lingering + //currentWuid can also be blank if the workunit this started for died before thor started + //processing the graph. This test covers both (unlikely) situations. + if (workunit) + { + Owned w = &workunit->lock(); + w->setDebugValue(instance, "0", true); + } + } break; } }