tiancx created FLINK-36113: ------------------------------ Summary: Condition 'transform instanceof PhysicalTransformation' is always 'false' Key: FLINK-36113 URL: https://issues.apache.org/jira/browse/FLINK-36113 Project: Flink Issue Type: Improvement Environment: master Reporter: tiancx Attachments: Snipaste_2024-08-21_01-29-52.png
Judgment optimization: The legacyTransform method in the StreamGraphGenerator class has a judgment: the transform instance of PhysicalTransformation is always false {code:java} //代码占位符 private Collection<Integer> legacyTransform(Transformation<?> transform) { Collection<Integer> transformedIds; if (transform instanceof FeedbackTransformation<?>) { transformedIds = transformFeedback((FeedbackTransformation<?>) transform); } else if (transform instanceof CoFeedbackTransformation<?>) { transformedIds = transformCoFeedback((CoFeedbackTransformation<?>) transform); } else if (transform instanceof SourceTransformationWrapper<?>) { transformedIds = transform(((SourceTransformationWrapper<?>) transform).getInput()); } else { throw new IllegalStateException("Unknown transformation: " + transform); } if (transform.getBufferTimeout() >= 0) { streamGraph.setBufferTimeout(transform.getId(), transform.getBufferTimeout()); } else { streamGraph.setBufferTimeout(transform.getId(), getBufferTimeout()); } if (transform.getUid() != null) { streamGraph.setTransformationUID(transform.getId(), transform.getUid()); } if (transform.getUserProvidedNodeHash() != null) { streamGraph.setTransformationUserHash( transform.getId(), transform.getUserProvidedNodeHash()); } if (!streamGraph.getExecutionConfig().hasAutoGeneratedUIDsEnabled()) { if (transform instanceof PhysicalTransformation && transform.getUserProvidedNodeHash() == null && transform.getUid() == null) { throw new IllegalStateException( "Auto generated UIDs have been disabled " + "but no UID or hash has been assigned to operator " + transform.getName()); } } if (transform.getMinResources() != null && transform.getPreferredResources() != null) { streamGraph.setResources( transform.getId(), transform.getMinResources(), transform.getPreferredResources()); } streamGraph.setManagedMemoryUseCaseWeights( transform.getId(), transform.getManagedMemoryOperatorScopeUseCaseWeights(), transform.getManagedMemorySlotScopeUseCases()); return transformedIds; } {code} I'm willing to optimize this. -- This message was sent by Atlassian Jira (v8.20.10#820010)