From 1e9abd508ea5627465d528788645d4dbe53d7d31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Po=C5=82awski?= Date: Wed, 2 Dec 2020 03:00:26 +0100 Subject: [PATCH 17/18] data_provider_be: Add random offset default Replace hardcoded default value of 30 with more meaningful OFFLINE_TIMEOUT_RANDOM_OFFSET define. This value is used to calculate task timeout during offline status checking by formula (from SSSD MAN page): new_interval = (old_interval * 2) + random_offset As it is explicite mentioned in documentation it should be expressed in the code similar way. Reviewed-by: Iker Pedrosa --- src/providers/data_provider_be.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c index 4c10d6b48..10421c6b4 100644 --- a/src/providers/data_provider_be.c +++ b/src/providers/data_provider_be.c @@ -51,6 +51,7 @@ #define ONLINE_CB_RETRY 3 #define ONLINE_CB_RETRY_MAX_DELAY 4 +#define OFFLINE_TIMEOUT_RANDOM_OFFSET 30 #define OFFLINE_TIMEOUT_DEFAULT 60 #define OFFLINE_TIMEOUT_MAX_DEFAULT 3600 @@ -152,9 +153,13 @@ void be_mark_offline(struct be_ctx *ctx) offline_timeout = get_offline_timeout(ctx); offline_timeout_max = get_offline_timeout_max(ctx); - ret = be_ptask_create_sync(ctx, ctx, - offline_timeout, offline_timeout, - offline_timeout, 30, offline_timeout, + ret = be_ptask_create_sync(ctx, + ctx, + offline_timeout, + offline_timeout, + offline_timeout, + OFFLINE_TIMEOUT_RANDOM_OFFSET, + offline_timeout, offline_timeout_max, try_to_go_online, ctx, "Check if online (periodic)", -- 2.21.3