Architecture #5367
openMake node acceptance process asynchronous
Added by Lionel Le Folgoc over 10 years ago. Updated 2 months ago.
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.
Updated by Matthieu CERDA over 10 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 !
Updated by Nicolas PERRON over 10 years ago
- Target version changed from 2.11.2 to 2.11.3
Updated by Matthieu CERDA about 10 years ago
- Target version changed from 2.11.3 to 2.11.4
Updated by François ARMAND about 10 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.
Updated by Vincent MEMBRÉ about 10 years ago
- Target version changed from 2.11.4 to 2.11.5
Updated by Vincent MEMBRÉ almost 10 years ago
- Target version changed from 2.11.5 to 2.11.6
Updated by François ARMAND almost 10 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 ?)
Updated by Vincent MEMBRÉ almost 10 years ago
- Target version changed from 2.11.6 to 2.11.7
Updated by Vincent MEMBRÉ almost 10 years ago
- Target version changed from 2.11.7 to 2.11.8
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 2.11.8 to 2.11.9
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 2.11.9 to 2.11.10
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 2.11.10 to 2.11.11
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 2.11.11 to 2.11.12
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 2.11.12 to 2.11.13
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 2.11.13 to 2.11.14
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 2.11.14 to 2.11.15
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 2.11.15 to 2.11.16
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 2.11.16 to 2.11.17
Updated by Vincent MEMBRÉ almost 9 years ago
- Target version changed from 2.11.17 to 2.11.18
Updated by Vincent MEMBRÉ almost 9 years ago
- Target version changed from 2.11.18 to 2.11.19
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.19 to 2.11.20
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.20 to 2.11.21
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.21 to 2.11.22
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.22 to 2.11.23
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.23 to 2.11.24
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 2.11.24 to 308
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 308 to 3.1.14
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.1.14 to 3.1.15
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.1.15 to 3.1.16
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 3.1.16 to 3.1.17
Updated by Vincent MEMBRÉ almost 8 years ago
- Target version changed from 3.1.17 to 3.1.18
Updated by Vincent MEMBRÉ almost 8 years ago
- Target version changed from 3.1.18 to 3.1.19
Updated by François ARMAND over 7 years ago
- Related to Bug #10434: Error on one inventory when trying to accept 100 inventories at the same time added
Updated by François ARMAND over 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
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.19 to 3.1.20
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.20 to 3.1.21
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.21 to 3.1.22
Updated by Vincent MEMBRÉ over 7 years ago
- Target version changed from 3.1.22 to 3.1.23
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 3.1.23 to 3.1.24
Updated by Vincent MEMBRÉ about 7 years ago
- Target version changed from 3.1.24 to 3.1.25
- Priority changed from 27 to 28
Updated by Vincent MEMBRÉ almost 7 years ago
- Target version changed from 3.1.25 to 387
Updated by Vincent MEMBRÉ almost 7 years ago
- Target version changed from 387 to 4.1.10
Updated by Vincent MEMBRÉ almost 7 years ago
- Target version changed from 4.1.10 to 4.1.11
- Priority changed from 28 to 29
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.1.11 to 4.1.12
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.1.12 to 4.1.13
Updated by Vincent MEMBRÉ over 6 years ago
- Target version changed from 4.1.13 to 4.1.14
- Priority changed from 29 to 30
Updated by Benoît PECCATTE over 6 years ago
- Target version changed from 4.1.14 to 4.1.15
Updated by Vincent MEMBRÉ about 6 years ago
- Target version changed from 4.1.15 to 4.1.16
Updated by Vincent MEMBRÉ about 6 years ago
- Target version changed from 4.1.16 to 4.1.17
- Priority changed from 30 to 31
Updated by Vincent MEMBRÉ almost 6 years ago
- Target version changed from 4.1.17 to 4.1.18
- Priority changed from 31 to 0
Updated by Vincent MEMBRÉ almost 6 years ago
- Target version changed from 4.1.18 to 4.1.19
Updated by Alexis Mousset almost 6 years ago
- Target version changed from 4.1.19 to 4.1.20
Updated by Alexis Mousset over 5 years ago
- Target version changed from 4.1.20 to 588
Updated by Alexis Mousset over 5 years ago
- Target version changed from 588 to 5.0.13
Updated by Vincent MEMBRÉ about 5 years ago
- Target version changed from 5.0.13 to 5.0.14
Updated by Vincent MEMBRÉ about 5 years ago
- Target version changed from 5.0.14 to 5.0.15
Updated by Vincent MEMBRÉ almost 5 years ago
- Target version changed from 5.0.15 to 5.0.16
Updated by Alexis Mousset almost 5 years ago
- Target version changed from 5.0.16 to 5.0.17
Updated by Vincent MEMBRÉ over 4 years ago
- Target version changed from 5.0.17 to 5.0.18
Updated by Vincent MEMBRÉ over 4 years ago
- Target version changed from 5.0.18 to 5.0.19
Updated by Vincent MEMBRÉ about 4 years ago
- Target version changed from 5.0.19 to 5.0.20
Updated by Vincent MEMBRÉ about 4 years ago
- Target version changed from 5.0.20 to 797
Updated by Benoît PECCATTE over 3 years ago
- Target version changed from 797 to 6.1.14
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.14 to 6.1.15
Updated by Vincent MEMBRÉ over 3 years ago
- Target version changed from 6.1.15 to 6.1.16
Updated by Vincent MEMBRÉ about 3 years ago
- Target version changed from 6.1.16 to 6.1.17
Updated by Vincent MEMBRÉ about 3 years ago
- Target version changed from 6.1.17 to 6.1.18
Updated by Vincent MEMBRÉ almost 3 years ago
- Target version changed from 6.1.18 to 6.1.19
Updated by François ARMAND almost 3 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)
Updated by François ARMAND almost 3 years ago
- Has duplicate Bug #10645: Proxy error when accepting 500 inventories at the same time added
Updated by Alexis Mousset almost 3 years ago
- Subject changed from Make node acceptance process asynchrone to Make node acceptance process asynchronous
Updated by Vincent MEMBRÉ over 2 years ago
- Target version changed from 6.1.19 to 6.1.20
Updated by Vincent MEMBRÉ over 2 years ago
- Target version changed from 6.1.20 to 6.1.21
Updated by Vincent MEMBRÉ over 2 years ago
- Target version changed from 6.1.21 to old 6.1 issues to relocate
Updated by Alexis Mousset over 1 year ago
- Target version changed from old 6.1 issues to relocate to Ideas (not version specific)
- Regression set to No