Skip to content

Commit

Permalink
HPCC-30299 Update secrets in the background to avoid roxie stalls
Browse files Browse the repository at this point in the history
Signed-off-by: Gavin Halliday <[email protected]>
  • Loading branch information
ghalliday committed Dec 19, 2023
1 parent 8f6714c commit 42782ff
Show file tree
Hide file tree
Showing 5 changed files with 391 additions and 64 deletions.
4 changes: 4 additions & 0 deletions helm/hpcc/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2322,6 +2322,10 @@
"default": false,
"description": "Require SOAPCALL and HTTPCALL URLs are secrets or mapped to secrets"
},
"updateSecretsInBackground": {
"type": "boolean",
"description": "Preemptively update secrets that are active and about to expire in the background"
},
"expert": {
"description": "Custom internal options usually reserved for internal testing",
"type": "object"
Expand Down
3 changes: 3 additions & 0 deletions roxie/ccd/ccdmain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -945,6 +945,8 @@ int CCD_API roxie_main(int argc, const char *argv[], const char * defaultYaml)
#endif

roxieMetrics.setown(createRoxieMetricsManager());
if (topology->getPropBool("@updateSecretsInBackground", !runOnce))
startSecretUpdateThread(0);

Owned<IPropertyTreeIterator> userMetrics = topology->getElements("./UserMetric");
ForEach(*userMetrics)
Expand Down Expand Up @@ -1686,6 +1688,7 @@ int CCD_API roxie_main(int argc, const char *argv[], const char * defaultYaml)
E->Release();
}

stopSecretUpdateThread();
roxieMetrics.clear();
#ifndef _CONTAINERIZED
stopPerformanceMonitor();
Expand Down
Loading

0 comments on commit 42782ff

Please sign in to comment.