-
Notifications
You must be signed in to change notification settings - Fork 15
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
[FLINK-30064] Move existing Hive connector code from Flink repo to dedicated Hive repo #5
Conversation
Thanks for opening this pull request! Please check out our contributing guidelines. (https://flink.apache.org/contributing/how-to-contribute.html) |
.github/workflows/push_pr.yml
Outdated
@@ -25,4 +25,4 @@ jobs: | |||
compile_and_test: | |||
uses: apache/flink-connector-shared-utils/.github/workflows/ci.yml@ci_utils | |||
with: | |||
flink_version: 1.16.0 | |||
flink_version: 1.19-SNAPSHOT |
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.
Is the externalization based on the code from the release-1.18
branch or master?
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.
initial commit is based on master however let's see if there could be done support for 1.18.0
there are several things which are required to be workaround like FLINK-32620, FLINK-25593 and some others
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.
yes, with last 2 commits 1.18 is supported.
there could be 2 ways: support it for 1.18.0 first only and then apply similar approach to adapt updates from 1.19
or support it for both 1.19 and 1.18 like here
9eeb4d8
to
f706726
Compare
rebased since there were new commits in main flink master to hive-connector area |
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.
Hello Sergey -- sorry this took so long to review! In principle, it looks pretty good, but I have a question about the migration of test utilities from
- flink:
./flink-end-to-end-tests/flink-end-to-end-tests-common/src/main
to - flink-connector-hive:
/flink-connector-hive-e2e-tests/src/main/
- The migrated package is
org.apache.flink.tests.util.flink
but other connectors use the formorg.apache.link.tests.util.kafka
for example. - Just for info, are these utilities unique to the flink Hive connector?
There's some weirdness going on with my local build, where I can't seem to get the docker images in the TestContainers to run, but it's hard to argue with the CI passing! I'm investigating the reason locally.
Thanks for this work!!
These files are necessary for the flink end-to-end test
Cool! @snuyanzin Thanks for the pr. Sorry for the late response for I'm busy with other things. I'll definitely have a look in next week. |
rebased since there were new commits in main flink master to hive-connector area also added archunit violations because of recent commit within FLINK-33637 |
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.
@snuyanzin Thanks for the great work. Overall look good to me assuming ci test pass for Hive2 & Hive3.
flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveTableSinkITCase.java
Show resolved
Hide resolved
@snuyanzin Hi, I also found some pages(https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/hive-compatibility/hive-dialect/overview/ , https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql-gateway/hiveserver2/) in Flink still refer to Hive with internal link. Will we adjust them in the pr of removing Hive connector from flink repo? |
Thanks for the feedback
yep, usually it's happening either with while removal of connector from main repo or together with the first oficial release of externalised connector. |
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.
LGTM
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.
@snuyanzin Thanks for the update. LGTM. Btw, will we also enable test with hive3 nightly just like flink does? I want to make sure we can have a chance to test & verify it with hive3.
Good point. I actually think we should consider running them both for each PR, that should be easier with Hive being externalized. |
agree, makes sense the only solution is to copy paste I will see if it could be supported on a generic way since same functionality would be nice to have for OpenSearch connector |
We could consider adding |
yep, that exactly the idea i'm testing right now =) |
just another note, I noticed that hive3 is tested only for jdk8 in flink nightlies |
Currently it works for hive2 and hive3 (without e2e for jdk11)
as mentioned above under flink main there is no E2E tests for jdk11 as well The PR currently copies at the same time there are 2 PRs for that repo to support customization of jdk version apache/flink-connector-shared-utils#24 and maven profiles apache/flink-connector-shared-utils#29 , these 2 features are used here. Once they are merged and a new release released @luoyuxia , @MartijnVisser please let me know whether you are ok with this or not |
@snuyanzin Cool! Thanks for your work. It sounds good to me. |
I'm reviewing the CI PRs; when they are merged and we can merge this, will we remove the Hive code from Flink's |
thanks a lot for your review
yes, that was the plan, the only question is whether we need a dedicated ML thread for that or since there is already existing jira issue for Hive externalisation, we could just continue with it? Also I would guess we need to release this connector |
…nnector-hive (#23166)
… using Hive dialect This closes #23309
This closes #23370
…iguration parameters) to RichFunction#open(OpenContext openContext) This closes #23058
…e push down contains none-existent partition (#23423)
…tion with Hive dialect
…rs/flink-connector-hive (TableTestBase)
…eTemporalJoinHiveTable nightly CI fails
…rs (StreamingTestBase)
…ban Junit4 for table-planner module This closes #23791.
…onment#toAppendStream
5be7963
to
124d9cf
Compare
After merging of mentioned PRs to flink-connector-shared-utils all related WAs are removed and Also there are a couple of commits to hive connector in main repo, one of which leaded to conflicts. Now they are integrated here as well The PR also enables manual trigger of nightly however it will be possible to trigger this only after merge to main I'm going to merge it soon after the build is green and nightly on my fork is also green |
Awesome work, congrats on your first merged pull request! |
The PR is to move hive connector to external repo
history was taken based on https://cwiki.apache.org/confluence/display/FLINK/Externalized+Connector+development#ExternalizedConnectordevelopment-Githistory