From a8247d7e309caadf93314be985948678c6f27da6 Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Thu, 30 Nov 2023 16:58:02 +0000 Subject: [PATCH 1/9] Split off 8.10.68 Signed-off-by: Jake Smith --- helm/hpcc/Chart.yaml | 4 ++-- helm/hpcc/templates/_helpers.tpl | 2 +- helm/hpcc/templates/dafilesrv.yaml | 2 +- helm/hpcc/templates/dali.yaml | 2 +- helm/hpcc/templates/dfuserver.yaml | 2 +- helm/hpcc/templates/eclagent.yaml | 4 ++-- helm/hpcc/templates/eclccserver.yaml | 4 ++-- helm/hpcc/templates/eclscheduler.yaml | 2 +- helm/hpcc/templates/esp.yaml | 2 +- helm/hpcc/templates/localroxie.yaml | 2 +- helm/hpcc/templates/roxie.yaml | 8 ++++---- helm/hpcc/templates/sasha.yaml | 2 +- helm/hpcc/templates/thor.yaml | 10 +++++----- version.cmake | 2 +- 14 files changed, 24 insertions(+), 24 deletions(-) diff --git a/helm/hpcc/Chart.yaml b/helm/hpcc/Chart.yaml index 6778d9b6194..dcd7a9828c4 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: 8.10.67-closedown0 +version: 8.10.69-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: 8.10.67-closedown0 +appVersion: 8.10.69-closedown0 diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index df2b93e61d5..b38dacc8838 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -1208,7 +1208,7 @@ kind: Service metadata: name: {{ $lvars.serviceName | quote }} labels: - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $.root "instance" $lvars.serviceName ) | indent 4 }} {{- if $lvars.labels }} {{ toYaml $lvars.labels | indent 4 }} diff --git a/helm/hpcc/templates/dafilesrv.yaml b/helm/hpcc/templates/dafilesrv.yaml index 1a716392fb3..8125ec1e7b5 100644 --- a/helm/hpcc/templates/dafilesrv.yaml +++ b/helm/hpcc/templates/dafilesrv.yaml @@ -50,7 +50,7 @@ spec: labels: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "dafilesrv" "name" "dafilesrv" "instance" .name) | indent 8 }} server: {{ .name | quote }} - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 annotations: checksum/config: {{ $configSHA }} spec: diff --git a/helm/hpcc/templates/dali.yaml b/helm/hpcc/templates/dali.yaml index d351bb6c9c3..9e124d668c7 100644 --- a/helm/hpcc/templates/dali.yaml +++ b/helm/hpcc/templates/dali.yaml @@ -81,7 +81,7 @@ spec: run: {{ $dali.name | quote }} server: {{ $dali.name | quote }} app: dali - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8 }} {{- end }} diff --git a/helm/hpcc/templates/dfuserver.yaml b/helm/hpcc/templates/dfuserver.yaml index e1fe83eee0f..7790128367e 100644 --- a/helm/hpcc/templates/dfuserver.yaml +++ b/helm/hpcc/templates/dfuserver.yaml @@ -56,7 +56,7 @@ spec: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "dfuserver" "name" "dfuserver" "instance" .name) | indent 8 }} run: {{ .name | quote }} accessDali: "yes" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclagent.yaml b/helm/hpcc/templates/eclagent.yaml index 97d528ff667..04314223e0d 100644 --- a/helm/hpcc/templates/eclagent.yaml +++ b/helm/hpcc/templates/eclagent.yaml @@ -58,7 +58,7 @@ data: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" $apptype "name" "eclagent" "instance" $appJobName "instanceOf" (printf "%s-job" .me.name)) | indent 12 }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} {{- end }} @@ -137,7 +137,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: {{ .useChildProcesses | default false | ternary "yes" "no" | quote }} - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclccserver.yaml b/helm/hpcc/templates/eclccserver.yaml index 3640b3dd055..0c9e77d888a 100644 --- a/helm/hpcc/templates/eclccserver.yaml +++ b/helm/hpcc/templates/eclccserver.yaml @@ -57,7 +57,7 @@ data: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclccserver" "name" "eclccserver" "instance" $compileJobName "instanceOf" (printf "%s-job" .me.name)) | indent 12 }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} {{- end }} @@ -142,7 +142,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: {{ .useChildProcesses | default false | ternary "yes" "no" | quote }} - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclscheduler.yaml b/helm/hpcc/templates/eclscheduler.yaml index fef0cd9a0f8..7874eee1855 100644 --- a/helm/hpcc/templates/eclscheduler.yaml +++ b/helm/hpcc/templates/eclscheduler.yaml @@ -64,7 +64,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: "no" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/esp.yaml b/helm/hpcc/templates/esp.yaml index 52c7d16ae88..c25c1d17bd5 100644 --- a/helm/hpcc/templates/esp.yaml +++ b/helm/hpcc/templates/esp.yaml @@ -116,7 +116,7 @@ spec: server: {{ .name | quote }} accessDali: "yes" app: {{ $application }} - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "name" $application "component" "esp" "instance" .name) | indent 8 }} {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8 }} diff --git a/helm/hpcc/templates/localroxie.yaml b/helm/hpcc/templates/localroxie.yaml index 4f9723720a1..ba881d88991 100644 --- a/helm/hpcc/templates/localroxie.yaml +++ b/helm/hpcc/templates/localroxie.yaml @@ -70,7 +70,7 @@ spec: server: {{ $servername | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "roxie-server" "name" "roxie" "instance" $roxie.name) | indent 8 }} {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} diff --git a/helm/hpcc/templates/roxie.yaml b/helm/hpcc/templates/roxie.yaml index a274643e164..e5f8b458399 100644 --- a/helm/hpcc/templates/roxie.yaml +++ b/helm/hpcc/templates/roxie.yaml @@ -118,7 +118,7 @@ spec: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "topology-server" "name" "roxie" "instance" $commonCtx.toponame) | indent 8 }} run: {{ $commonCtx.toponame | quote }} roxie-cluster: {{ $roxie.name | quote }} - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} {{- end }} @@ -178,7 +178,7 @@ kind: Service metadata: name: {{ $commonCtx.toponame | quote }} labels: - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "topology-server" "name" "roxie" "instance" $commonCtx.toponame) | indent 4 }} spec: ports: @@ -240,7 +240,7 @@ spec: roxie-cluster: {{ $roxie.name | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "roxie-server" "name" "roxie" "instance" $servername) | indent 8 }} {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} @@ -343,7 +343,7 @@ spec: roxie-cluster: {{ $roxie.name | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} {{- end }} diff --git a/helm/hpcc/templates/sasha.yaml b/helm/hpcc/templates/sasha.yaml index 342ec5a5e08..17963dc0be9 100644 --- a/helm/hpcc/templates/sasha.yaml +++ b/helm/hpcc/templates/sasha.yaml @@ -52,7 +52,7 @@ spec: run: {{ $serviceName | quote }} server: {{ $serviceName | quote }} accessDali: {{ (has "dali" $sasha.access) | ternary "yes" "no" | quote }} - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- if hasKey $sasha "labels" }} {{ toYaml $sasha.labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/thor.yaml b/helm/hpcc/templates/thor.yaml index c886547b315..e9d339ec61d 100644 --- a/helm/hpcc/templates/thor.yaml +++ b/helm/hpcc/templates/thor.yaml @@ -82,7 +82,7 @@ data: labels: accessDali: "yes" accessEsp: "yes" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $eclAgentJobName "instanceOf" (printf "%s-job" .eclAgentName)) | indent 8 }} {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} @@ -149,7 +149,7 @@ data: accessEsp: "yes" app: "thor" component: "thormanager" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 instance: "_HPCC_JOBNAME_" job: "_HPCC_JOBNAME_" {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "thormanager" "name" "thor" "instance" $thorManagerJobName "instanceOf" (printf "%s-thormanager-job" .me.name)) | indent 12 }} @@ -218,7 +218,7 @@ data: accessEsp: "yes" app: "thor" component: "thorworker" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 instance: "_HPCC_JOBNAME_" job: "_HPCC_JOBNAME_" {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "thorworker" "name" "thor" "instance" $thorWorkerJobName "instanceOf" (printf "%s-thorworker-job" .me.name)) | indent 12 }} @@ -353,7 +353,7 @@ spec: accessEsp: {{ $commonCtx.eclAgentUseChildProcesses | ternary "yes" "no" | quote }} app: "thor" component: "thor-eclagent" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 instance: {{ $commonCtx.eclAgentName | quote }} {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $commonCtx.eclAgentName ) | indent 8 }} {{- if hasKey $commonCtx.me "labels" }} @@ -418,7 +418,7 @@ spec: accessEsp: "no" app: "thor" component: "thor-thoragent" - helmVersion: 8.10.67-closedown0 + helmVersion: 8.10.69-closedown0 instance: {{ $commonCtx.thorAgentName | quote }} {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $commonCtx.thorAgentName ) | indent 8 }} {{- if hasKey $commonCtx.me "labels" }} diff --git a/version.cmake b/version.cmake index f8e2039a0e5..f7dc9169d2c 100644 --- a/version.cmake +++ b/version.cmake @@ -5,7 +5,7 @@ set ( HPCC_NAME "Community Edition" ) set ( HPCC_PROJECT "community" ) set ( HPCC_MAJOR 8 ) set ( HPCC_MINOR 10 ) -set ( HPCC_POINT 67 ) +set ( HPCC_POINT 69 ) set ( HPCC_MATURITY "closedown" ) set ( HPCC_SEQUENCE 0 ) ### From 07370355da7a574f6edf6113ef982f0eb1d91b6d Mon Sep 17 00:00:00 2001 From: Jake Smith Date: Thu, 28 Mar 2024 17:50:40 +0000 Subject: [PATCH 2/9] Split off 8.12.100 Signed-off-by: Jake Smith --- helm/hpcc/Chart.yaml | 4 ++-- helm/hpcc/templates/_helpers.tpl | 2 +- helm/hpcc/templates/dafilesrv.yaml | 2 +- helm/hpcc/templates/dali.yaml | 2 +- helm/hpcc/templates/dfuserver.yaml | 2 +- helm/hpcc/templates/eclagent.yaml | 4 ++-- helm/hpcc/templates/eclccserver.yaml | 4 ++-- helm/hpcc/templates/eclscheduler.yaml | 2 +- helm/hpcc/templates/esp.yaml | 2 +- helm/hpcc/templates/localroxie.yaml | 2 +- helm/hpcc/templates/roxie.yaml | 8 ++++---- helm/hpcc/templates/sasha.yaml | 2 +- helm/hpcc/templates/thor.yaml | 10 +++++----- version.cmake | 4 ++-- 14 files changed, 25 insertions(+), 25 deletions(-) diff --git a/helm/hpcc/Chart.yaml b/helm/hpcc/Chart.yaml index 5decc5eb426..1fd4567bf58 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: 8.12.99-closedown0 +version: 8.12.101-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: 8.12.99-closedown0 +appVersion: 8.12.101-closedown0 diff --git a/helm/hpcc/templates/_helpers.tpl b/helm/hpcc/templates/_helpers.tpl index d1334b1d7bb..947c81c531f 100644 --- a/helm/hpcc/templates/_helpers.tpl +++ b/helm/hpcc/templates/_helpers.tpl @@ -1240,7 +1240,7 @@ kind: Service metadata: name: {{ $lvars.serviceName | quote }} labels: - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $.root "instance" $lvars.serviceName ) | indent 4 }} {{- if $lvars.labels }} {{ toYaml $lvars.labels | indent 4 }} diff --git a/helm/hpcc/templates/dafilesrv.yaml b/helm/hpcc/templates/dafilesrv.yaml index a2eae3f2b1a..25ff4c65f98 100644 --- a/helm/hpcc/templates/dafilesrv.yaml +++ b/helm/hpcc/templates/dafilesrv.yaml @@ -50,7 +50,7 @@ spec: labels: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "dafilesrv" "name" "dafilesrv" "instance" .name) | indent 8 }} server: {{ .name | quote }} - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 annotations: checksum/config: {{ $configSHA }} spec: diff --git a/helm/hpcc/templates/dali.yaml b/helm/hpcc/templates/dali.yaml index c6982e97108..7711b63b6a8 100644 --- a/helm/hpcc/templates/dali.yaml +++ b/helm/hpcc/templates/dali.yaml @@ -82,7 +82,7 @@ spec: run: {{ $dali.name | quote }} server: {{ $dali.name | quote }} app: dali - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8 }} {{- end }} diff --git a/helm/hpcc/templates/dfuserver.yaml b/helm/hpcc/templates/dfuserver.yaml index 329679882b5..adcd97e8387 100644 --- a/helm/hpcc/templates/dfuserver.yaml +++ b/helm/hpcc/templates/dfuserver.yaml @@ -56,7 +56,7 @@ spec: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "dfuserver" "name" "dfuserver" "instance" .name) | indent 8 }} run: {{ .name | quote }} accessDali: "yes" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclagent.yaml b/helm/hpcc/templates/eclagent.yaml index a9bf470ac44..45d92f0b376 100644 --- a/helm/hpcc/templates/eclagent.yaml +++ b/helm/hpcc/templates/eclagent.yaml @@ -58,7 +58,7 @@ data: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" $apptype "name" "eclagent" "instance" $appJobName "instanceOf" (printf "%s-job" .me.name)) | indent 12 }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} {{- end }} @@ -137,7 +137,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: {{ .useChildProcesses | default false | ternary "yes" "no" | quote }} - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclccserver.yaml b/helm/hpcc/templates/eclccserver.yaml index 6ac3f53597a..1c0715ccc94 100644 --- a/helm/hpcc/templates/eclccserver.yaml +++ b/helm/hpcc/templates/eclccserver.yaml @@ -57,7 +57,7 @@ data: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclccserver" "name" "eclccserver" "instance" $compileJobName "instanceOf" (printf "%s-job" .me.name)) | indent 12 }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} {{- end }} @@ -142,7 +142,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: {{ .useChildProcesses | default false | ternary "yes" "no" | quote }} - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/eclscheduler.yaml b/helm/hpcc/templates/eclscheduler.yaml index 5b8fda2203f..d5cb35104bb 100644 --- a/helm/hpcc/templates/eclscheduler.yaml +++ b/helm/hpcc/templates/eclscheduler.yaml @@ -64,7 +64,7 @@ spec: run: {{ .name | quote }} accessDali: "yes" accessEsp: "no" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/esp.yaml b/helm/hpcc/templates/esp.yaml index 2b256687a4a..25b623fcaa7 100644 --- a/helm/hpcc/templates/esp.yaml +++ b/helm/hpcc/templates/esp.yaml @@ -117,7 +117,7 @@ spec: server: {{ .name | quote }} accessDali: "yes" app: {{ $application }} - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "name" $application "component" "esp" "instance" .name) | indent 8 }} {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8 }} diff --git a/helm/hpcc/templates/localroxie.yaml b/helm/hpcc/templates/localroxie.yaml index d8da1463613..377f60b15dd 100644 --- a/helm/hpcc/templates/localroxie.yaml +++ b/helm/hpcc/templates/localroxie.yaml @@ -70,7 +70,7 @@ spec: server: {{ $servername | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "roxie-server" "name" "roxie" "instance" $roxie.name) | indent 8 }} {{- if hasKey . "labels" }} {{ toYaml .labels | indent 8 }} diff --git a/helm/hpcc/templates/roxie.yaml b/helm/hpcc/templates/roxie.yaml index f2dbb56afee..111c287412c 100644 --- a/helm/hpcc/templates/roxie.yaml +++ b/helm/hpcc/templates/roxie.yaml @@ -120,7 +120,7 @@ spec: {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "topology-server" "name" "roxie" "instance" $commonCtx.toponame) | indent 8 }} run: {{ $commonCtx.toponame | quote }} roxie-cluster: {{ $roxie.name | quote }} - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} {{- end }} @@ -180,7 +180,7 @@ kind: Service metadata: name: {{ $commonCtx.toponame | quote }} labels: - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "topology-server" "name" "roxie" "instance" $commonCtx.toponame) | indent 4 }} spec: ports: @@ -242,7 +242,7 @@ spec: roxie-cluster: {{ $roxie.name | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "roxie-server" "name" "roxie" "instance" $servername) | indent 8 }} {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} @@ -347,7 +347,7 @@ spec: roxie-cluster: {{ $roxie.name | quote }} accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- if hasKey $.Values.global "metrics" }} {{- include "hpcc.generateMetricsReporterLabel" $.Values.global.metrics | nindent 8}} {{- end }} diff --git a/helm/hpcc/templates/sasha.yaml b/helm/hpcc/templates/sasha.yaml index c4d4f01c30b..bcbbdc4ab9e 100644 --- a/helm/hpcc/templates/sasha.yaml +++ b/helm/hpcc/templates/sasha.yaml @@ -52,7 +52,7 @@ spec: run: {{ $serviceName | quote }} server: {{ $serviceName | quote }} accessDali: {{ (has "dali" $sasha.access) | ternary "yes" "no" | quote }} - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- if hasKey $sasha "labels" }} {{ toYaml $sasha.labels | indent 8 }} {{- end }} diff --git a/helm/hpcc/templates/thor.yaml b/helm/hpcc/templates/thor.yaml index 80e2e6d2fda..29a38fde3f8 100644 --- a/helm/hpcc/templates/thor.yaml +++ b/helm/hpcc/templates/thor.yaml @@ -82,7 +82,7 @@ data: labels: accessDali: "yes" accessEsp: "yes" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $eclAgentJobName "instanceOf" (printf "%s-job" .eclAgentName)) | indent 8 }} {{- if hasKey .me "labels" }} {{ toYaml .me.labels | indent 12 }} @@ -149,7 +149,7 @@ data: accessEsp: "yes" app: "thor" component: "thormanager" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 instance: "_HPCC_JOBNAME_" job: "_HPCC_JOBNAME_" {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "thormanager" "name" "thor" "instance" $thorManagerJobName "instanceOf" (printf "%s-thormanager-job" .me.name)) | indent 12 }} @@ -218,7 +218,7 @@ data: accessEsp: "yes" app: "thor" component: "thorworker" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 instance: "_HPCC_JOBNAME_" job: "_HPCC_JOBNAME_" {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "thorworker" "name" "thor" "instance" $thorWorkerJobName "instanceOf" (printf "%s-thorworker-job" .me.name)) | indent 12 }} @@ -353,7 +353,7 @@ spec: accessEsp: {{ $commonCtx.eclAgentUseChildProcesses | ternary "yes" "no" | quote }} app: "thor" component: "thor-eclagent" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 instance: {{ $commonCtx.eclAgentName | quote }} {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $commonCtx.eclAgentName ) | indent 8 }} {{- if hasKey $commonCtx.me "labels" }} @@ -418,7 +418,7 @@ spec: accessEsp: "no" app: "thor" component: "thor-thoragent" - helmVersion: 8.12.99-closedown0 + helmVersion: 8.12.101-closedown0 instance: {{ $commonCtx.thorAgentName | quote }} {{- include "hpcc.addStandardLabels" (dict "root" $ "component" "eclagent" "name" "thor" "instance" $commonCtx.thorAgentName ) | indent 8 }} {{- if hasKey $commonCtx.me "labels" }} diff --git a/version.cmake b/version.cmake index 5f89fad9b1e..2c6778ea517 100644 --- a/version.cmake +++ b/version.cmake @@ -5,8 +5,8 @@ set ( HPCC_NAME "Community Edition" ) set ( HPCC_PROJECT "community" ) set ( HPCC_MAJOR 8 ) set ( HPCC_MINOR 12 ) -set ( HPCC_POINT 99 ) +set ( HPCC_POINT 101 ) set ( HPCC_MATURITY "closedown" ) set ( HPCC_SEQUENCE 0 ) -set ( HPCC_TAG_TIMESTAMP "2024-02-29T16:45:27Z" ) +set ( HPCC_TAG_TIMESTAMP "2024-03-28T17:50:40Z" ) ### From c638ce5d53ad252d7f4ebe38554ec43d98a464a1 Mon Sep 17 00:00:00 2001 From: Shamser Ahmed Date: Fri, 5 Apr 2024 10:20:51 +0100 Subject: [PATCH 3/9] HPCC-31569 Thor CostExecute calc may be incorrect under some circumstances Signed-off-by: Shamser Ahmed --- common/workunit/workunit.cpp | 7 +++++-- common/workunit/workunit.hpp | 2 +- thorlcr/master/thdemonserver.cpp | 4 +--- thorlcr/master/thgraphmanager.cpp | 3 +-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/common/workunit/workunit.cpp b/common/workunit/workunit.cpp index 593a9c8a43b..97c2b391f2d 100644 --- a/common/workunit/workunit.cpp +++ b/common/workunit/workunit.cpp @@ -13937,13 +13937,16 @@ extern WORKUNIT_API double getThorManagerRate() extern WORKUNIT_API double getThorWorkerRate() { + // Note: (bare-metal) the use of getAffinityCpus to get the number of CPUs used by workers + // doesn't really make sense since the caller is likely to be running on thor manager (so it will + // return cpu affinity for the manager, rather than for the worker). This needs rethinking. double numCpus = isContainerized() ? getResourcedCpus("workerResources") : getAffinityCpus(); return getCostCpuHour() * numCpus; } -extern WORKUNIT_API double calculateThorCost(unsigned __int64 ms, unsigned numberOfMachines) +extern WORKUNIT_API double calculateThorCost(unsigned __int64 ms, unsigned numberOfWorkers) { - return calcCost(getThorManagerRate(), ms) + calcCost(getThorWorkerRate(), ms) * numberOfMachines; + return calcCost(getThorManagerRate(), ms) + calcCost(getThorWorkerRate(), ms) * numberOfWorkers; } void aggregateStatistic(StatsAggregation & result, IConstWorkUnit * wu, const WuScopeFilter & filter, StatisticKind search) diff --git a/common/workunit/workunit.hpp b/common/workunit/workunit.hpp index 1ca8b625ab7..3dfdfd3ae8d 100644 --- a/common/workunit/workunit.hpp +++ b/common/workunit/workunit.hpp @@ -1739,7 +1739,7 @@ extern WORKUNIT_API void addTimeStamp(IWorkUnit * wu, unsigned wfid, const char extern WORKUNIT_API double getMachineCostRate(); extern WORKUNIT_API double getThorManagerRate(); extern WORKUNIT_API double getThorWorkerRate(); -extern WORKUNIT_API double calculateThorCost(unsigned __int64 ms, unsigned numberMachines); +extern WORKUNIT_API double calculateThorCost(unsigned __int64 ms, unsigned numberOfWorkers); extern WORKUNIT_API IPropertyTree * getWUGraphProgress(const char * wuid, bool readonly); diff --git a/thorlcr/master/thdemonserver.cpp b/thorlcr/master/thdemonserver.cpp index 5de19dced0b..b6f35ff5ec6 100644 --- a/thorlcr/master/thdemonserver.cpp +++ b/thorlcr/master/thdemonserver.cpp @@ -40,7 +40,6 @@ class DeMonServer : public CSimpleInterface, implements IDeMonServer UnsignedArray graphStarts; double thorManagerRate = 0; double thorWorkerRate = 0; - unsigned numberOfMachines = 0; cost_type costLimit = 0; cost_type workunitCost = 0; @@ -90,7 +89,7 @@ class DeMonServer : public CSimpleInterface, implements IDeMonServer updateWorkunitStat(wu, SSTsubgraph, graphScope, StTimeElapsed, timer, milliToNano(duration)); if (costLimit || finished) { - const cost_type sgCost = money2cost_type(calcCost(thorManagerRate, duration) + calcCost(thorWorkerRate, duration) * numberOfMachines); + const cost_type sgCost = money2cost_type(calcCost(thorManagerRate, duration) + calcCost(thorWorkerRate, duration) * queryNodeClusterWidth()); cost_type costDiskAccess = graph.getDiskAccessCost(); if (finished) { @@ -268,7 +267,6 @@ class DeMonServer : public CSimpleInterface, implements IDeMonServer costLimit = money2cost_type(hardLimit); else costLimit = money2cost_type(tmpcostLimit); - numberOfMachines = queryNodeClusterWidth() / globals->getPropInt("@numWorkersPerPod", 1); // Number of Pods or physical machines activeGraphs.append(*LINK(graph)); unsigned startTime = msTick(); graphStarts.append(startTime); diff --git a/thorlcr/master/thgraphmanager.cpp b/thorlcr/master/thgraphmanager.cpp index 8ac7ba3e021..4acbf5eebbd 100644 --- a/thorlcr/master/thgraphmanager.cpp +++ b/thorlcr/master/thgraphmanager.cpp @@ -1094,8 +1094,7 @@ bool CJobManager::executeGraph(IConstWorkUnit &workunit, const char *graphName, updateWorkunitStat(wu, SSTgraph, graphName, StTimeElapsed, graphTimeStr, graphTimeNs, wfid); addTimeStamp(wu, SSTgraph, graphName, StWhenFinished, wfid); - unsigned numberOfMachines = queryNodeClusterWidth() / globals->getPropInt("@numWorkersPerPod", 1); // Number of Pods or physical machines - cost_type cost = money2cost_type(calculateThorCost(nanoToMilli(graphTimeNs), numberOfMachines)); + cost_type cost = money2cost_type(calculateThorCost(nanoToMilli(graphTimeNs), queryNodeClusterWidth())); if (cost) wu->setStatistic(queryStatisticsComponentType(), queryStatisticsComponentName(), SSTgraph, graphScope, StCostExecute, NULL, cost, 1, 0, StatsMergeReplace); offset_t totalSpillSize = job->getTotalSpillSize(); From 518377c33b6ea106a4bf8aaa41daeb4d951a4174 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Thu, 4 Apr 2024 13:12:14 -0400 Subject: [PATCH 4/9] HPCC-28452 ECL Watch fix "Session is locked" messages Remove any client code that would write a "Status" cookie when either the session timeout monitor fires, or the user manually clicks the "Lock" link. Also, though not strictly related, this PR includes a fix for one of the rewrite rules for the lightweight web server config (used for local dev of ecl watch). Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/Login.html | 2 +- esp/src/eclwatch/HPCCPlatformWidget.js | 4 ++-- esp/src/eclwatch/LockDialogWidget.js | 10 ++-------- esp/src/index.html | 2 +- esp/src/lws.config.js | 2 +- esp/src/src-react/components/Frame.tsx | 2 +- esp/src/src-react/components/Title.tsx | 2 +- esp/src/src-react/components/forms/Login.tsx | 1 - esp/src/src-react/hooks/user.ts | 4 +--- esp/src/src-react/index.tsx | 2 +- esp/src/src/ESPRequest.ts | 1 - esp/src/src/Session.ts | 7 +------ esp/src/src/Utility.ts | 2 +- 13 files changed, 13 insertions(+), 28 deletions(-) diff --git a/esp/src/Login.html b/esp/src/Login.html index 7ee298a80b5..17435f00ba7 100644 --- a/esp/src/Login.html +++ b/esp/src/Login.html @@ -140,7 +140,7 @@ var d = new Date(); d.setTime(d.getTime() + (exMins * 60 * 1000)); var expires = "expires=" + d.toUTCString(); - document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; + document.cookie = cname + "=" + cvalue + ";" + expires + ";"; } if (document.cookie.indexOf("ESPAuthenticationMSG") > -1) { diff --git a/esp/src/eclwatch/HPCCPlatformWidget.js b/esp/src/eclwatch/HPCCPlatformWidget.js index 5f73bd12833..9c6e868195b 100644 --- a/esp/src/eclwatch/HPCCPlatformWidget.js +++ b/esp/src/eclwatch/HPCCPlatformWidget.js @@ -227,7 +227,7 @@ define([ context.checkIfAdmin(context.userName); context.refreshUserName(); if (!cookie("PasswordExpiredCheck")) { - cookie("PasswordExpiredCheck", "true", { expires: 1 }); + cookie("PasswordExpiredCheck", "true", { expires: 1, path: "/" }); if (lang.exists("MyAccountResponse.passwordDaysRemaining", response)) { switch (response.MyAccountResponse.passwordDaysRemaining) { case null: @@ -462,7 +462,7 @@ define([ }, _ondebugLanguageFiles: function () { - /* DEBUG_ONLY + /* DEBUG_ONLY var context = this; require(["src/nls/hpcc"], function (lang) { var languageID = []; diff --git a/esp/src/eclwatch/LockDialogWidget.js b/esp/src/eclwatch/LockDialogWidget.js index 3028c6cd3b5..6b4717b0177 100644 --- a/esp/src/eclwatch/LockDialogWidget.js +++ b/esp/src/eclwatch/LockDialogWidget.js @@ -58,7 +58,6 @@ define([ show: function (event) { var context = this; if (!dojoConfig.username) { - cookie("Status", "Unlocked"); context.storage.setItem("Status", "Unlocked"); topic.publish("hpcc/session_management_status", { status: "Unlocked" @@ -96,7 +95,6 @@ define([ var context = this; if (this.unlockForm.validate()) { - cookie("Status", "login_attempt"); WsAccount.Unlock({ request: { username: this.unlockUserName.get("value"), @@ -113,7 +111,6 @@ define([ topic.publish("hpcc/session_management_status", { status: "Unlocked" }); - cookie("Status", "Unlocked"); context.storage.setItem("Status", "Unlocked"); if (context.idleFired) { dojo.publish("hpcc/brToaster", { @@ -127,7 +124,6 @@ define([ } } else { context.unlockStatus.innerHTML = response.UnlockResponse.Message; - cookie("Status", "Locked"); } }); } @@ -150,10 +146,9 @@ define([ topic.publish("hpcc/session_management_status", { status: "Locked" }); - cookie("Status", "Locked"); context.storage.setItem("Status", "Locked"); - } else if (cookie("Status") === "Unlocked") { - xhr("esp/lock", { + } else { + xhr("/esp/lock", { method: "post" }).then(function (response) { if (response) { @@ -163,7 +158,6 @@ define([ topic.publish("hpcc/session_management_status", { status: "Locked" }); - cookie("Status", "Locked"); context.storage.setItem("Status", "Locked"); } }); diff --git a/esp/src/index.html b/esp/src/index.html index 2ff97b9eed0..976da06abf0 100644 --- a/esp/src/index.html +++ b/esp/src/index.html @@ -38,7 +38,7 @@ } function checkCookie() { - document.cookie.indexOf("ESPAuthenticated=true") > -1 ? window.location.href : window.location.href = location.origin + "#/login"; + document.cookie.indexOf("ESPAuthenticated=true") > -1 ? window.location.href : window.location.href = location.origin + "/esp/files/Login.html"; } function sendAuthRequest() { diff --git a/esp/src/lws.config.js b/esp/src/lws.config.js index 0e147898d37..cd8e8dca97a 100644 --- a/esp/src/lws.config.js +++ b/esp/src/lws.config.js @@ -38,7 +38,7 @@ let rewrite = [ { from: "/esp/files/dist/(.*)", to: "/build/dist/$1" }, { from: "/esp/files/img/(.*)", to: "build/esp/files/img/$1" }, { from: "/esp/files/(.*/*.css)", to: "/build/esp/files/$1" }, - { from: "/esp/files/(.*)", to: "/$1" }, + { from: "/esp/files/(.*)", to: "/build/$1" }, { from: "/main", to: protocol + "://" + ip + ":" + port + "/main" }, { from: "/FileSpray/(.*)", to: protocol + "://" + ip + ":" + port + "/FileSpray/$1" }, { from: "/WsCloud/(.*)", to: protocol + "://" + ip + ":" + port + "/WsCloud/$1" }, diff --git a/esp/src/src-react/components/Frame.tsx b/esp/src/src-react/components/Frame.tsx index 587e48246d3..ee5f89e3d42 100644 --- a/esp/src/src-react/components/Frame.tsx +++ b/esp/src/src-react/components/Frame.tsx @@ -62,7 +62,7 @@ export const Frame: React.FunctionComponent = () => { fireIdle(); } else if (publishedMessage.status === "Idle") { window.localStorage.setItem("pageOnLock", window.location.hash.substring(1)); - setUserSession({ ...userSession, Status: "Locked" }); + setUserSession({ ...userSession }); window.location.reload(); } }); diff --git a/esp/src/src-react/components/Title.tsx b/esp/src/src-react/components/Title.tsx index b41d4843bd0..dfb9f829445 100644 --- a/esp/src/src-react/components/Title.tsx +++ b/esp/src/src-react/components/Title.tsx @@ -111,7 +111,7 @@ export const DevTitle: React.FunctionComponent = ({ fetch("esp/lock", { method: "post" }).then(() => { - setUserSession({ ...userSession, Status: "Locked" }); + setUserSession({ ...userSession }); replaceUrl("/login", null, true); }); } diff --git a/esp/src/src-react/components/forms/Login.tsx b/esp/src/src-react/components/forms/Login.tsx index a6d7d39c769..ce0e71ea9a6 100644 --- a/esp/src/src-react/components/forms/Login.tsx +++ b/esp/src/src-react/components/forms/Login.tsx @@ -116,7 +116,6 @@ export const Login: React.FunctionComponent = ({ setErrorMessage(cookies.ESPAuthenticationMSG); setShowError(true); } else { - cookies["Status"] = "Unlocked"; cookies["ESPAuthenticated"] = "true"; createUserSession(cookies).then(() => { setErrorMessage(""); diff --git a/esp/src/src-react/hooks/user.ts b/esp/src/src-react/hooks/user.ts index 26647d03616..34a1537f2ee 100644 --- a/esp/src/src-react/hooks/user.ts +++ b/esp/src/src-react/hooks/user.ts @@ -7,7 +7,6 @@ const defaults = { ESPSessionTimeout: 7200, ESPAuthenticated: false, ECLWatchUser: false, - Status: "Unlocked", ESPSessionState: false }; @@ -17,7 +16,6 @@ export interface UserSession { ESPSessionTimeout: number; ESPAuthenticated: boolean; ECLWatchUser: boolean; - Status: string; ESPAuthenticationMSG?: string; ESPSessionState: boolean; } @@ -47,6 +45,7 @@ export function useUserSession(): { case "Mixed": case "PerSessionOnly": store.set("ESPSessionState", "true"); + store.set("ESPAuthenticated", "true"); break; case "PerRequestOnly": case "UserNameOnly": @@ -56,7 +55,6 @@ export function useUserSession(): { default: store.set("ESPSessionState", "false"); } - store.set("Status", "Unlocked"); store.set("ECLWatchUser", "true"); }).catch(err => console.log("Unable to create user session.")); }, [store]); diff --git a/esp/src/src-react/index.tsx b/esp/src/src-react/index.tsx index 9a311de9e15..ebaa7c8060a 100644 --- a/esp/src/src-react/index.tsx +++ b/esp/src/src-react/index.tsx @@ -41,7 +41,7 @@ store.getEx(ModernMode, { defaultValue: String(containerized) }).then(async mode const authType = await authTypeResp?.text() ?? "None"; const userStore = cookieKeyValStore(); const userSession = await userStore.getAll(); - if (authType.indexOf("None") < 0 && (userSession["ESPSessionState"] === "false" || userSession["ECLWatchUser"] === "false" || (!userSession["Status"] || userSession["Status"] === "Locked"))) { + if (authType.indexOf("None") < 0 && (userSession["ESPSessionState"] === "false" || userSession["ECLWatchUser"] === "false")) { if (window.location.hash.indexOf("login") < 0) { replaceUrl("/login"); } diff --git a/esp/src/src/ESPRequest.ts b/esp/src/src/ESPRequest.ts index 1fbde9879f9..0f753faa61c 100644 --- a/esp/src/src/ESPRequest.ts +++ b/esp/src/src/ESPRequest.ts @@ -122,7 +122,6 @@ class RequestHelper { status: "DoIdle" }); } - cookie("Status", "Locked"); ESPUtil.LocalStorage.removeItem("Status"); } } diff --git a/esp/src/src/Session.ts b/esp/src/src/Session.ts index 530fe131694..ec5dbe6be63 100644 --- a/esp/src/src/Session.ts +++ b/esp/src/src/Session.ts @@ -3,10 +3,10 @@ import * as xhr from "dojo/request/xhr"; import * as topic from "dojo/topic"; import { format as d3Format } from "@hpcc-js/common"; import { SMCService } from "@hpcc-js/comms"; +import { scopedLogger } from "@hpcc-js/util"; import { cookieKeyValStore } from "src/KeyValStore"; import { singletonDebounce } from "../src-react/util/throttle"; import * as ESPUtil from "./ESPUtil"; -import { scopedLogger } from "@hpcc-js/util"; const logger = scopedLogger("src/Session.ts"); @@ -72,21 +72,16 @@ export function initSession() { }); idleWatcher.start(); - if (!cookie("Status")) { - document.cookie = "Status=Unlocked;Path=/"; - } } else if (cookie("ECLWatchUser")) { window.location.replace(dojoConfig.urlInfo.basePath + "/Login.html"); } } export function lock() { - cookie("Status", "Locked"); idleWatcher.stop(); } export function unlock() { - cookie("Status", "Unlocked"); idleWatcher.start(); } diff --git a/esp/src/src/Utility.ts b/esp/src/src/Utility.ts index e5c0f9117fa..e0435a0ce6f 100644 --- a/esp/src/src/Utility.ts +++ b/esp/src/src/Utility.ts @@ -1058,7 +1058,7 @@ export function parseCookies(): Record { export function deleteCookie(name: string) { const expireDate = new Date(); expireDate.setSeconds(expireDate.getSeconds() + 1); - document.cookie = `${name}=; domain=${window.location.hostname}; path=/; expires=${expireDate.toUTCString()}`; + document.cookie = `${name}=; domain=${window.location.hostname}; expires=${expireDate.toUTCString()}`; } const d3FormatDecimal = d3Format(",.2f"); From 3b25b447e0dfeff1ee648a9f6b165f2584f602c7 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Wed, 3 Apr 2024 16:37:48 -0400 Subject: [PATCH 5/9] HPCC-28452 ECL Watch fix "Session is locked" messages Remove any client code that would write a "Status" cookie when either the session timeout monitor fires, or the user manually clicks the "Lock" link. Also, though not strictly related, (1) this PR includes a fix for one of the rewrite rules for the lightweight web server config (used for local dev of ecl watch), and (2) add an additional check to ensure the browser is always redirected to /esp/files/stub.htm when using the v5 UI. Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/Login.html | 2 +- esp/src/eclwatch/HPCCPlatformWidget.js | 2 +- esp/src/eclwatch/LockDialogWidget.js | 10 ++-------- esp/src/index.html | 2 +- esp/src/lws.config.js | 2 +- esp/src/src-react/components/Frame.tsx | 2 +- esp/src/src-react/components/Title.tsx | 6 +++--- esp/src/src-react/components/forms/Login.tsx | 1 - esp/src/src-react/hooks/user.ts | 3 --- esp/src/src-react/index.tsx | 2 +- esp/src/src/ESPRequest.ts | 1 - esp/src/src/Session.ts | 11 +++++------ esp/src/src/Utility.ts | 2 +- 13 files changed, 17 insertions(+), 29 deletions(-) diff --git a/esp/src/Login.html b/esp/src/Login.html index 7ee298a80b5..17435f00ba7 100644 --- a/esp/src/Login.html +++ b/esp/src/Login.html @@ -140,7 +140,7 @@ var d = new Date(); d.setTime(d.getTime() + (exMins * 60 * 1000)); var expires = "expires=" + d.toUTCString(); - document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; + document.cookie = cname + "=" + cvalue + ";" + expires + ";"; } if (document.cookie.indexOf("ESPAuthenticationMSG") > -1) { diff --git a/esp/src/eclwatch/HPCCPlatformWidget.js b/esp/src/eclwatch/HPCCPlatformWidget.js index 635c25542cb..375ee660f9d 100644 --- a/esp/src/eclwatch/HPCCPlatformWidget.js +++ b/esp/src/eclwatch/HPCCPlatformWidget.js @@ -253,7 +253,7 @@ define([ context.checkIfAdmin(context.userName); context.refreshUserName(); if (!cookie("PasswordExpiredCheck")) { - cookie("PasswordExpiredCheck", "true", { expires: 1 }); + cookie("PasswordExpiredCheck", "true", { expires: 1, path: "/" }); if (lang.exists("MyAccountResponse.passwordDaysRemaining", response)) { switch (response.MyAccountResponse.passwordDaysRemaining) { case null: diff --git a/esp/src/eclwatch/LockDialogWidget.js b/esp/src/eclwatch/LockDialogWidget.js index 3028c6cd3b5..6b4717b0177 100644 --- a/esp/src/eclwatch/LockDialogWidget.js +++ b/esp/src/eclwatch/LockDialogWidget.js @@ -58,7 +58,6 @@ define([ show: function (event) { var context = this; if (!dojoConfig.username) { - cookie("Status", "Unlocked"); context.storage.setItem("Status", "Unlocked"); topic.publish("hpcc/session_management_status", { status: "Unlocked" @@ -96,7 +95,6 @@ define([ var context = this; if (this.unlockForm.validate()) { - cookie("Status", "login_attempt"); WsAccount.Unlock({ request: { username: this.unlockUserName.get("value"), @@ -113,7 +111,6 @@ define([ topic.publish("hpcc/session_management_status", { status: "Unlocked" }); - cookie("Status", "Unlocked"); context.storage.setItem("Status", "Unlocked"); if (context.idleFired) { dojo.publish("hpcc/brToaster", { @@ -127,7 +124,6 @@ define([ } } else { context.unlockStatus.innerHTML = response.UnlockResponse.Message; - cookie("Status", "Locked"); } }); } @@ -150,10 +146,9 @@ define([ topic.publish("hpcc/session_management_status", { status: "Locked" }); - cookie("Status", "Locked"); context.storage.setItem("Status", "Locked"); - } else if (cookie("Status") === "Unlocked") { - xhr("esp/lock", { + } else { + xhr("/esp/lock", { method: "post" }).then(function (response) { if (response) { @@ -163,7 +158,6 @@ define([ topic.publish("hpcc/session_management_status", { status: "Locked" }); - cookie("Status", "Locked"); context.storage.setItem("Status", "Locked"); } }); diff --git a/esp/src/index.html b/esp/src/index.html index 2ff97b9eed0..976da06abf0 100644 --- a/esp/src/index.html +++ b/esp/src/index.html @@ -38,7 +38,7 @@ } function checkCookie() { - document.cookie.indexOf("ESPAuthenticated=true") > -1 ? window.location.href : window.location.href = location.origin + "#/login"; + document.cookie.indexOf("ESPAuthenticated=true") > -1 ? window.location.href : window.location.href = location.origin + "/esp/files/Login.html"; } function sendAuthRequest() { diff --git a/esp/src/lws.config.js b/esp/src/lws.config.js index 0e147898d37..cd8e8dca97a 100644 --- a/esp/src/lws.config.js +++ b/esp/src/lws.config.js @@ -38,7 +38,7 @@ let rewrite = [ { from: "/esp/files/dist/(.*)", to: "/build/dist/$1" }, { from: "/esp/files/img/(.*)", to: "build/esp/files/img/$1" }, { from: "/esp/files/(.*/*.css)", to: "/build/esp/files/$1" }, - { from: "/esp/files/(.*)", to: "/$1" }, + { from: "/esp/files/(.*)", to: "/build/$1" }, { from: "/main", to: protocol + "://" + ip + ":" + port + "/main" }, { from: "/FileSpray/(.*)", to: protocol + "://" + ip + ":" + port + "/FileSpray/$1" }, { from: "/WsCloud/(.*)", to: protocol + "://" + ip + ":" + port + "/WsCloud/$1" }, diff --git a/esp/src/src-react/components/Frame.tsx b/esp/src/src-react/components/Frame.tsx index 594f756080c..d5630872736 100644 --- a/esp/src/src-react/components/Frame.tsx +++ b/esp/src/src-react/components/Frame.tsx @@ -65,7 +65,7 @@ export const Frame: React.FunctionComponent = () => { fireIdle(); } else if (publishedMessage.status === "Idle") { window.localStorage.setItem("pageOnLock", window.location.hash.substring(1)); - setUserSession({ ...userSession, Status: "Locked" }); + setUserSession({ ...userSession }); window.location.reload(); } }); diff --git a/esp/src/src-react/components/Title.tsx b/esp/src/src-react/components/Title.tsx index b04c940b178..1f423f8e60f 100644 --- a/esp/src/src-react/components/Title.tsx +++ b/esp/src/src-react/components/Title.tsx @@ -113,10 +113,10 @@ export const DevTitle: React.FunctionComponent = ({ { key: "divider_2", itemType: ContextualMenuItemType.Divider }, { key: "lock", text: nlsHPCC.Lock, disabled: !currentUser?.username, onClick: () => { - fetch("esp/lock", { + fetch("/esp/lock", { method: "post" }).then(() => { - setUserSession({ ...userSession, Status: "Locked" }); + setUserSession({ ...userSession }); replaceUrl("/login", null, true); }); } @@ -209,7 +209,7 @@ export const DevTitle: React.FunctionComponent = ({ if (!currentUser.username) return; if (!cookie("PasswordExpiredCheck")) { // cookie expires option expects whole number of days, use a decimal < 1 for hours - cookie("PasswordExpiredCheck", "true", { expires: 0.5 }); + cookie("PasswordExpiredCheck", "true", { expires: 0.5, path: "/" }); if (currentUser.passwordIsExpired) { alert(nlsHPCC.PasswordExpired); setShowMyAccount(true); diff --git a/esp/src/src-react/components/forms/Login.tsx b/esp/src/src-react/components/forms/Login.tsx index c8ab9fc5d97..9814ee5d82a 100644 --- a/esp/src/src-react/components/forms/Login.tsx +++ b/esp/src/src-react/components/forms/Login.tsx @@ -116,7 +116,6 @@ export const Login: React.FunctionComponent = ({ setErrorMessage(cookies.ESPAuthenticationMSG); setShowError(true); } else { - cookies["Status"] = "Unlocked"; cookies["ESPAuthenticated"] = "true"; createUserSession(cookies).then(() => { setErrorMessage(""); diff --git a/esp/src/src-react/hooks/user.ts b/esp/src/src-react/hooks/user.ts index 26647d03616..d5d5d000e91 100644 --- a/esp/src/src-react/hooks/user.ts +++ b/esp/src/src-react/hooks/user.ts @@ -7,7 +7,6 @@ const defaults = { ESPSessionTimeout: 7200, ESPAuthenticated: false, ECLWatchUser: false, - Status: "Unlocked", ESPSessionState: false }; @@ -17,7 +16,6 @@ export interface UserSession { ESPSessionTimeout: number; ESPAuthenticated: boolean; ECLWatchUser: boolean; - Status: string; ESPAuthenticationMSG?: string; ESPSessionState: boolean; } @@ -56,7 +54,6 @@ export function useUserSession(): { default: store.set("ESPSessionState", "false"); } - store.set("Status", "Unlocked"); store.set("ECLWatchUser", "true"); }).catch(err => console.log("Unable to create user session.")); }, [store]); diff --git a/esp/src/src-react/index.tsx b/esp/src/src-react/index.tsx index b1ecffcc918..502a2c56386 100644 --- a/esp/src/src-react/index.tsx +++ b/esp/src/src-react/index.tsx @@ -43,7 +43,7 @@ async function loadUI() { const authType = await authTypeResp?.text() ?? "None"; const userStore = cookieKeyValStore(); const userSession = await userStore.getAll(); - if (authType.indexOf("None") < 0 && (userSession["ESPSessionState"] === "false" || userSession["ECLWatchUser"] === "false" || (!userSession["Status"] || userSession["Status"] === "Locked"))) { + if (authType.indexOf("None") < 0 && (userSession["ESPSessionState"] === "false" || userSession["ECLWatchUser"] === "false")) { if (window.location.hash.indexOf("login") < 0) { replaceUrl("/login"); } diff --git a/esp/src/src/ESPRequest.ts b/esp/src/src/ESPRequest.ts index 1fbde9879f9..0f753faa61c 100644 --- a/esp/src/src/ESPRequest.ts +++ b/esp/src/src/ESPRequest.ts @@ -122,7 +122,6 @@ class RequestHelper { status: "DoIdle" }); } - cookie("Status", "Locked"); ESPUtil.LocalStorage.removeItem("Status"); } } diff --git a/esp/src/src/Session.ts b/esp/src/src/Session.ts index 15928b8b088..52f6260450a 100644 --- a/esp/src/src/Session.ts +++ b/esp/src/src/Session.ts @@ -3,12 +3,12 @@ import * as xhr from "dojo/request/xhr"; import * as topic from "dojo/topic"; import { format as d3Format } from "@hpcc-js/common"; import { SMCService } from "@hpcc-js/comms"; +import { scopedLogger } from "@hpcc-js/util"; import { cookieKeyValStore, sessionKeyValStore, userKeyValStore } from "src/KeyValStore"; import { singletonDebounce } from "../src-react/util/throttle"; import { parseSearch } from "../src-react/util/history"; import { ModernMode } from "./BuildInfo"; import * as ESPUtil from "./ESPUtil"; -import { scopedLogger } from "@hpcc-js/util"; const logger = scopedLogger("src/Session.ts"); @@ -43,6 +43,10 @@ export async function needsRedirectV5(): Promise { window.location.replace(`/esp/files/index.html${window.location.hash}`); return true; } + if (window.location.pathname.indexOf("/esp/files/stub.htm") < 0) { + window.location.replace(`/esp/files/stub.htm${window.location.search}${window.location.hash}`); + return true; + } if (isV5DirectURL()) { return false; } @@ -141,21 +145,16 @@ export function initSession() { }); idleWatcher.start(); - if (!cookie("Status")) { - document.cookie = "Status=Unlocked;Path=/"; - } } else if (cookie("ECLWatchUser")) { window.location.replace(dojoConfig.urlInfo.basePath + "/Login.html"); } } export function lock() { - cookie("Status", "Locked"); idleWatcher.stop(); } export function unlock() { - cookie("Status", "Unlocked"); idleWatcher.start(); } diff --git a/esp/src/src/Utility.ts b/esp/src/src/Utility.ts index 46bfcf4b850..62a0a087ab7 100644 --- a/esp/src/src/Utility.ts +++ b/esp/src/src/Utility.ts @@ -1057,7 +1057,7 @@ export function parseCookies(): Record { export function deleteCookie(name: string) { const expireDate = new Date(); expireDate.setSeconds(expireDate.getSeconds() + 1); - document.cookie = `${name}=; domain=${window.location.hostname}; path=/; expires=${expireDate.toUTCString()}`; + document.cookie = `${name}=; domain=${window.location.hostname}; expires=${expireDate.toUTCString()}`; } const d3FormatDecimal = d3Format(",.2f"); From 7de1609a058cf7189110fe9cc7118a325abb5502 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:18:51 -0400 Subject: [PATCH 6/9] HPCC-31522 ECL Watch v9 fix Workunits grid Wuid sort indicator Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src-react/components/Workunits.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/esp/src/src-react/components/Workunits.tsx b/esp/src/src-react/components/Workunits.tsx index 6c17aa6c368..5dc413d3664 100644 --- a/esp/src/src-react/components/Workunits.tsx +++ b/esp/src/src-react/components/Workunits.tsx @@ -143,6 +143,7 @@ export const Workunits: React.FunctionComponent = ({ }, Wuid: { label: nlsHPCC.WUID, width: 120, + sortable: true, formatter: (Wuid, row) => { const wu = Get(Wuid); return <> From d6eb28e7947f7171c11d4eb0bad84b6f32511984 Mon Sep 17 00:00:00 2001 From: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> Date: Fri, 5 Apr 2024 17:07:53 -0400 Subject: [PATCH 7/9] HPCC-31509 ECL Watch v9 do not show paging counts until known Display ??? rather than 0 rows if the request for items hasn't returned Signed-off-by: Jeremy Clements <79224539+jeclrsg@users.noreply.github.com> --- esp/src/src-react/components/controls/Grid.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/esp/src/src-react/components/controls/Grid.tsx b/esp/src/src-react/components/controls/Grid.tsx index 28cba6d84fc..e5a4efbb3d5 100644 --- a/esp/src/src-react/components/controls/Grid.tsx +++ b/esp/src/src-react/components/controls/Grid.tsx @@ -165,7 +165,7 @@ export function useFluentStoreState({ page }: FluentStoreStateProps): FluentStor const [selection, setSelection] = React.useState([]); const [pageNum, setPageNum] = React.useState(page); const [pageSize, setPageSize] = React.useState(); - const [total, setTotal] = React.useState(0); + const [total, setTotal] = React.useState(-1); const refreshTable = useRefreshTable(); return { selection, setSelection, pageNum, setPageNum, pageSize, setPageSize, total, setTotal, refreshTable }; @@ -462,7 +462,7 @@ export const FluentPagedFooter: React.FunctionComponent return = 0 ? total : -1} pageCount={Math.ceil(total / pageSize)} format="buttons" onPageChange={index => { setPage(Math.round(index)); updatePage(Math.round(index + 1).toString()); @@ -471,7 +471,7 @@ export const FluentPagedFooter: React.FunctionComponent const start = props.totalItemCount === 0 ? 0 : props.selectedPageIndex === 0 ? 1 : (props.selectedPageIndex * props.itemsPerPage) + 1; const end = (props.itemsPerPage * (props.selectedPageIndex + 1)) > props.totalItemCount ? props.totalItemCount : props.itemsPerPage * (props.selectedPageIndex + 1); return
- {start} {props.strings.divider} {end} {nlsHPCC.Of.toLowerCase()} {props.totalItemCount} {nlsHPCC.Rows} {selectionCount ? `(${selectionCount} ${nlsHPCC.Selected})` : ""} + {start} {props.strings.divider} {end >= 0 ? end : 1} {nlsHPCC.Of.toLowerCase()} {props.totalItemCount >= 0 ? props.totalItemCount : "???"} {nlsHPCC.Rows} {selectionCount ? `(${selectionCount} ${nlsHPCC.Selected})` : ""}
; }} /> From e75b351aad984c64f103c6f2d7bcccbddb56c384 Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Fri, 5 Apr 2024 04:10:31 +0100 Subject: [PATCH 8/9] HPCC-31568 Switch xz mirror for liblzma Tukaani-project/xz is currently suspended Signed-off-by: Gordon Smith --- vcpkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vcpkg b/vcpkg index 6804a2e531e..8ba8a55200f 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit 6804a2e531ed61121bbf0ef4d550e63c69e88d2c +Subproject commit 8ba8a55200fb34e1597fc40115e0017374c7570f From 0693aa506504375b3815a287be0b5b7b508b2d9d Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Mon, 8 Apr 2024 08:53:12 +0100 Subject: [PATCH 9/9] HPCC-31557 Documentation build should reuse vcpkg cache Signed-off-by: Gordon Smith --- .github/workflows/build-assets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-assets.yml b/.github/workflows/build-assets.yml index 767f8d65cba..0e4e7fb5498 100644 --- a/.github/workflows/build-assets.yml +++ b/.github/workflows/build-assets.yml @@ -226,7 +226,7 @@ jobs: sudo rm -f ${{ needs.preamble.outputs.folder_build }}/CMakeCache.txt sudo rm -rf ${{ needs.preamble.outputs.folder_build }}/CMakeFiles docker run --rm --mount ${{ needs.preamble.outputs.mount_platform }} --mount ${{ needs.preamble.outputs.mount_build }} ${{ steps.vars.outputs.docker_tag_candidate_base }} "\ - cmake -S /hpcc-dev/HPCC-Platform -B /hpcc-dev/build ${{ needs.preamble.outputs.cmake_docker_config }} -DSIGN_MODULES=OFF -DMAKE_DOCS_ONLY=ON -DUSE_NATIVE_LIBRARIES=ON -DDOCS_AUTO=ON -DDOC_LANGS=ALL && \ + cmake -S /hpcc-dev/HPCC-Platform -B /hpcc-dev/build -DVCPKG_FILES_DIR=/hpcc-dev -DMAKE_DOCS_ONLY=ON -DUSE_NATIVE_LIBRARIES=ON -DDOCS_AUTO=ON -DDOC_LANGS=ALL && \ cmake --build /hpcc-dev/build --parallel $(nproc) --target all" docker run --rm --mount ${{ needs.preamble.outputs.mount_platform }} --mount ${{ needs.preamble.outputs.mount_build }} ${{ steps.vars.outputs.docker_tag_candidate_base }} "cd /hpcc-dev/build/Release/docs/EN_US && zip ALL_HPCC_DOCS_EN_US-${{ needs.preamble.outputs.community_tag }}.zip *.pdf" docker run --rm --mount ${{ needs.preamble.outputs.mount_platform }} --mount ${{ needs.preamble.outputs.mount_build }} ${{ steps.vars.outputs.docker_tag_candidate_base }} "cd /hpcc-dev/build/Release/docs/PT_BR && zip ALL_HPCC_DOCS_PT_BR-${{ needs.preamble.outputs.community_tag }}.zip *.pdf"