ryucc commented on code in PR #25068:
URL: https://github.com/apache/beam/pull/25068#discussion_r1082976820


##########
runners/samza/src/main/java/org/apache/beam/runners/samza/runtime/SamzaDoFnRunners.java:
##########
@@ -316,12 +322,25 @@ public FnDataReceiver<FnOutT> create(String 
pCollectionId) {
         final TimerReceiverFactory timerReceiverFactory =
             new TimerReceiverFactory(stageBundleFactory, 
this::timerDataConsumer, windowCoder);
 
+        Map<String, String> transformFullNameToUniqueName =
+            pTransformNodes.stream()
+                .collect(
+                    Collectors.toMap(
+                        pTransformNode -> pTransformNode.getId(),
+                        pTransformNode -> 
pTransformNode.getTransform().getUniqueName()));

Review Comment:
   Think it's okay. If we didn't want redundant computation then the above lines
   
   ```
           OutputReceiverFactory receiverFactory =
               new OutputReceiverFactory() {
                 @Override
                 public FnDataReceiver<FnOutT> create(String pCollectionId) {
                   return (receivedElement) -> {
                     // handover to queue, do not block the grpc thread
                     outputQueue.put(KV.of(pCollectionId, receivedElement));
                   };
                 }
               };
           final Coder<BoundedWindow> windowCoder = 
windowingStrategy.getWindowFn().windowCoder();
           final TimerReceiverFactory timerReceiverFactory =
               new TimerReceiverFactory(stageBundleFactory, 
this::timerDataConsumer, windowCoder);
   ```
   
   Should all be in the constructor?
   
   I think the philosophy here is to keep the constructor assign only, and not 
contain any computation.
   Code in the constructor should only look like
   
   ```
   this.a = a;
   this.b = b;
   ...
   ```
   
   etc.



-- 
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