krishvishal commented on code in PR #2853:
URL: https://github.com/apache/iggy/pull/2853#discussion_r2877379354


##########
core/shard/src/lib.rs:
##########
@@ -91,11 +170,11 @@ where
             >,
         M: StateMachine<Input = Message<PrepareHeader>>,
     {
-        let planes = self.plane.inner();
-        if planes.0.is_applicable(&request) {
-            planes.0.on_request(request).await;
+        let (metadata, (partitions, _)) = self.plane.inner();
+        if metadata.is_applicable(&request) {

Review Comment:
   The MuxPlane's Plane trait dispatch can't work here because the two planes 
use different consensus types:  
   1. `Metadata: VsrConsensus<B> (default LocalPipeline)`
   2.  Partitions: VsrConsensus<B, NamespacedPipeline>                          
                                                                  
                                
   The variadic Plane<C> impl requires a single C for both, so 
self.plane.on_request(...) doesn't compile without either:                      
 
     - Unifying both planes on `NamespacedPipeline` which changes metadata's 
pipeline behavior.
     - Adding a second `Plane impl for IggyPartitions` with the wrong pipeline 
type
   
     Both feel like they are hacky solutions. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to