-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
A Transform Service that uses Docker Compose #26023
A Transform Service that uses Docker Compose #26023
Conversation
Codecov Report
@@ Coverage Diff @@
## master #26023 +/- ##
==========================================
- Coverage 72.06% 72.06% -0.01%
==========================================
Files 745 745
Lines 101203 101203
==========================================
- Hits 72932 72928 -4
- Misses 26811 26815 +4
Partials 1460 1460
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 4 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
faeb84f
to
e04c687
Compare
e04c687
to
d22665d
Compare
Assigning reviewers. If you would like to opt out of this review, comment R: @AnandInguva for label python. Available commands:
The PR bot will only process comments in the main thread (not review comments). |
R: @robertwb |
Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control |
Tested by running both following pipelines against the same transform service.
|
Run Java PreCommit |
Run Java_GCP_IO_Direct PreCommit |
@robertwb friendly ping. Please note that I hope to add some advanced features (for example, sharing auth credentials between the local machine and the Docker containers) in future PRs. |
5f000ba
to
653be3a
Compare
Run Java PreCommit |
Run Spotless PreCommit |
aa5a310
to
56f9663
Compare
Also added support for sharing credentials between the local machine and the expansion service containers. |
Run Java PreCommit |
1 similar comment
Run Java PreCommit |
transform-service/controller/go.mod
Outdated
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.
If the goal is to keep the released instance of this service in sync with released beam, then you do not want to create a new Go module at this level (the go.mod and go.sum files.)
Otherwise this becomes another thing to try and keep up to date.
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.
Ack. Probably we can push the transform service under "sdks/java" to avoid adding a new Go module.
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.
These files were removed.
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. Just have a few minor comments (see above). Validated the command ./gradlew :sdks:java:transform-service:controller-container:docker
running successfully on linux amd64.
Note: On apple M1 it fails with
#9 ERROR: "/target/launcher/linux_amd64/boot" not found: not found
------
> [6/9] COPY target/launcher/linux_amd64/boot /opt/apache/beam/:
------
failed to compute cache key: "/target/launcher/linux_amd64/boot" not found: not found
because the generated image was in target/launcher/linux_arm64/boot
13766b5
to
8205d0b
Compare
Thanks. Updated to support both amd64 and arm64. |
Run Java PreCommit |
Run Spotless PreCommit |
Run Community Metrics Prober |
Run CommunityMetrics PreCommit |
Run Java_GCP_IO_Direct PreCommit |
Run Java_Pulsar_IO_Direct PreCommit |
Run Java_Amazon-Web-Services_IO_Direct PreCommit |
Run Java_Amazon-Web-Services2_IO_Direct PreCommit |
* A Transform Service that uses Docker Compose * Adds supports for the Python expansion service * Fix spotless and remove unused config file * Fix spotless * Add licenses * Fix spotless and adds code to copy licenses to Docker containers * Fix checkstyle and artifact request forwarding * Adding unit tests for the controller * Adds support for specifying credentials via a volume * Rebasing to fix test failures * Use correct dependencies for Schema-aware transforms * Addreses reviewer comments * Addressing reviewer comments
A Docker Compose based transform service
This can be started to use portable transforms offered by Beam. Additionally this can be used to discover schema-aware transforms available in Beam.
After containers are released, this service can be started up by any Beam user with following steps:
Install Docker
Set environment variable BEAM_VERSION to the Beam version.
Run following from the directory that contains the docker-compose.yml file
$ docker-compose up
Now the transforms service will be available at "<IP of the current machine>:5001"
Please see https://s.apache.org/beam-transform-service for the design.
Github issue: #26211
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
addresses #123
), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, commentfixes #<ISSUE NUMBER>
instead.CHANGES.md
with noteworthy changes.See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)
See CI.md for more information about GitHub Actions CI.