View Revisions: Issue #6103
Summary | 0006103: Unregistration of client node at server node causes cleanup problems and registration problems when running with multiple queues | ||
---|---|---|---|
Revision | 2023-11-08 16:40 by pmarzullo | ||
Description | Multiple problems when initial load from client to server is requested by server, and the server cancels the initial load and unregisters the node at basically the same time. By the way, the initial load from client to server uses multiple reload channels, each with a different queue defined. So pushes from the client to the server occur at the same time (based on the multiple queue definitions). The response of the client is as follows: Each push thread gets notified that the client node is not registered anymore. Each push thread then, at the same time, attempts to register the node with the server. Cleanup is executed, but there are outgoing batches from the initial load that do not stay marked as ignored (or OK, I can't remember what status they are set to). Processes are interrupted from across the system on the client side, but my expectation is that the DataExtractor threads are not interrupted, and ends up attempting to process these batches that are marked as RQ using a sym_extract_request record, but they do not exist because they were cleaned up, so the DataExtractor gets stuck on moving ahead for the node. So, two things need to be fixed here. The multiple push threads that are told to initiate a registration need to be controlled so that only one request at a time is made. The other thing that needs to be done is to make sure to interrupt DataExtractor threads so that they do not keep processing batches that should not be processed anymore because of the unregistration that occurred. |
||
Revision | 2023-11-20 18:19 by pmarzullo | ||
Description | Multiple push threads (using queues) attempt to clean up and reregister at the same time when unregistered at the target node. The response of the client is as follows: Each push thread gets notified that the client node is not registered anymore. Each push thread then, at the same time, attempts to unregister/reregister the node with the server. The multiple push threads that are told to initiate a registration need to be controlled so that only one request at a time is made. |
||
Revision | 2023-11-08 16:40 by pmarzullo | ||
Steps To Reproduce | 1. Configure with multiple reload channels and multiple reload queues, where client pushes to server and client pulls from server. 2. Request initial load from client to server, from the server. 3. After initial load starts, cancel the load and unregister the node at the same time, from the server. 4. Client will attempt multiple simultaneous registrations, and client will not clean up all outgoing batches, and should get stuck with the current load. |
||
Revision | 2023-11-20 18:19 by pmarzullo | ||
Steps To Reproduce | 1. Configure with multiple reload channels and multiple reload queues, where client pushes to server and client pulls from server. 2. Request initial load from client to server, from the server across multiple reload channels using different queues. 3. Unregister the node at the target node. 4. All push threads will attempt to unregister/reregister at the same time. |