Skip to content

Commit 8b7df78

Browse files
committed
Merge remote-tracking branch 'origin/candidate-10.2.x' into candidate-10.4.x
2 parents a2c329d + dfc5fa8 commit 8b7df78

5 files changed

Lines changed: 42 additions & 6 deletions

File tree

.github/workflows/build-docker-internal.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,12 +269,39 @@ jobs:
269269
${{ secrets.JFROG_REGISTRY || 'dummy.io' }}/hpccpl-docker-local/platform-core-ln:${{ steps.vars.outputs.hpcc_version }}${{ inputs.architecture }}
270270
cache-from: |
271271
type=registry,ref=hpccsystems/platform-core-${{ inputs.os }}:${{ steps.vars.outputs.candidate_base_branch }}${{ inputs.architecture }}
272+
273+
- name: Locate withsymbols_k8s deb file
274+
if: ${{ inputs.build-docker-image}}
275+
id: ln-container-withsymbols
276+
run: |
277+
withsymbols_k8s_pkg_path=$(ls -t ${{ steps.vars.outputs.folder_build }}/*64_withsymbols_k8s.deb 2>/dev/null | head -1)
278+
withsymbols_k8s_pkg_file=$(basename "$withsymbols_k8s_pkg_path")
279+
echo "withsymbols_k8s_pkg_file=$withsymbols_k8s_pkg_file" >> $GITHUB_OUTPUT
280+
echo "$withsymbols_k8s_pkg_file"
272281
282+
- name: Create Docker Image With Symbols
283+
uses: docker/build-push-action@v5
284+
if: ${{ inputs.build-docker-image }}
285+
with:
286+
builder: ${{ steps.buildx.outputs.name }}
287+
file: ${{ steps.vars.outputs.folder_platform }}/dockerfiles/platform-core-${{ inputs.os }}/Dockerfile
288+
context: ${{ steps.vars.outputs.folder_build }}
289+
push: false
290+
load: true
291+
build-args: |
292+
PKG_FILE=${{ steps.ln-container-withsymbols.outputs.withsymbols_k8s_pkg_file }}
293+
tags: |
294+
${{ secrets.JFROG_REGISTRY || 'dummy.io' }}/hpccpl-docker-local/platform-core-ln-withsymbols:${{ steps.vars.outputs.hpcc_version }}
295+
cache-from: |
296+
type=registry,ref=hpccsystems/platform-core-${{ inputs.os }}:${{ steps.vars.outputs.candidate_base_branch }}${{ inputs.architecture }}
297+
273298
- name: JFrog Docker Push and Publish
274299
if: ${{ inputs.build-docker-image && github.repository_owner == 'hpcc-systems' }}
275300
run: |
276301
jf docker push ${{ secrets.JFROG_REGISTRY || 'dummy.io' }}/hpccpl-docker-local/platform-core-ln:${{ steps.vars.outputs.hpcc_version }}${{ inputs.architecture }} --build-name=platform-core-ln${{ inputs.architecture }} --build-number=${{ steps.vars.outputs.hpcc_version }}${{ inputs.architecture }} --project=hpccpl
277302
jf rt bp platform-core-ln${{ inputs.architecture }} ${{ steps.vars.outputs.hpcc_version }}${{ inputs.architecture }} --project=hpccpl
303+
jf docker push ${{ secrets.JFROG_REGISTRY || 'dummy.io' }}/hpccpl-docker-local/platform-core-ln-withsymbols:${{ steps.vars.outputs.hpcc_version }}${{ inputs.architecture }} --build-name=platform-core-ln-withsymbols${{ inputs.architecture }} --build-number=${{ steps.vars.outputs.hpcc_version }}${{ inputs.architecture }} --project=hpccpl
304+
jf rt bp platform-core-ln-withsymbols${{ inputs.architecture }} ${{ steps.vars.outputs.hpcc_version }}${{ inputs.architecture }} --project=hpccpl
278305
279306
- name: Cleanup Environment
280307
if: always()

dockerfiles/rule-hpccpl-docker-local-point-over-6mo.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"items.find":
66
{
77
"repo": "hpccpl-docker-local",
8-
"path": "platform-core-ln",
8+
"path": {"$match": "platform-core-ln*"},
99
"created": {"$before": "6mo"},
1010
"type": "folder",
1111
"name": {"$nmatch": "*-latest"},

esp/services/ws_workunits/ws_workunitsQuerySets.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3188,7 +3188,7 @@ class QueryCloner
31883188
StringBuffer fetchedName;
31893189
StringBuffer remoteDfs;
31903190
fetchRemoteWorkunit(NULL, context, srcAddress.str(), NULL, NULL, wuid, fetchedName, xml, dllname, dll, remoteDfs, useSSL);
3191-
deploySharedObject(*context, wuid, target, queryName, dll, queryDirectory, xml.str(), false);
3191+
deploySharedObject(*context, wuid, target, queryName, dll, queryDirectory, xml.str(), false, srcAddress.str(), dllname);
31923192

31933193
SCMStringBuffer existingQueryId;
31943194
queryIdFromQuerySetWuid(destQuerySet, wuid, queryName, existingQueryId);
@@ -3516,7 +3516,7 @@ bool CWsWorkunitsEx::onWUQuerysetCopyQuery(IEspContext &context, IEspWUQuerySetC
35163516
wuid.set(srcInfo->getWuid());
35173517
if (targetQueryName.isEmpty())
35183518
targetQueryName.set(queryName);
3519-
deploySharedObject(context, wuid, target, targetQueryName.get(), dll, queryDirectory.str(), xml.str(), false);
3519+
deploySharedObject(context, wuid, target, targetQueryName.get(), dll, queryDirectory.str(), xml.str(), false, srcAddress.str(), dllname.str());
35203520
}
35213521
else
35223522
{

esp/services/ws_workunits/ws_workunitsService.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4848,7 +4848,7 @@ void writeSharedObject(const char *srcpath, const MemoryBuffer &obj, const char
48484848
throw MakeStringException(ECLWATCH_CANNOT_COPY_DLL, "Failed copying shared object %s", srcpath);
48494849
}
48504850

4851-
void deploySharedObject(IEspContext &context, StringBuffer &wuid, const char *cluster, const char *name, const MemoryBuffer &obj, const char *dir, const char *xml, bool protect)
4851+
void deploySharedObject(IEspContext &context, StringBuffer &wuid, const char *cluster, const char *name, const MemoryBuffer &obj, const char *dir, const char *xml, bool protect, const char *sourceProcess, const char *sourceFilename)
48524852
{
48534853
StringBuffer dllpath, dllname;
48544854

@@ -4878,9 +4878,18 @@ void deploySharedObject(IEspContext &context, StringBuffer &wuid, const char *cl
48784878
}
48794879
}
48804880

4881+
StringBuffer originalDllName(sourceFilename);
4882+
if (originalDllName.isEmpty() && !isEmptyString(name))
4883+
originalDllName.append(name).append(SharedObjectExtension);
4884+
48814885
NewWsWorkunit wu(context, wuid);
48824886
wuid.set(wu->queryWuid()); // Update the wuid to the new unique value
48834887

4888+
if (!originalDllName.isEmpty())
4889+
wu->setApplicationValue("deploy", "sourceQuery", originalDllName.str(), true);
4890+
if (!isEmptyString(sourceProcess))
4891+
wu->setApplicationValue("deploy", "sourceEnvironment", sourceProcess, true);
4892+
48844893
//Write the dll to a filename based on the unique wuid
48854894
StringBuffer baseDllName;
48864895
baseDllName.append(SharedObjectPrefix).append(wuid).append(SharedObjectExtension);
@@ -4933,7 +4942,7 @@ void CWsWorkunitsEx::deploySharedObjectReq(IEspContext &context, IEspWUDeployWor
49334942
}
49344943

49354944
StringBuffer wuid;
4936-
deploySharedObject(context, wuid, cluster, req.getName(), *uncompressed, dir, xml, req.getProtect());
4945+
deploySharedObject(context, wuid, cluster, req.getName(), *uncompressed, dir, xml, req.getProtect(), nullptr, req.getFileName());
49374946

49384947
WsWuInfo winfo(context, wuid.str());
49394948
winfo.getCommon(resp.updateWorkunit(), WUINFO_All);

esp/services/ws_workunits/ws_workunitsService.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@ class CWsWorkunitsSoapBindingEx : public CWsWorkunitsSoapBinding
510510
StringAttr espApplicationName;
511511
};
512512

513-
void deploySharedObject(IEspContext &context, StringBuffer &wuid, const char *cluster, const char *name, const MemoryBuffer &obj, const char *dir, const char *xml=NULL, bool protect=false);
513+
void deploySharedObject(IEspContext &context, StringBuffer &wuid, const char *cluster, const char *name, const MemoryBuffer &obj, const char *dir, const char *xml, bool protect, const char *sourceProcess, const char *sourceFilename);
514514

515515
class CClusterQueryStateParam : public CInterface
516516
{

0 commit comments

Comments
 (0)