Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
My initial thinking about this reasoned that for co-located nested aggregates, their input queues would not need any scaleout because there would be no deserialization (the input queue passes a handle instead of a serialized CAS for co-located nested aggregates). And also, no re-serialization back to the invoker (again, just a handle is passed).
However, Eddie has pointed out that if the nested aggregate has a remote delegate as its first component, then the serialization work going to that delegate is done using the thread on the input queue listener.
Also, I note that if the flow controller work requires any significant time, scaleout might be needed, as the input queue listener thread is used for the first entry into the flow controller (subsequent entries into the flow controller run on the aggregate's reply queue listeners).
Because of this, we should allow the inputQueueScaleout parameter on nested aggregates, as well as just on the top level one.