Skip to content

Commit 4edbeb2

Browse files
committed
Fix remote config applying with consecutive requests to the same resource
Signed-off-by: Bob Weinand <[email protected]>
1 parent 6e42e4c commit 4edbeb2

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

ext/sidecar.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,11 @@ void ddtrace_sidecar_submit_root_span_data_direct(ddtrace_root_span_data *root,
383383
bool changed = true;
384384
if (DDTRACE_G(remote_config_state)) {
385385
changed = ddog_remote_configs_service_env_change(DDTRACE_G(remote_config_state), service_slice, env_slice, version_slice, &DDTRACE_G(active_global_tags));
386+
if (!changed && root) {
387+
// ddog_remote_configs_service_env_change() generally only processes configs if they changed. However, upon request initialization it may be identical to the previous request.
388+
// However, at request shutdown some configs are unloaded. Explicitly forcing a processing step ensures these are re-loaded.
389+
ddog_process_remote_configs(DDTRACE_G(remote_config_state));
390+
}
386391
}
387392
if (changed || !root) {
388393
ddtrace_ffi_try("Failed sending remote config data", ddog_sidecar_set_remote_config_data(&ddtrace_sidecar, ddtrace_sidecar_instance_id, &DDTRACE_G(sidecar_queue_id), service_slice, env_slice, version_slice, &DDTRACE_G(active_global_tags)));

0 commit comments

Comments
 (0)