Repository navigation
Conversation
jongyoul
reviewed
Nov 11, 2026
| * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| * you may not use this file except in compliance with the License. | ||
| * You may obtain a copy of the License at | ||
| * Licensed to the Apache Software Foundation (ASF) under one or more |
Member
There was a problem hiding this comment.
Do we need to change the license part here?
Contributor
Author
There was a problem hiding this comment.
Hi @jongyoul ,
This license part has been restored.
paul8263
force-pushed
the
ZEPPELIN-6770
branch
from
November 11, 2026 02:59
e61cd40 to
9339d43
Compare
jongyoul
reviewed
Nov 12, 2026
| <groupId>org.apache.commons</groupId> | ||
| <artifactId>commons-lang3</artifactId> | ||
| <groupId>org.apache.zeppelin</groupId> | ||
| <artifactId>zeppelin-shell</artifactId> |
Member
There was a problem hiding this comment.
@paul8263 I know it's the proper way to extend the existing feature but I wouldn't recommend to include another interpreter. It sometimes leads unexpected behaviors as we designed every interpreter as independent component. Could you please mimic and/or re-implement features you use only in this interpreter? I'm also planning to existing dependencies between interpreters in the following year.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is this PR for?
Refactor HbaseInterpreter to extend ShellInterpreter instead of reimplementing shell process management from scratch.
The previous implementation duplicated a lot of logic that ShellInterpreter already provides: writing each paragraph to a temp script file, constructing a DefaultExecutor with a PumpStreamHandler, managing an ExecuteWatchdog, implementing cancel() and a FIFO scheduler, and cleaning up temp files. This patch deletes all of that (about 150 lines) and reduces HbaseInterpreter to the HBase-specific part only: resolving HBASE_HOME and turning a paragraph into one hbase shell invocation.
The main motivation is Kerberos support. ShellInterpreter extends KerberosInterpreter, so by subclassing it the HBase interpreter now inherits the same, already-tested Kerberos handling for free: zeppelin.shell.auth.type=kerberos, zeppelin.shell.keytab.location, zeppelin.shell.principal, and the periodic re-kinit on ticket expiry. No HBase-specific Kerberos code is required, and the same approach can be reused by any other shell-backed interpreter.
What type of PR is it?
Improvement / Refactoring
Todos
What is the Jira issue?
[ZEPPELIN-6770]
How should this be tested?
This update has been covered by UTs.
./mvnw test -pl hbase -am
Screenshots (if appropriate)
Questions: