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

refactor(GMS): migrate GMS to Spring boot #12389

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

david-leifker
Copy link
Collaborator

Significant refactor of GMS into a Spring Boot application instead of a Spring web application running in jetty.

  • GMS: Migrate GMS Spring WebApp -> Spring Boot (embedded jetty 12)
    • Removed jetty 11
    • Removed jetty-runner
  • Spring WebMvc endpoints are the default, Rest.li endpoints are secondary
  • Refactor kafka consumers startup
  • GMS with all embedded consumers startup <40s
  • Neo4j upgraded
  • Dgraph upgraded
2025-01-18 22:00:05 
2025-01-18 22:00:05   .   ____          _            __ _ _
2025-01-18 22:00:05  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
2025-01-18 22:00:05 ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
2025-01-18 22:00:05  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
2025-01-18 22:00:05   '  |____| .__|_| |_|_| |_\__, | / / / /
2025-01-18 22:00:05  =========|_|==============|___/=/_/_/_/
2025-01-18 22:00:05  :: Spring Boot ::                (v3.2.9)
2025-01-18 22:00:05 
2025-01-18 22:00:05 2025-01-19 04:00:05,787 [background-preinit] INFO  o.h.validator.internal.util.Version:21 - HV000001: Hibernate Validator 8.0.1.Final
2025-01-18 22:00:06 2025-01-19 04:00:06,219 [main] INFO  com.linkedin.gms.GMSApplication:50 - Starting GMSApplication vv0.15.0rc6-SNAPSHOT using Java 17.0.13 with PID 20 (/datahub/datahub-gms/bin/war.war started by datahub in /)
2025-01-18 22:00:06 2025-01-19 04:00:06,220 [main] INFO  com.linkedin.gms.GMSApplication:654 - No active profile set, falling back to 1 default profile: "default"
2025-01-18 22:00:14 2025-01-19 04:00:14,283 [main] INFO  o.s.b.w.e.j.JettyServletWebServerFactory:176 - Server initialized with port: 8080
2025-01-18 22:00:14 2025-01-19 04:00:14,470 [main] INFO  org.eclipse.jetty.server.Server:553 - jetty-12.0.16; built: 2024-12-09T21:02:54.535Z; git: c3f88bafb4e393f23204dc14dc57b042e84debc7; jvm 17.0.13+11-alpine-r0

Checklist

  • The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
  • Links to related issues (if applicable)
  • Tests for the changes have been added/updated (if applicable)
  • Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
  • For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Copy link

codecov bot commented Jan 19, 2025

Codecov Report

Attention: Patch coverage is 48.17814% with 128 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
.../src/main/java/com/linkedin/gms/ServletConfig.java 0.00% 51 Missing ⚠️
...ransport/http/server/AbstractJakartaR2Servlet.java 69.23% 18 Missing and 6 partials ⚠️
...java/com/linkedin/gms/CommonApplicationConfig.java 0.00% 14 Missing ⚠️
...kedin/metadata/boot/OnBootApplicationListener.java 0.00% 8 Missing ⚠️
...b-frontend/app/security/AuthenticationManager.java 0.00% 7 Missing ⚠️
...th/authentication/filter/AuthenticationFilter.java 76.00% 5 Missing and 1 partial ⚠️
...src/main/java/com/linkedin/gms/GMSApplication.java 0.00% 4 Missing ⚠️
...enapi/config/GlobalControllerExceptionHandler.java 0.00% 3 Missing ⚠️
...n/gms/factory/kafka/KafkaEventConsumerFactory.java 0.00% 2 Missing ⚠️
...tadata/boot/steps/IngestRetentionPoliciesStep.java 81.81% 1 Missing and 1 partial ⚠️
... and 5 more
Files with missing lines Coverage Δ
...in/metadata/kafka/DataHubUsageEventsProcessor.java 0.00% <ø> (ø)
...edin/metadata/kafka/MCLKafkaListenerRegistrar.java 89.47% <100.00%> (ø)
...java/com/datahub/event/PlatformEventProcessor.java 0.00% <ø> (ø)
...hub/auth/authentication/AuthServiceController.java 11.00% <ø> (ø)
.../gms/factory/kafka/SimpleKafkaConsumerFactory.java 90.47% <100.00%> (+0.47%) ⬆️
...ctory/kafka/common/KafkaInitializationManager.java 100.00% <100.00%> (ø)
.../factories/IngestRetentionPoliciesStepFactory.java 0.00% <ø> (ø)
...tadata/boot/kafka/DataHubUpgradeKafkaListener.java 0.00% <ø> (ø)
...ta/boot/steps/IngestDefaultGlobalSettingsStep.java 87.03% <100.00%> (ø)
...datahubproject/openapi/config/SpringWebConfig.java 97.10% <100.00%> (+33.57%) ⬆️
... and 33 more

... and 4 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 262dd76...ba2bb60. Read the comment docs.

* GMS: Migrate GMS Spring WebApp -> Spring Boot (embedded jetty 12)
* Spring WebMvc endpoints are the default, Rest.li endpoints are secondary
* Removed jetty 11
* Refactor kafka consumers startup
* GMS with all embedded consumers startup <40s
* Neo4j upgraded
* Dgraph upgraded
Copy link
Collaborator

@esteban esteban left a comment

Choose a reason for hiding this comment

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

I gave it a first pass and changes are reasonable, lets get the PR so we can move forward with any other change that might be necessary. Thanks @david-leifker!

@datahub-cyborg datahub-cyborg bot added pending-submitter-merge and removed pending-submitter-response Issue/request has been reviewed but requires a response from the submitter labels Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pending-submitter-merge release-1.0 PRs targeted to Release 1.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants