Project

General

Profile

Actions

Bug #7621

closed

cf-promises can hang for about 30 seconds looking up default server name "rudder"

Added by Jonathan CLARKE over 8 years ago. Updated over 7 years ago.

Status:
Released
Priority:
N/A
Category:
System techniques
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:

Description

By default, our promises try to read /var/rudder/cfengine-community/policy_server.dat to determine the server. However, when this code is parsed through cf-promises -c (as cf-serverd runs it), the class based system isn't properly taken into account, leading to cf-promises running a reverse DNS lookup on "rudder".

If this name doesn't exist in DNS, there can be a long timeout. This causes cf-promises to be slow, causing in turn cf-agent runs to take too long, and actually stopping cf-serverd from serving requests during this period.

We can work around this using the ifelse() function - that works in cf-promises (this function exists since 3.5 at least, so we can use it no problem: https://docs.cfengine.com/docs/3.5/reference-functions-ifelse.html).


Subtasks 1 (0 open1 closed)

Bug #8900: cf-promises can hang for about 30 seconds looking up default server name "rudder" - initial promisesReleasedJonathan CLARKE2016-08-26Actions
Actions #1

Updated by Jonathan CLARKE over 8 years ago

  • Status changed from New to In progress
  • Assignee set to Jonathan CLARKE
Actions #2

Updated by Jonathan CLARKE over 8 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Jonathan CLARKE to Nicolas CHARLES
  • Pull Request set to https://github.com/Normation/rudder-techniques/pull/819
Actions #3

Updated by Benoît PECCATTE over 8 years ago

  • Status changed from Pending technical review to In progress
  • Assignee changed from Nicolas CHARLES to Benoît PECCATTE
Actions #4

Updated by Vincent MEMBRÉ about 8 years ago

  • Target version changed from 2.11.18 to 2.11.19
Actions #5

Updated by Vincent MEMBRÉ about 8 years ago

  • Target version changed from 2.11.19 to 2.11.20
Actions #6

Updated by Vincent MEMBRÉ about 8 years ago

  • Target version changed from 2.11.20 to 2.11.21
Actions #7

Updated by Jonathan CLARKE almost 8 years ago

  • Target version changed from 2.11.21 to 3.1.10
Actions #8

Updated by Jonathan CLARKE almost 8 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Benoît PECCATTE to Nicolas CHARLES
  • Pull Request changed from https://github.com/Normation/rudder-techniques/pull/819 to https://github.com/Normation/rudder-techniques/pull/918
Actions #9

Updated by Jonathan CLARKE almost 8 years ago

  • Assignee changed from Nicolas CHARLES to Benoît PECCATTE
Actions #10

Updated by Jonathan CLARKE almost 8 years ago

  • Status changed from Pending technical review to Pending release
  • % Done changed from 0 to 100
Actions #11

Updated by Vincent MEMBRÉ almost 8 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 3.1.10 and 3.2.3 which were released on 2016-06-01, but not announced.

Actions

Also available in: Atom PDF