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

[NU-1777] Separate classloader for deployment managers #7335

Open
wants to merge 94 commits into
base: staging
Choose a base branch
from

Conversation

coutoPL
Copy link
Member

@coutoPL coutoPL commented Dec 13, 2024

Describe your changes

  • deployment managers have a separate class loader (the Application ClassLoader is no longer used to load their classe
  • deployment manager class loader is a parent for the model class loader
  • you can configure paths for deployment managers using the managersDirs config setting
  • removed unused env used at the SBT level (includeFlinkAndScala)
  • new E2E test (example R-R scenario)

Checklist before merge

  • Related issue ID is placed at the beginning of PR title in [brackets] (can be GH issue or Nu Jira issue)
  • Code is cleaned from temporary changes and commented out lines
  • Parts of the code that are not easy to understand are documented in the code
  • Changes are covered by automated tests
  • Showcase in dev-application.conf added to demonstrate the feature
  • Documentation added or updated
  • Added entry in Changelog.md describing the change from the perspective of a public distribution user
  • Added MigrationGuide.md entry in the appropriate subcategory if introducing a breaking change
  • Verify that PR will be squashed during merge

@github-actions github-actions bot added the docs label Dec 13, 2024
@github-actions github-actions bot added client client main fe ui labels Dec 14, 2024
@coutoPL coutoPL marked this pull request as ready for review December 16, 2024 08:58
@@ -438,7 +456,8 @@ def assemblySettings(
includeScala: Boolean,
filterProvidedDeps: Boolean = true
): List[Def.SettingsDefinition] = {
// This work around need to be optional because for designer module it causes excluding of scala lib (because we has there other work around for Idea classpath and provided deps)
// This work around need to be optional because for designer module it causes excluding of scala lib
// (because we have there other work around for Idea classpath and provided deps)
Copy link
Member

Choose a reason for hiding this comment

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

Is it still relevant?

Copy link
Member Author

Choose a reason for hiding this comment

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

TBH I'm not sure what exact problem was solved this way and how to check if my change outdated it.

Copy link
Member

Choose a reason for hiding this comment

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

I see that false was passed only for designer assembly. It looks like we have a fat jar for designer. I don't know if someone uses it :) but ... The only provided dependencies of designer where DMs so the default filterProvidedDeps = true should work the same so we can remove this condition

build.sbt Outdated Show resolved Hide resolved
@@ -125,8 +128,6 @@ case class ClassLoaderModelData private (
override val additionalConfigsFromProvider: Map[DesignerWideComponentId, ComponentAdditionalConfig],
// This property is for easier testing when for some reason, some jars with ComponentProvider are
// on the test classpath and CPs collide with other once with the same name.
// E.g. we add liteEmbeddedDeploymentManager as a designer provided dependency which also
Copy link
Member

Choose a reason for hiding this comment

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

I would remove these functions now and whole comment block

Copy link
Member Author

Choose a reason for hiding this comment

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

I wanted to remove it but there is still some problem with ProcessConfigCreator implementations. Nevertheless, the lite Embedded deployment manager is not the problem anymore.

build.sbt Show resolved Hide resolved
build.sbt Outdated Show resolved Hide resolved
build.sbt Outdated Show resolved Hide resolved
@mk-software-pl mk-software-pl changed the base branch from refactoring/NU-1777_nu_runtime_app to staging January 15, 2025 08:44
@github-actions github-actions bot removed ui client client main fe labels Jan 17, 2025
@github-actions github-actions bot added client client main fe ui labels Jan 20, 2025
@github-actions github-actions bot removed ui client client main fe labels Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants