-
Notifications
You must be signed in to change notification settings - Fork 2.8k
[ZEPPELIN-6355] Merge zeppelin-zengine to zeppelin-server #5095
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
base: master
Are you sure you want to change the base?
Conversation
…story) - Moved 11 main packages from zengine to server using git mv - Moved test packages and resources using git mv - All file history preserved (R100% rename detection) - Resolved conflicts: display/AngularObjectBuilder.java, log4j.properties - No code changes, pure refactoring Related to: ZEPPELIN-6345
- Removed dependency on zeppelin-zengine - Added all dependencies from zengine: common, interpreter, jupyter - Added libraries: lucene, guava, jgit, vfs2, eirslett, etc. - Added metrics dependencies: micrometer-core, metrics-healthchecks - Added test dependencies: junit-jupiter-params, jetty test jars - Added resource filtering configuration - Preserved all version properties and exclusions Related to: ZEPPELIN-6345
- Changed dependency from zeppelin-zengine to zeppelin-server - Updated comment about hadoop jar location - Kept provided scope (plugins load into server JVM at runtime) Related to: ZEPPELIN-6345
- Removed dependency on zeppelin-zengine (runtime and test-jar) - Kept dependency on zeppelin-server (runtime and test-jar) - All test utilities now available from zeppelin-server Related to: ZEPPELIN-6345
- Removed dependency on zeppelin-zengine (runtime and test-jar) - Kept dependency on zeppelin-server (runtime and test-jar) - All test utilities now available from zeppelin-server Related to: ZEPPELIN-6345
- Removed <module>zeppelin-zengine</module> from modules list - Code has been merged into zeppelin-server Related to: ZEPPELIN-6345
- Removed mention of zeppelin-zengine from core-modules comment Related to: ZEPPELIN-6345
All code has been moved to zeppelin-server with history preserved. Related to: ZEPPELIN-6345
- Removed test-scoped jetty-server (already available via jetty-webapp transitive) - Removed test-scoped jetty-servlet (already available via jetty-webapp transitive) - These are already provided at compile scope through jetty-webapp Related to: ZEPPELIN-6345
@Reamer could you please check it? We might resolve this issue easier than we think. |
- Moved slf4j-api to correct position (after jakarta.inject-api) - Removed duplicate slf4j-api declaration - Follows original zengine dependency order This fixes NoClassDefFoundError: org/slf4j/LoggerFactory in tests. Related to: ZEPPELIN-6345
…om.xml" This reverts commit 72fcaed.
I looked into the failing Selenium test to find the cause. My working hypothesis is that
Sharing these observations in case they help fix the failing Selenium test. zeppelin/zeppelin-interpreter/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java Line 1037 in 190ecd6
|
There are still some references to |
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.
Thank you very much for the initiative.
We should also include the following exclusion.
diff --git a/zeppelin-server/pom.xml b/zeppelin-server/pom.xml
index ffd14eb1b..37f4b1bb4 100644
--- a/zeppelin-server/pom.xml
+++ b/zeppelin-server/pom.xml
@@ -114,6 +114,11 @@
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</exclusion>
+ <!-- using jcl-over-slf4j instead -->
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
</exclusions>
</dependency>
@@ -195,6 +200,11 @@
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs-client</artifactId>
</exclusion>
+ <!-- using jcl-over-slf4j instead -->
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
</exclusions>
</dependency>
zeppelin-zengine/src/test/java/org/apache/zeppelin/display/AngularObjectBuilder.java
Show resolved
Hide resolved
<dependency> | ||
<groupId>org.apache.commons</groupId> | ||
<artifactId>commons-vfs2-jackrabbit1</artifactId> | ||
<version>${commons.vfs2.version}</version> |
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.
commons-logging
should be excluded, it's done via jcl-over-slf4j
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.
Thank you for pointing out. I'll handle it soon. Moreover, we have an issue related to logging library and I will solve it as well.
…erver in various files
How about switching to the unshaded |
@tbonelee |
On the official site, the only reference I could find is the Javadoc link for the type used by the I skimmed the code and initially assumed rawString was an option to exclude string literals in .java files from being shaded (https://github.com/apache/maven-shade-plugin/blob/073e7ca970c15a8cae64e2de9517fe8d471b5373/src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java#L217). I only tried the rawString option to quickly check whether our test failures were caused by shading string literals in java code, so I didn’t investigate it more rigorously. However, looking at the issue where this option was introduced (https://issues.apache.org/jira/projects/MSHADE/issues/MSHADE-104?filter=allissues) and re-read the whole code of I’ve struck through my earlier explanation about |
Quick question with limited context. Why is |
In my opinion, we should split this up. ZeppelinConfiguration belongs to the Zeppelin server, and the Zeppelin interpreter should really only work on a HashMap with ConfigKey and ConfigValue. The entire loading of the configuration and possibly also a reload should all belong to the server. Currently, the Zeppelin server transmits the configuration from the server to the remote interpreter when it starts up. See Lines 202 to 207 in a03dcbc
|
What is this PR for?
This PR merges the
zeppelin-zengine
module intozeppelin-server
to simplify the project architecture. The zengine module contained core engine functionality for notebook management, paragraph execution, and interpreter management, which is tightly coupled with the server. This merge reduces build complexity while preserving all git history usinggit mv
for file movements.What type of PR is it?
Refactoring
Todos
./mvnw clean package
What is the Jira issue?
How should this be tested?
Screenshots (if appropriate)
Questions: