Project

General

Profile

Actions

Architecture #5367

open

Make node acceptance process asynchronous

Added by Lionel Le Folgoc over 9 years ago. Updated about 1 year ago.

Status:
New
Priority:
2
Assignee:
-
Category:
Web - Nodes & inventories
Effort required:
Name check:
Fix check:
Regression:
No

Description

Hi,

(distributed 2.11.1 setup on ec2)
I've created 500 random inventories and I'm trying to accept the "nodes" into rudder.
With "Accept new nodes", I select 10 nodes, "Accept into rudder", wait, wait, wait, then:

Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request POST /rudder/secure/nodeManager/manageNewNode.

Reason: Error reading from remote server
<pre>
Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request POST /rudder/secure/nodeManager/manageNewNode.

Reason: Error reading from remote server
</pre>

But if I go to the "list node" page, I can see that these 10 nodes are actually being accepted right now (they're appearing one by one). After a minute or so, the 10 nodes have been accepted.

So the error above is a bit misleading. ;-)
Thanks.


Related issues 2 (0 open2 closed)

Related to Rudder - Bug #10434: Error on one inventory when trying to accept 100 inventories at the same time RejectedActions
Has duplicate Rudder - Bug #10645: Proxy error when accepting 500 inventories at the same timeRejectedActions
Actions #1

Updated by Matthieu CERDA over 9 years ago

  • Category set to Web - Nodes & inventories
  • Status changed from New to 8
  • Assignee set to François ARMAND
  • Priority changed from N/A to 2
  • Target version set to 2.11.2

Hmmm, this looks like a webapp issue, maybe a timing one (too short timeout ?).

Giving this to FAR for evaluation :)

Thanks Lionel !

Actions #2

Updated by Nicolas PERRON over 9 years ago

  • Target version changed from 2.11.2 to 2.11.3
Actions #3

Updated by Matthieu CERDA over 9 years ago

  • Target version changed from 2.11.3 to 2.11.4
Actions #4

Updated by François ARMAND over 9 years ago

OK, so the problem seems that we have a timeout for async (ajax) requests, and that the underlying process does not terminate before that timeout. So the ajax call actually thinks it failed, and the server acceptation process don't know that and continue its work of accepting nodes.

We could have a longer timeout for ajax requests, but of course, that doesn't solve the problem in any way. The real solution is to make the acceptation process completly asynchrone, and to have a client-side knows it is.

I don't see for now a way to resolve that without the async solution, perhaps something with partial response only for subset of the whole acceptance.

Actions #5

Updated by Vincent MEMBRÉ over 9 years ago

  • Target version changed from 2.11.4 to 2.11.5
Actions #6

Updated by Vincent MEMBRÉ over 9 years ago

  • Target version changed from 2.11.5 to 2.11.6
Actions #7

Updated by François ARMAND about 9 years ago

Some more thought on that let me think that the behaviour as it is can't be corrected without a major refactoring of the page, and so must go in a future version of Rudder as a feature.

I think we should have one async acceptation by node (queued on the server), with a little wheel until the node is accepted (and here, we are seing a green "ok"). Node would be added one by one, so that raise the question about how to manage the start of promise generation. We can't just start one for each node, but we also can't add a grace period before starting it, else it may be delayed for hours. Or perhaps just delay with a max bound (10 minutes ?)

Actions #8

Updated by Vincent MEMBRÉ about 9 years ago

  • Target version changed from 2.11.6 to 2.11.7
Actions #9

Updated by Vincent MEMBRÉ about 9 years ago

  • Target version changed from 2.11.7 to 2.11.8
Actions #10

Updated by Vincent MEMBRÉ about 9 years ago

  • Target version changed from 2.11.8 to 2.11.9
Actions #11

Updated by Vincent MEMBRÉ about 9 years ago

  • Target version changed from 2.11.9 to 2.11.10
Actions #12

Updated by Benoît PECCATTE almost 9 years ago

  • Status changed from 8 to New
Actions #13

Updated by Vincent MEMBRÉ almost 9 years ago

  • Target version changed from 2.11.10 to 2.11.11
Actions #14

Updated by Vincent MEMBRÉ almost 9 years ago

  • Target version changed from 2.11.11 to 2.11.12
Actions #15

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 2.11.12 to 2.11.13
Actions #16

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 2.11.13 to 2.11.14
Actions #17

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 2.11.14 to 2.11.15
Actions #18

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 2.11.15 to 2.11.16
Actions #19

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 2.11.16 to 2.11.17
Actions #20

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 2.11.17 to 2.11.18
Actions #21

Updated by Vincent MEMBRÉ about 8 years ago

  • Target version changed from 2.11.18 to 2.11.19
Actions #22

Updated by Vincent MEMBRÉ about 8 years ago

  • Target version changed from 2.11.19 to 2.11.20
Actions #23

Updated by Vincent MEMBRÉ almost 8 years ago

  • Target version changed from 2.11.20 to 2.11.21
Actions #24

Updated by Vincent MEMBRÉ almost 8 years ago

  • Target version changed from 2.11.21 to 2.11.22
Actions #25

Updated by Vincent MEMBRÉ almost 8 years ago

  • Target version changed from 2.11.22 to 2.11.23
Actions #26

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 2.11.23 to 2.11.24
Actions #27

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 2.11.24 to 308
Actions #28

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 308 to 3.1.14
Actions #29

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 3.1.14 to 3.1.15
Actions #30

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 3.1.15 to 3.1.16
Actions #31

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 3.1.16 to 3.1.17
Actions #32

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 3.1.17 to 3.1.18
Actions #33

Updated by Vincent MEMBRÉ about 7 years ago

  • Target version changed from 3.1.18 to 3.1.19
Actions #34

Updated by François ARMAND almost 7 years ago

  • Related to Bug #10434: Error on one inventory when trying to accept 100 inventories at the same time added
Actions #35

Updated by François ARMAND almost 7 years ago

  • Severity set to Minor - inconvenience | misleading | easy workaround
  • User visibility set to Operational - other Techniques | Technique editor | Rudder settings
  • Priority set to 0
Actions #36

Updated by Vincent MEMBRÉ almost 7 years ago

  • Target version changed from 3.1.19 to 3.1.20
Actions #37

Updated by Jonathan CLARKE almost 7 years ago

  • Assignee deleted (François ARMAND)
Actions #38

Updated by Vincent MEMBRÉ almost 7 years ago

  • Target version changed from 3.1.20 to 3.1.21
Actions #39

Updated by François ARMAND almost 7 years ago

  • Priority changed from 0 to 14
Actions #40

Updated by Vincent MEMBRÉ almost 7 years ago

  • Target version changed from 3.1.21 to 3.1.22
Actions #41

Updated by Benoît PECCATTE almost 7 years ago

  • Priority changed from 14 to 27
Actions #42

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 3.1.22 to 3.1.23
Actions #43

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 3.1.23 to 3.1.24
Actions #44

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 3.1.24 to 3.1.25
  • Priority changed from 27 to 28
Actions #45

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 3.1.25 to 387
Actions #46

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 387 to 4.1.10
Actions #47

Updated by Vincent MEMBRÉ about 6 years ago

  • Target version changed from 4.1.10 to 4.1.11
  • Priority changed from 28 to 29
Actions #48

Updated by Vincent MEMBRÉ almost 6 years ago

  • Target version changed from 4.1.11 to 4.1.12
Actions #49

Updated by Vincent MEMBRÉ almost 6 years ago

  • Target version changed from 4.1.12 to 4.1.13
Actions #50

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 4.1.13 to 4.1.14
  • Priority changed from 29 to 30
Actions #51

Updated by Benoît PECCATTE over 5 years ago

  • Target version changed from 4.1.14 to 4.1.15
Actions #52

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 4.1.15 to 4.1.16
Actions #53

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 4.1.16 to 4.1.17
  • Priority changed from 30 to 31
Actions #54

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 4.1.17 to 4.1.18
  • Priority changed from 31 to 0
Actions #55

Updated by Vincent MEMBRÉ about 5 years ago

  • Target version changed from 4.1.18 to 4.1.19
Actions #56

Updated by Alexis Mousset about 5 years ago

  • Target version changed from 4.1.19 to 4.1.20
Actions #57

Updated by Alexis Mousset over 4 years ago

  • Target version changed from 4.1.20 to 588
Actions #58

Updated by Alexis Mousset over 4 years ago

  • Target version changed from 588 to 5.0.13
Actions #59

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 5.0.13 to 5.0.14
Actions #60

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 5.0.14 to 5.0.15
Actions #61

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 5.0.15 to 5.0.16
Actions #62

Updated by Alexis Mousset about 4 years ago

  • Target version changed from 5.0.16 to 5.0.17
Actions #63

Updated by Vincent MEMBRÉ almost 4 years ago

  • Target version changed from 5.0.17 to 5.0.18
Actions #64

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 5.0.18 to 5.0.19
Actions #65

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 5.0.19 to 5.0.20
Actions #66

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 5.0.20 to 797
Actions #67

Updated by Benoît PECCATTE over 2 years ago

  • Target version changed from 797 to 6.1.14
Actions #68

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.1.14 to 6.1.15
Actions #69

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.1.15 to 6.1.16
Actions #70

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.1.16 to 6.1.17
Actions #71

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.1.17 to 6.1.18
Actions #72

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.1.18 to 6.1.19
Actions #73

Updated by François ARMAND about 2 years ago

  • Tracker changed from Bug to Architecture
  • Subject changed from Node acceptance dialog timeouts although it's working in background to Make node acceptance process asynchrone
  • Severity deleted (Minor - inconvenience | misleading | easy workaround)
  • User visibility deleted (Operational - other Techniques | Technique editor | Rudder settings)
  • Priority deleted (0)

Requalifying that ticket to a user story - perhaps it will be an arch, actually.

Goal:

- new incoming nodes should appear in real time,
- accepted nodes should disappear one by one in real time,
- underlying page logic should be made totally async (acceptation put in a queue not link to the page but to the node acceptation service, and the service should make current state queryable)

Actions #74

Updated by François ARMAND about 2 years ago

  • Has duplicate Bug #10645: Proxy error when accepting 500 inventories at the same time added
Actions #75

Updated by Alexis Mousset about 2 years ago

  • Subject changed from Make node acceptance process asynchrone to Make node acceptance process asynchronous
Actions #76

Updated by Vincent MEMBRÉ almost 2 years ago

  • Target version changed from 6.1.19 to 6.1.20
Actions #77

Updated by Vincent MEMBRÉ almost 2 years ago

  • Target version changed from 6.1.20 to 6.1.21
Actions #78

Updated by Vincent MEMBRÉ almost 2 years ago

  • Target version changed from 6.1.21 to old 6.1 issues to relocate
Actions #79

Updated by Alexis Mousset about 1 year ago

  • Target version changed from old 6.1 issues to relocate to Ideas (not version specific)
  • Regression set to No
Actions

Also available in: Atom PDF