Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SPARK-45588][PROTOBUF][CONNECT][MINOR] Scaladoc improvement for StreamingForeachBatchHelper #43424

Closed
wants to merge 4 commits into from

Conversation

rangadi
Copy link
Contributor

@rangadi rangadi commented Oct 18, 2023

What changes were proposed in this pull request?

Couple of minor improvements to StreamingForeachBatchHelper:

  • Make RunnerCleaner private and add ScalaDoc.
  • Update contract for pythonForeachBatchWrapper() to inform that call should eventually should close() the AutoClosable returned.

In addition, it also fixes a flake in Protobuf unit test.

Why are the changes needed?

  • Code readability improvement.

Does this PR introduce any user-facing change?

No

How was this patch tested?

  • Existing tests.
  • For protobuf suite, verified with seed set to '399'. It fails before this PR and passes after.

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

No.

@rangadi
Copy link
Contributor Author

rangadi commented Oct 18, 2023

cc: @WweiL

@srowen
Copy link
Member

srowen commented Oct 18, 2023

Looks OK, just get tests to pass

@@ -137,7 +137,7 @@ class ProtobufCatalystDataConversionSuite
while (
data != null &&
(data.get(0) == defaultValue ||
(dt == BinaryType &&
(dt.fields(0).dataType == BinaryType &&
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fixes flake reported in #43413 (comment)
The type check was incorrect. So when the random value was empty array, we didn't skip it. Original intention is to skip default values for types. Verified with manually setting the seed to 399 (at line 128).
cc: @HeartSaVioR

image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah OK that's actually failing consistently for specific value but the test itself is using random seed hence flaky...

@HeartSaVioR HeartSaVioR changed the title [SPARK-45588]Minor Scaladoc improvement for StreamingForeachBatchHelper [SPARK-45588][PROTOBUF][CONNECT][MINOR] Scaladoc improvement for StreamingForeachBatchHelper Oct 19, 2023
Copy link
Contributor

@HeartSaVioR HeartSaVioR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 pending CI. Please mention in PR description that you've run the test locally with seed 399.

@rangadi
Copy link
Contributor Author

rangadi commented Oct 19, 2023

@HeartSaVioR all the tests passed. Updated "testing" section in the description.
Please merge.

@HeartSaVioR
Copy link
Contributor

Thanks! Merging to master.

HeartSaVioR pushed a commit that referenced this pull request Oct 25, 2023
…tDataConversionSuite

### What changes were proposed in this pull request?
The pr aims to fix flaky ProtobufCatalystDataConversionSuite, include:
- Fix the type check (when the random value was empty array, we didn't skip it. Original intention is to skip default values for types.) [SPARK-45588]
- When data.get(0) is null, data.get(0).asInstanceOf[Array[Byte]].isEmpty will be thrown java.lang.NullPointerException. [SPARK-45640]

Backport above to branch 3.4.
Master branch pr: #43424 & #43493

### Why are the changes needed?
Fix flaky ProtobufCatalystDataConversionSuite.

### Does this PR introduce _any_ user-facing change?
No.

### How was this patch tested?
- Pass GA
- Manually test

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

Closes #43520 from panbingkun/branch-3.4_SPARK-45640.

Authored-by: panbingkun <pbk1982@gmail.com>
Signed-off-by: Jungtaek Lim <kabhwan.opensource@gmail.com>
HyukjinKwon pushed a commit that referenced this pull request Oct 25, 2023
…tDataConversionSuite

### What changes were proposed in this pull request?
The pr aims to fix flaky ProtobufCatalystDataConversionSuite, include:
- Fix the type check (when the random value was empty array, we didn't skip it. Original intention is to skip default values for types.) [SPARK-45588]
- When data.get(0) is null, data.get(0).asInstanceOf[Array[Byte]].isEmpty will be thrown java.lang.NullPointerException. [SPARK-45640]

Backport above to branch 3.5.
Master branch pr: #43424 & #43493

### Why are the changes needed?
Fix flaky ProtobufCatalystDataConversionSuite.

### Does this PR introduce _any_ user-facing change?
No.

### How was this patch tested?
- Pass GA
- Manually test

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

Closes #43521 from panbingkun/branch-3.5_SPARK-45640.

Authored-by: panbingkun <pbk1982@gmail.com>
Signed-off-by: Hyukjin Kwon <gurwls223@apache.org>
szehon-ho pushed a commit to szehon-ho/spark that referenced this pull request Feb 7, 2024
…tDataConversionSuite

### What changes were proposed in this pull request?
The pr aims to fix flaky ProtobufCatalystDataConversionSuite, include:
- Fix the type check (when the random value was empty array, we didn't skip it. Original intention is to skip default values for types.) [SPARK-45588]
- When data.get(0) is null, data.get(0).asInstanceOf[Array[Byte]].isEmpty will be thrown java.lang.NullPointerException. [SPARK-45640]

Backport above to branch 3.4.
Master branch pr: apache#43424 & apache#43493

### Why are the changes needed?
Fix flaky ProtobufCatalystDataConversionSuite.

### Does this PR introduce _any_ user-facing change?
No.

### How was this patch tested?
- Pass GA
- Manually test

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

Closes apache#43520 from panbingkun/branch-3.4_SPARK-45640.

Authored-by: panbingkun <pbk1982@gmail.com>
Signed-off-by: Jungtaek Lim <kabhwan.opensource@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants