-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Currently support for pubsub connectors, and by extension event based models, is not available for all combinations of Process class and Connector implementation due to various issues / incompatibilies. This is a tracking issue for multiple issues under this umbrella topic.
-
LocalProcesswithZMQConnectorwhenPLUGBOARD_FLAGS_ZMQ_PUBSUB_PROXY=falsecauses failure intest_process_stop_event.test_process_stop_event. Failure due to serialisation issue occuring inExportMixin.dictwhich raisesTypeError: cannot pickle 'async_generator' object. Severity medium asPLUGBOARD_FLAGS_ZMQ_PUBSUB_PROXY=trueshould be preferred; however,PLUGBOARD_FLAGS_ZMQ_PUBSUB_PROXY=falseis the current default. -
LocalProcesswithZMQConnectorwithPLUGBOARD_FLAGS_ZMQ_PUBSUB_PROXYset to eithertrueorfalsecauses failure intest_component_event_handlers.test_component_event_handlers_with_field_inputs. Failure manifests as hanging test. Exact cause unknown at time of writing. Requires investigation. Severity low astest_process_stop_event.test_process_stop_eventcurrently working for preferredPLUGBOARD_FLAGS_ZMQ_PUBSUB_PROXY=truecase suggesting a bug in the test code rather than lib code. -
RayProcesswithZMQConnectorwithPLUGBOARD_FLAGS_ZMQ_PUBSUB_PROXY=truecauses failure intest_process_stop_event.test_process_stop_event. Test assertion fails. Maximum iterations is reached beforeStopEventis received and causes model to stop as expected. Exact cause unknown at time of writing. Requires investigation. Severity low asZMQConnectornot expected to work with networking config in multi-host Ray context, with alternatives (e.g.RabbitMQConnector) planned to address this use-case. -
RayProcesswithZMQConnectorwithPLUGBOARD_FLAGS_ZMQ_PUBSUB_PROXY=falsecauses failure intest_process_stop_event.test_process_stop_event. Serialisation error occurs when setting up Ray worker due toZMQConnector. Most likely cause is the zmqpollasync generator created in the_ZMQPubsubConnectorconstructor. Severity low asZMQConnectornot expected to work with networking config in multi-host Ray context, with alternatives (e.g.RabbitMQConnector) planned to address this use-case. -
RayProcesswithRayConnectordoes not currently have an implementation forConnectorMode.PUBSUB. -
LocalProcesorRayProcesswhen usingZMQConnectorin "pipeline" mode will hang on callingconnect_recvunlessconnect_sendhas already been called, or is called concurrently. This is due to a blocking read of aray.Queueon the receiver side to share the port for comms socket. This behaviour is in contrast to theAsyncioConnectorwhere it is possible to callconnect_sendandconnect_recvwithout risk of blocking, although a model could hang at runtime if some connectors have not been connected.