Skip to content

[ZEPPELIN-6355] Merge zeppelin-zengine to zeppelin-server#5095

Open
jongyoul wants to merge 10 commits intoapache:masterfrom
jongyoul:ZEPPELIN-6345
Open

[ZEPPELIN-6355] Merge zeppelin-zengine to zeppelin-server#5095
jongyoul wants to merge 10 commits intoapache:masterfrom
jongyoul:ZEPPELIN-6345

Conversation

@jongyoul
Copy link
Copy Markdown
Member

@jongyoul jongyoul commented Oct 4, 2025

What is this PR for?

This PR merges the zeppelin-zengine module into zeppelin-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 using git mv for file movements.

Note: The previous blocker (maven-shade-plugin corrupting ZeppelinConfiguration string literals) has been resolved by ZEPPELIN-6400, which moved ZeppelinConfiguration out of zeppelin-interpreter into zeppelin-zengine and replaced interpreter-side usage with Properties-based configuration.

What type of PR is it?

Refactoring

Todos

  • Move all source files from zeppelin-zengine to zeppelin-server using git mv (192 files)
  • Merge zengine dependencies into zeppelin-server pom.xml
  • Update zeppelin-plugins to depend on zeppelin-server instead of zeppelin-zengine
  • Update zeppelin-interpreter-integration dependencies
  • Update zeppelin-integration dependencies
  • Remove zeppelin-zengine module from root pom.xml
  • Update shell scripts (bin/.sh, bin/.cmd)
  • Update GitHub Actions workflows
  • Remove zeppelin-zengine directory
  • Update documentation and code references
  • Add commons-logging exclusions (per reviewer feedback)
  • Verify CI passes

What is the Jira issue?

How should this be tested?

  • CI

Screenshots (if appropriate)

Questions:

  • Does the license files need to update? No
  • Is there breaking changes for older versions? No
  • Does this needs documentation? No

@jongyoul jongyoul changed the title [ZEPPELIN-6345] Merge zeppelin-zengine to zeppelin-server [ZEPPELIN-6355] Merge zeppelin-zengine to zeppelin-server Oct 4, 2025
@jongyoul
Copy link
Copy Markdown
Member Author

jongyoul commented Oct 4, 2025

@Reamer could you please check it? We might resolve this issue easier than we think.

@tbonelee
Copy link
Copy Markdown
Contributor

tbonelee commented Oct 5, 2025

I looked into the failing Selenium test to find the cause.

My working hypothesis is that maven-shade-plugin is rewriting a string-literal, the default value of ZEPPELIN_CONFIG_STORAGE_CLASS inside zeppelin-interpreter's ZeppelinConfiguration. I didn't directly inspect the effective classpath, but the behavior suggests that when the shaded class is resolved first, the rewritten default appears, and when the original class is resolved first the unmodified default remains. This inference comes from the two checks below.

1. Shade raw-string check : Adding <rawString>true</rawString> in the relocation option makes the ZEPPELIN_CONFIG_STORAGE_CLASS default value to remain as the original literal value.
2. Classpath order check : Reordering dependencies so that zeppelin-server appears before spark-interpreter also gives the same result as 1. Before the zengine and server merge, the zeppelin-zengine dependency also appeared before spark-interpreter.

Sharing these observations in case they help fix the failing Selenium test.

@tbonelee
Copy link
Copy Markdown
Contributor

tbonelee commented Oct 6, 2025

There are still some references to zeppelin-zengine left in the shell scripts under /bin.
(e.g., https://github.com/jongyoul/zeppelin/blob/5cc2196bf7afc172cf6f9f7d7cc5f64f9f70b31b/bin/interpreter.sh#L115)

Copy link
Copy Markdown
Contributor

@Reamer Reamer left a 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>
 

Comment thread zeppelin-server/pom.xml
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-vfs2-jackrabbit1</artifactId>
<version>${commons.vfs2.version}</version>
Copy link
Copy Markdown
Contributor

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

Copy link
Copy Markdown
Member Author

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.

@tbonelee
Copy link
Copy Markdown
Contributor

tbonelee commented Oct 15, 2025

How about switching to the unshaded ZeppelinConfiguration as in this commit? (2. from my previous comment.) Maybe rawString fixes some cases, but by skipping required shaded classes it creates new issues.
It seems to fix all the failing jobs, though I'd prefere a more explicit fix if possible.
(Failed E2E test was fixed in other PR)
image
image

@Reamer
Copy link
Copy Markdown
Contributor

Reamer commented Oct 15, 2025

@tbonelee
Have you found any good documentation regarding rawString?

@tbonelee
Copy link
Copy Markdown
Contributor

On the official site, the only reference I could find is the Javadoc link for the type used by the <relocations> property (https://maven.apache.org/components/plugins/maven-shade-plugin/apidocs/org/apache/maven/plugins/shade/relocation/SimpleRelocator.html), which doesn’t provide much detail.

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 SimpleRelocator, the primary intent seems to be treating patterns as regex. If that’s the case, a pattern like com.google would be interpreted as a regex, which could lead to unexpected relocations.

I’ve struck through my earlier explanation about rawString since it was inaccurate. Sorry about that.

@tbonelee
Copy link
Copy Markdown
Contributor

Quick question with limited context. Why is ZeppelinConfiguration in the zeppelin-interpreter module? It looks like a general configuration class, so I wondered why it lives under interpreter. Because it sits in zeppelin-interpreter, it gets shaded and tends to be used first, which might relate to the failing tests. If it’s reasonable, would moving ZeppelinConfiguration to a more general module be a better fit and also resolve the tests?

@Reamer
Copy link
Copy Markdown
Contributor

Reamer commented Oct 16, 2025

Why is ZeppelinConfiguration in the zeppelin-interpreter module?

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

public void init(Map<String, String> properties) throws InterpreterRPCException, TException {
this.zConf = ZeppelinConfiguration.load();
for (Map.Entry<String, String> entry : properties.entrySet()) {
this.zConf.setProperty(entry.getKey(), entry.getValue());
}

@seung-00
Copy link
Copy Markdown
Contributor

seung-00 commented Jan 1, 2026

@jongyoul
Hi, It seems this PR has been inactive for some time. If you’re okay with it, I’d be happy to take over and continue the work.

@jongyoul
Copy link
Copy Markdown
Member Author

jongyoul commented Jan 2, 2026

@seung-00 Thank you! It's also a blocker for your work, and I'd be happy for you to help solve it.

jongyoul added 9 commits April 4, 2026 15:30
…story)

- Moved 12 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 (kept server copy), log4j.properties (kept server version)
- No code changes, pure refactoring
- 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
- Added resource filtering configuration
- Added java.io.tmpdir system property to surefire config
- Added commons-logging exclusions per reviewer feedback
- Preserved all version properties and exclusions
- Changed dependency from zeppelin-zengine to zeppelin-server
- Updated comment about hadoop jar location
- Kept provided scope (plugins load into server JVM at runtime)
- Fixed typo in comment (interprerter -> interpreter)
- 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
- Removed dependency on zeppelin-zengine (test and test-jar)
- Kept dependency on zeppelin-server (test and test-jar)
- All test utilities now available from zeppelin-server
- Removed <module>zeppelin-zengine</module> from modules list
- Code has been merged into zeppelin-server
- Removed zeppelin-zengine classpath entries from zeppelin.sh, zeppelin-daemon.sh, zeppelin.cmd
- Updated zeppelin-zengine to zeppelin-server in stop-interpreter.sh, install-interpreter.sh, interpreter.sh, interpreter.cmd
- Updated GitHub Actions workflow comment
All code has been moved to zeppelin-server with history preserved.
…erver

- Updated docs: how_to_contribute_code.md, writing_zeppelin_interpreter.md, writing_visualization_basic.md
- Updated DependencyResolver.java: removed zeppelin-zengine from exclusions
- Updated InterpreterFactoryInterface.java: comment update
- Updated Message.java: comment update
- Updated RemoteInterpreterTest.java: test resource paths
Copilot AI review requested due to automatic review settings April 4, 2026 06:37
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR merges the zeppelin-zengine module into zeppelin-server to simplify the build/module structure, updating downstream dependencies, scripts, and test resources accordingly while removing zeppelin-zengine from the multi-module Maven build.

Changes:

  • Moves core engine/server code and test assets from zeppelin-zengine into zeppelin-server and removes the zeppelin-zengine module.
  • Updates Maven dependencies (plugins/integration modules) and documentation to reference zeppelin-server instead of zeppelin-zengine.
  • Updates runtime scripts and CI workflow definitions to stop referencing zeppelin-zengine build outputs.

Reviewed changes

Copilot reviewed 17 out of 213 changed files in this pull request and generated no comments.

Show a summary per file
File Description
zeppelin-zengine/src/test/resources/log4j.properties Removes zengine test logging config as part of module removal.
zeppelin-zengine/src/test/java/org/apache/zeppelin/display/AngularObjectBuilder.java Removes zengine test helper as part of module removal.
zeppelin-zengine/.gitignore Removes zengine module ignore rules as part of module removal.
zeppelin-server/src/test/resources/note Adds note JSON fixture under server tests.
zeppelin-server/src/test/resources/list_of_notes Adds notes listing JSON fixture under server tests.
zeppelin-server/src/test/resources/interpreter/test/interpreter-setting.json Adds interpreter-setting test fixture under server tests.
zeppelin-server/src/test/resources/interpreter/mock2/interpreter-setting.json Adds mock interpreter-setting fixture under server tests.
zeppelin-server/src/test/resources/interpreter/mock1/interpreter-setting.json Adds mock interpreter-setting fixture under server tests.
zeppelin-server/src/test/resources/interpreter/mock_resource_pool/interpreter-setting.json Adds resource-pool mock interpreter-setting fixture under server tests.
zeppelin-server/src/test/resources/interpreter/config_test/interpreter-setting.json Adds interpreter config test fixture under server tests.
zeppelin-server/src/test/resources/helium/vis2/vis2.js Adds helium visualization test bundle fixture (intentionally broken).
zeppelin-server/src/test/resources/helium/vis2/package.json Adds helium visualization test package manifest.
zeppelin-server/src/test/resources/helium/vis1/vis1.js Adds helium visualization test bundle fixture.
zeppelin-server/src/test/resources/helium/vis1/package.json Adds helium visualization test package manifest.
zeppelin-server/src/test/resources/flink-conf.yaml Adds/moves flink test config fixture into server tests.
zeppelin-server/src/test/resources/bin/interpreter_timeout.sh Adds interpreter runner timeout script fixture for tests.
zeppelin-server/src/test/resources/bin/interpreter_invalid.sh Adds interpreter runner error script fixture for tests.
zeppelin-server/src/test/resources/2BQA35CJZ/note.json Adds a full note JSON fixture for tests.
zeppelin-server/src/test/java/org/apache/zeppelin/util/UtilTest.java Adds Util-related tests to server module.
zeppelin-server/src/test/java/org/apache/zeppelin/user/EncryptorTest.java Adds Encryptor tests to server module.
zeppelin-server/src/test/java/org/apache/zeppelin/user/CredentialsTest.java Adds Credentials tests to server module.
zeppelin-server/src/test/java/org/apache/zeppelin/storage/LocalConfigStorageTest.java Adds LocalConfigStorage/FileUtils atomic write tests.
zeppelin-server/src/test/java/org/apache/zeppelin/plugin/PluginManagerTest.java Adds PluginManager loading test to server module.
zeppelin-server/src/test/java/org/apache/zeppelin/notebook/repo/mock/VFSNotebookRepoMock.java Adds VFS notebook repo mock for tests.
zeppelin-server/src/test/java/org/apache/zeppelin/notebook/CredentialInjectorTest.java Adds tests for credential injection/hiding.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/SleepInterpreter.java Adds sleep interpreter used for remote-process tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/SessionConfInterpreterTest.java Adds SessionConfInterpreter tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterTest.java Updates test resource paths from zengine to server.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/remote/mock/MockInterpreterOutputStream.java Adds mock interpreter for output stream tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/remote/mock/MockInterpreterAngular.java Adds mock interpreter for angular object tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/remote/mock/MockInterpreterA.java Adds general-purpose mock interpreter for tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/remote/mock/GetEnvPropertyInterpreter.java Adds env/property getter mock interpreter for tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/remote/mock/GetAngularObjectSizeInterpreter.java Adds angular object size mock interpreter for tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/mock/MockInterpreter2.java Adds mock interpreter implementation used in tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/mock/MockInterpreter1.java Adds mock interpreter implementation used in tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/ManagedInterpreterGroupTest.java Adds ManagedInterpreterGroup behavioral tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncherTest.java Adds StandardInterpreterLauncher tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/launcher/InterpreterLauncherTest.java Adds escapeSpecialCharacter test.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/InterpreterFactoryTest.java Adds InterpreterFactory selection tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/install/InstallInterpreterTest.java Adds install-interpreter functionality tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/EchoInterpreter.java Adds echo interpreter used in tests.
zeppelin-server/src/test/java/org/apache/zeppelin/interpreter/DoubleEchoInterpreter.java Adds double-echo interpreter used in tests.
zeppelin-server/src/test/java/org/apache/zeppelin/helium/HeliumTestRegistry.java Adds test registry implementation for Helium tests.
zeppelin-server/src/test/java/org/apache/zeppelin/helium/HeliumTestApplication.java Adds test application implementation for Helium tests.
zeppelin-server/src/test/java/org/apache/zeppelin/helium/HeliumOnlineRegistryTest.java Adds Helium online registry timeout behavior test.
zeppelin-server/src/test/java/org/apache/zeppelin/helium/HeliumLocalRegistryTest.java Adds Helium local registry behavior test.
zeppelin-server/src/main/resources/helium/webpack.config.js Adds/moves Helium webpack config into server resources.
zeppelin-server/src/main/resources/helium/package.json Adds/moves Helium package template into server resources.
zeppelin-server/src/main/java/org/apache/zeppelin/util/WatcherSecurityKey.java Adds watcher security key utility in server module.
zeppelin-server/src/main/java/org/apache/zeppelin/util/ReflectionUtils.java Adds reflection utilities used for instantiation by class name.
zeppelin-server/src/main/java/org/apache/zeppelin/util/FileUtils.java Adds atomic file write/read utilities in server module.
zeppelin-server/src/main/java/org/apache/zeppelin/user/Encryptor.java Adds Encryptor implementation in server module.
zeppelin-server/src/main/java/org/apache/zeppelin/user/CredentialsInfoSaving.java Adds JSON-serializable credentials saving helper.
zeppelin-server/src/main/java/org/apache/zeppelin/storage/LocalConfigStorage.java Adds local filesystem config storage implementation.
zeppelin-server/src/main/java/org/apache/zeppelin/storage/ConfigStorage.java Adds config storage abstraction and factory method.
zeppelin-server/src/main/java/org/apache/zeppelin/search/NoSearchService.java Adds no-op SearchService implementation for server.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/utility/IdHashes.java Adds tiny ID generation utility.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/socket/WatcherMessage.java Adds watcher websocket message model.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/scheduler/ZeppelinCronJobTriggerListerner.java Adds cron trigger veto logic to avoid overlapping executions.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/scheduler/SchedulerService.java Adds scheduler service interface abstraction.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/scheduler/NoSchedulerService.java Adds no-op scheduler service implementation.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/scheduler/MetricCronJobListener.java Adds cron job Micrometer timing/metric listener.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/scheduler/CronJob.java Adds Quartz cron job execution logic for notes.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoWithVersionControl.java Adds version-control notebook repo interface.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoWithSettings.java Adds settings wrapper model for notebook repo UI.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSettingsInfo.java Adds notebook repo settings DTO model.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/AbstractNotebookRepo.java Adds base notebook repo implementation skeleton.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/ParagraphRuntimeInfo.java Adds paragraph runtime info holder.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/ParagraphJobListener.java Adds paragraph job listener interface.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/OldNoteInfo.java Adds backward-compatible note info model.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/NoteParser.java Adds note parsing interface.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/NoteJsonExclusionStrategy.java Adds Gson exclusion strategy for note/paragraph fields.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/NoteInfo.java Adds note metadata model (id/path).
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/NoteEventListener.java Adds note/paragraph event listener interface.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/NotebookImportDeserializer.java Adds import date deserializer for multiple formats.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/NotebookAuthorizationInfoSaving.java Adds notebook authorization persistence model.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/GsonNoteParser.java Adds Gson-backed note parser implementation.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/exception/NotePathAlreadyExistsException.java Adds note path conflict exception type.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/exception/CorruptedNoteException.java Adds corrupted note exception type.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/CredentialInjector.java Adds credential replacement/hiding logic for paragraphs.
zeppelin-server/src/main/java/org/apache/zeppelin/notebook/ApplicationState.java Adds notebook application state model.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/SessionConfInterpreter.java Adds session-scoped interpreter configuration interpreter.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterRunningProcess.java Adds client for connecting to already-running remote interpreter processes.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessListener.java Adds remote interpreter process listener interface.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteAngularObjectRegistry.java Adds remote angular object registry proxy.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteAngularObject.java Adds remote angular object proxy.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/remote/AppendOutputBuffer.java Adds output append buffer model.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/recovery/StopInterpreter.java Adds CLI utility to stop interpreters during recovery scenarios.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/recovery/RecoveryUtils.java Adds recovery metadata encode/decode utilities.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/recovery/RecoveryStorage.java Adds recovery storage abstraction and init logic.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/recovery/NullRecoveryStorage.java Adds no-op recovery storage implementation.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/recovery/LocalRecoveryStorage.java Adds local filesystem recovery storage implementation.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/recovery/FileSystemRecoveryStorage.java Adds Hadoop FS-based recovery storage implementation.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncher.java Adds standard shell-based interpreter launcher.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/launcher/InterpreterLauncher.java Adds launcher base class and recovery-aware launch logic.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/launcher/InterpreterLaunchContext.java Adds interpreter launch context value object.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/launcher/InterpreterClient.java Adds interpreter client interface abstraction.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/InterpreterInfo.java Adds interpreter info DTO used in settings serialization.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java Adds interpreter lookup factory implementation.
zeppelin-server/src/main/java/org/apache/zeppelin/interpreter/ConfInterpreter.java Adds interpreter config customization interpreter.
zeppelin-server/src/main/java/org/apache/zeppelin/helium/WebpackResult.java Adds webpack JSON output parsing model.
zeppelin-server/src/main/java/org/apache/zeppelin/helium/NpmPackage.java Adds package.json parsing model.
zeppelin-server/src/main/java/org/apache/zeppelin/helium/HeliumRegistrySerializer.java Adds gson serializer/deserializer for registries.
zeppelin-server/src/main/java/org/apache/zeppelin/helium/HeliumRegistry.java Adds Helium registry base abstraction.
zeppelin-server/src/main/java/org/apache/zeppelin/helium/HeliumPackageSuggestion.java Adds suggestion container for Helium packages.
zeppelin-server/src/main/java/org/apache/zeppelin/helium/HeliumPackageSearchResult.java Adds Helium search result DTO.
zeppelin-server/src/main/java/org/apache/zeppelin/helium/HeliumLocalRegistry.java Adds local filesystem Helium registry implementation.
zeppelin-server/src/main/java/org/apache/zeppelin/helium/HeliumConf.java Adds Helium configuration persistence model.
zeppelin-server/src/main/java/org/apache/zeppelin/healthcheck/HealthChecks.java Adds readiness/liveness registry holder.
zeppelin-server/src/main/java/org/apache/zeppelin/healthcheck/HdfsHealthCheck.java Adds HDFS health check implementation.
zeppelin-server/src/main/java/org/apache/zeppelin/healthcheck/DummyHealthCheck.java Adds dummy health check implementation.
zeppelin-server/src/main/java/org/apache/zeppelin/conf/ZeppelinLocationStrategy.java Adds config location strategy using ZEPPELIN_HOME/CONF_DIR.
zeppelin-plugins/pom.xml Updates plugin parent dependency from zengine to server.
zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactoryInterface.java Updates module reference in comment.
zeppelin-interpreter/src/main/java/org/apache/zeppelin/dep/DependencyResolver.java Removes zengine from dependency exclusions.
zeppelin-interpreter-integration/pom.xml Removes zengine deps; relies on server instead.
zeppelin-integration/pom.xml Removes zengine deps; relies on server instead.
zeppelin-common/src/main/java/org/apache/zeppelin/common/Message.java Updates comment to reference server module.
pom.xml Removes zeppelin-zengine module from build.
docs/development/writing_zeppelin_interpreter.md Updates links from zengine to server paths.
docs/development/helium/writing_visualization_basic.md Updates links from zengine to server paths.
docs/development/contribution/how_to_contribute_code.md Updates example Maven module list to remove zengine.
bin/zeppelin.sh Removes zengine build outputs from runtime classpath assembly.
bin/zeppelin.cmd Removes zengine build outputs from runtime classpath assembly.
bin/zeppelin-daemon.sh Removes zengine build outputs from daemon classpath assembly.
bin/stop-interpreter.sh Updates classpath to use server build outputs instead of zengine.
bin/interpreter.sh Updates test-classpath wiring from zengine to server.
bin/interpreter.cmd Updates test-classpath wiring from zengine to server.
bin/install-interpreter.sh Updates classpath to use server build outputs instead of zengine.
.github/workflows/core.yml Updates workflow comments/definition to remove zengine module.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Use zConf.getLong() instead of ConfVars.getLongValue() to read the
actual configured value rather than the hardcoded default. After
merging zengine into server, the test now picks up server's
zeppelin-site.xml which sets connect timeout to 30000.
@jongyoul
Copy link
Copy Markdown
Member Author

jongyoul commented Apr 4, 2026

@Reamer @tbonelee Hello, I did the task again after merging moving ZeppelinConfiguration PR. The CI failure happens master currently. Could you please help to review it again?

Copy link
Copy Markdown
Contributor

@tbonelee tbonelee left a comment

Choose a reason for hiding this comment

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

LGTM overall. Most of the changes are straightforward file moves, and I do not see any obvious issues from my side.

That said, I would still appreciate another review for the pom.xml-related changes, since I am not very familiar with Maven.

@Reamer
Copy link
Copy Markdown
Contributor

Reamer commented Apr 13, 2026

@Reamer @tbonelee Hello, I did the task again after merging moving ZeppelinConfiguration PR. The CI failure happens master currently. Could you please help to review it again?

Sorry for the late reply. I'll take a look at the change in the next few days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants