Skip to content

Conversation

@dongjoon-hyun
Copy link
Member

@dongjoon-hyun dongjoon-hyun commented Oct 7, 2025

What changes were proposed in this pull request?

This PR aims to improve SentinelResourceState.toString by JEP-280 instead of ToStringBuilder.

Why are the changes needed?

This is aligned with Apache Spark main repository improvement.

Since Java 9, String Concatenation has been handled better by default.

ID DESCRIPTION
JEP-280 Indify String Concatenation

For example, SentinelResourceState.toString is changed like the following by this PR.

BEFORE

  public java.lang.String toString();
    Code:
         0: new           #43                 // class org/apache/commons/lang3/builder/ToStringBuilder
         3: dup
         4: aload_0
         5: invokespecial #45                 // Method org/apache/commons/lang3/builder/ToStringBuilder."<init>":(Ljava/lang/Object;)V
         8: ldc           #48                 // String resource
        10: aload_0
        11: getfield      #17                 // Field resource:Lorg/apache/spark/k8s/operator/BaseResource;
        14: invokevirtual #49                 // Method org/apache/commons/lang3/builder/ToStringBuilder.append:(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/commons/lang3/builder/ToStringBuilder;
        17: ldc           #53                 // String previousGeneration
        19: aload_0
        20: getfield      #39                 // Field previousGeneration:J
        23: invokevirtual #54                 // Method org/apache/commons/lang3/builder/ToStringBuilder.append:(Ljava/lang/String;J)Lorg/apache/commons/lang3/builder/ToStringBuilder;
        26: ldc           #57                 // String isHealthy
        28: aload_0
        29: getfield      #13                 // Field isHealthy:Z
        32: invokevirtual #58                 // Method org/apache/commons/lang3/builder/ToStringBuilder.append:(Ljava/lang/String;Z)Lorg/apache/commons/lang3/builder/ToStringBuilder;
        35: invokevirtual #61                 // Method org/apache/commons/lang3/builder/ToStringBuilder.toString:()Ljava/lang/String;
        38: areturn

AFTER

  public java.lang.String toString();
    Code:
         0: aload_0
         1: getfield      #17                 // Field resource:Lorg/apache/spark/k8s/operator/BaseResource;
         4: invokestatic  #43                 // Method java/lang/String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
         7: aload_0
         8: getfield      #39                 // Field previousGeneration:J
        11: aload_0
        12: getfield      #13                 // Field isHealthy:Z
        15: invokedynamic #49,  0             // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;JZ)Ljava/lang/String;
        20: areturn

Does this PR introduce any user-facing change?

No.

How was this patch tested?

Pass the CIs.

Was this patch authored or co-authored using generative AI tooling?

No.

@dongjoon-hyun dongjoon-hyun changed the title [SPARK-53818] Improve SentinelManager.toString by JEP-280 instead of ToStringBuilder [SPARK-53818] Improve SentinelResourceState.toString by JEP-280 instead of ToStringBuilder Oct 7, 2025
@dongjoon-hyun
Copy link
Member Author

Thank you, @viirya .

@dongjoon-hyun
Copy link
Member Author

Merged to main.

@dongjoon-hyun dongjoon-hyun deleted the SPARK-53818 branch October 7, 2025 06:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants