Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/candidate-9.6.x' into candidate-…
Browse files Browse the repository at this point in the history
…9.8.x

Signed-off-by: Gordon Smith <[email protected]>

# Conflicts:
#	helm/hpcc/Chart.yaml
#	helm/hpcc/templates/_helpers.tpl
#	version.cmake
  • Loading branch information
GordonSmith committed Nov 22, 2024
2 parents 1acf899 + 2f23f2b commit 94af6df
Show file tree
Hide file tree
Showing 11 changed files with 58 additions and 33 deletions.
4 changes: 2 additions & 2 deletions .github/actions/deploy-hpcc-k8s/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/build-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand All @@ -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: |
Expand All @@ -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: |
Expand All @@ -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
8 changes: 4 additions & 4 deletions .github/workflows/build-gh_runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand All @@ -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: |
Expand All @@ -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: |
Expand All @@ -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
6 changes: 3 additions & 3 deletions .github/workflows/test-smoke-gh_runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test-ui-gh_runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 }}
Expand Down Expand Up @@ -160,7 +160,7 @@ jobs:
- name: eclwatch-ui-test-logs-artifact
if: ${{ failure() || cancelled() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.asset-name }}-ui_test-logs
path: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-unit-gh_runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand Down Expand Up @@ -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: |
Expand Down
5 changes: 5 additions & 0 deletions common/workunit/workunit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14576,6 +14576,11 @@ void executeThorGraph(const char * graphName, IConstWorkUnit &workunit, const IP
// NB: check for expected success state (WUStateWait). If any other state, abort.
{
Owned<IWorkUnit> 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
{
Expand Down
6 changes: 4 additions & 2 deletions esp/src/src-react/components/Metrics.tsx
Original file line number Diff line number Diff line change
@@ -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";
Expand Down Expand Up @@ -543,7 +543,9 @@ export const Metrics: React.FunctionComponent<MetricsProps> = ({
header={<Stack horizontal>
<ToggleButton appearance="subtle" icon={matchCase ? <BranchForkFilled /> : <BranchForkHintRegular />} title={nlsHPCC.IncludePendingItems} checked={includePendingItems} onClick={() => { setIncludePendingItems(!includePendingItems); }} />
<Stack.Item grow>
<SearchBox value={scopeFilter} onChange={onChangeScopeFilter} iconProps={filterIcon} placeholder={nlsHPCC.Filter} />
<TooltipHost content={nlsHPCC.FilterMetricsTooltip}>
<SearchBox value={scopeFilter} onChange={onChangeScopeFilter} iconProps={filterIcon} placeholder={nlsHPCC.Filter} />
</TooltipHost>
</Stack.Item>
<ToggleButton appearance="subtle" icon={matchCase ? <TextCaseTitleFilled /> : <TextCaseTitleRegular />} title={nlsHPCC.MatchCase} checked={matchCase} onClick={() => { setMatchCase(!matchCase); }} />
</Stack>}
Expand Down
4 changes: 2 additions & 2 deletions esp/src/src/ESPLog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,14 @@ export function hasLogAccess(): Promise<boolean> {
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;
});
}
1 change: 1 addition & 0 deletions esp/src/src/nls/hpcc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,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",
Expand Down
39 changes: 28 additions & 11 deletions thorlcr/master/thgraphmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1474,8 +1474,13 @@ void thorMain(ILogMsgHandler *logHandler, const char *wuid, const char *graphNam
Owned<IConstWorkUnit> 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();
Expand Down Expand Up @@ -1525,8 +1530,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);
Expand All @@ -1546,15 +1551,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<IWorkUnitFactory> factory;
Owned<IConstWorkUnit> workunit;
factory.setown(getWorkUnitFactory());
workunit.setown(factory->openWorkUnit(currentWuid));
Owned<IWorkUnit> w = &workunit->lock();
w->setDebugValue(instance, "0", true);
if (!multiJobLinger)
{
// De-register the idle lingering entry.
Owned<IWorkUnitFactory> factory;
Owned<IConstWorkUnit> 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<IWorkUnit> w = &workunit->lock();
w->setDebugValue(instance, "0", true);
}
}
break;
}
}
Expand Down

0 comments on commit 94af6df

Please sign in to comment.