Skip to content

Conversation

shuai-xu
Copy link
Contributor

@shuai-xu shuai-xu commented Aug 1, 2025

What changes were proposed in this pull request?

This pr update velox to a version, which contains support for state. And make serval operators contains Join, WindowJoin, GlobalAgg, LocalAgg use state for calculation. These operators's bahivor is like flink now, but still not the same.
The main changes are in Velox.

(Fixes: #10317)

How was this patch tested?

This patch was tested by manual tests.

Copy link

github-actions bot commented Aug 1, 2025

Thanks for opening a pull request!

Could you open an issue for this pull request on Github Issues?

https://github.com/apache/incubator-gluten/issues

Then could you also rename commit message and pull request title in the following format?

[GLUTEN-${ISSUES_ID}][COMPONENT]feat/fix: ${detailed message}

See also:

@@ -43,7 +43,7 @@ jobs:
source /opt/rh/gcc-toolset-11/enable
sudo dnf install -y patchelf
git clone -b gluten-0530 https://github.com/bigo-sg/velox4j.git
cd velox4j && git reset --hard 0eb9eef589692dbde953c36ecd2d8f9d3a34a59d
cd velox4j && git reset --hard 7bf3bd14624733230a395306275ccc3bed671b6c
Copy link
Contributor

@zjuwangg zjuwangg Aug 1, 2025

Choose a reason for hiding this comment

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

how about use tag instead of commit hash to track the version.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good idea, we now use a private branch and it does't update with main branch, we can use git tag when after merge with the oap velox.

@PHILO-HE PHILO-HE changed the title [Gluten-10317][FLINK] Support state related operation [GLUTEN-10317][FLINK] Support state related operation Aug 13, 2025
Copy link

#10317

int rowtimeIndex = windowSpecParams.f3;
int windowType = windowSpecParams.f4;
PartitionFunctionSpec sliceAssignerSpec =
new WindowPartitionFunctionSpec(inputType, rowtimeIndex, size, slide, offset, windowType);
Copy link
Member

Choose a reason for hiding this comment

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

I note Flink's window is completely different from Spark SQL's. It would be better to use a better name to easily distinguish in Velox4j and Velox, e.g., StreamWindowPartitionFunctionSpec looks better for clarity than WindowPartitionFunctionSpec. cc @zhztheplayer

Copy link
Contributor

@KevinyhZou KevinyhZou Aug 19, 2025

Choose a reason for hiding this comment

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

It seems the WindowPartitionFunctionSpec is newly added in bigo-sg velox,and it’s specifically for flink to divide the window into different slices by the input time field,and spark window does not need this. and I think it is better to use some name that can be identified as flink specific. @PHILO-HE @shuai-xu

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have rename related classes to begin with Stream, please help to review again.

Copy link
Member

@PHILO-HE PHILO-HE left a comment

Choose a reason for hiding this comment

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

Looks good.

@shuai-xu shuai-xu merged commit be1a83b into apache:main Aug 20, 2025
4 checks passed
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.

[FLINK] Support state for window and agg operator
4 participants