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)

Reply via email to