I want to discuss the topic of CONTINUOUS_QUERIES (CQ) system view.
According to the common design, our system views are node-local and display
the information contained on the node.
CQ system view has LOCAL_LISTENER and LOCAL_TRANSFORMED_LISTENER fields.
But these fields are not null only in case when we query the system view
from the node which was deploying the CQ. In any other case, these fields
will be null, because localListemer and localTransformedListened are not
deployed on remote nodes.
Thus to understand which localListener has the CQ, we should query system
view from the node which was deploying the CQ. Often CQ client nodes deploy
CQ, but there is no way to query CQ on the client node.
It turns out there are many situations where we cannot find out which
localListener is being used.
I propose to make the localListener class name synchronized between nodes
via discovery. Not deploying localListener on remote nodes, but just name
synchronization. And this name will be used for LOCAL_LISTENER field in
system view in case when localListened are not deployed on the node.