[ZEPPELIN-6355] Merge zeppelin-zengine to zeppelin-server#5095
[ZEPPELIN-6355] Merge zeppelin-zengine to zeppelin-server#5095jongyoul wants to merge 16 commits intoapache:masterfrom
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. |
|
There are still some references to |
Reamer
left a comment
There was a problem hiding this comment.
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.
commons-logging should be excluded, it's done via jcl-over-slf4j
There was a problem hiding this comment.
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 |
|
@jongyoul |
|
@seung-00 Thank you! It's also a blocker for your work, and I'd be happy for you to help solve it. |


What is this PR for?
This PR merges the
zeppelin-zenginemodule intozeppelin-serverto 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 mvfor file movements.What type of PR is it?
Refactoring
Todos
./mvnw clean packageWhat is the Jira issue?
How should this be tested?
Screenshots (if appropriate)
Questions: