-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
test: Add IPPREFIX to the velox fuzzer test #11209
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for meta-velox canceled.
|
7532398
to
015dcd1
Compare
015dcd1
to
878388f
Compare
#11481 is landed, this looks good! We can merge this |
@yuandagits has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mohsaka this actually won't work because the ExpressionFuzzer is used by by SparkExpressionFuzzer and Spark may have different (or not even use ipprefix).
Instead we should add these special forms in ExpressionFuzzerTest since that is where it is registering the prestoSql scalar functions.
cc @kagamiori for more on fuzzers
Will fix it. Thanks! |
@yuandagits I actually think something else changed as the velox fuzzer itself doesn't even work anymore.
Will figure it out. |
It is coz of initialization order of a static map. Try rebasing off of #11770, then it shall work! |
7f730c7
to
2ec9cc0
Compare
Thanks! That helped out. Seems like I missed adding the type to the validation as well. Added that. Everything looks good from the runs so far. |
One of the test failures look to be from #11702, which is unrelated to this diff. Once all signals are green, I can try to import again. Thanks! |
@yuandagits has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
I tried re-importing this but it causes a circular dependency issue because we're now depending on the the velox expression lib which depends on the lib containing velox/functions/prestosql/types/*, which has dependencies that then depend on the velox expression lib :(. Another thing is, I get we're adding the Do we instead want to update how SparkExpressionFuzzer or is this actually okay? cc @Yuhta @kagamiori who may have better opinion on this |
From what I understand So maybe we need to add something like
to that. Will need to figure out something for the circular dependency though. |
@yuandagits Actually I am unable to fix this circular dependency. Interestingly it doesn't throw any error when I compile it. The main reason is that we need to override the cast operator. The other types Decimal/Date are under Type.h though. With their compare functions in velox/expression/CastExpr.cpp. I guess there's a reason none of the types under prestosql/types have had their cast functions added. Ex timestamp W timezone. Any ideas? |
Let me think more on this and get back to you! |
@yuandagits Not ideal but I just put IPPREFIX name constant at the top and compare that way. Also added the skip for the cast ipprefix functions. Lets see how that goes. |
f4562af
to
7c63ed8
Compare
@yuandagits I had a discussion with @czentgr about the circular dependency issue. We were wondering about the error hit.
|
The error was from buck, our internal build system I think with our internal build mode for testing, it is not shared. Maybe your build is static? Not sure about adding the custom string, I'm fundamentally not opposed to it, but it does seem a bit hacky to have a custom solution. Maybe we can Look into separating the cast operator into its own lib. |
Thank you for the update! Will begin looking into and working on the separated operator to see if it will work out. |
92156d8
to
c24ee31
Compare
c24ee31
to
8a8c220
Compare
@yuandagits Lets see if this will work? I removed the header files from Ideally this should result in a dependency from I may need to place it outside of All the other custom types headers can be added later as well. |
Let's hold off on this PR for a bit, coz I realize I will still need to change the libs internally for the mapping of the new files you've created. In parallel, I'll also try to think of an alternative way to break this dependency or a way to skip the functions |
Adds IPPREFIX type to the velox fuzzer test. Part 2 of the 3 part split requested here.
#10816 (comment)
Cannot be merged until until the cast functions are added otherwise fuzzer will fail.
Contains changes from
#11122
To add the type without cast functions.
Example failure from the fuzzer