Github user mattyb149 commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2630#discussion_r188147689
--- Diff:
nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service/src/main/java/org/apache/nifi/controller/livy/LivySessionController.java
---
@@ -241,12 +241,14 @@ public void onConfigured(final ConfigurationContext
context) {
while (enabled) {
try {
manageSessions();
+ } catch (Exception e) {
+ getLogger().error("Livy Session Manager Thread run
into an error, but continues to run", e);
--- End diff --
This keeps the manageSessions() thread alive, but will there be an
indication on the UI that the error is not recoverable? I'm thinking
specifically about the 401 Authorization Required error where the Livy API
returns HTML rather than JSON when you try to log in without Kerberos when the
server has been Kerberized. Should we set an AtomicReference<Exception> or
something on the LivySessionController and throw a checked exception when any
API call is made (such as isEmpty() which is called from
ExecuteSparkInteractive)? I think we need to make it obvious (at least in that
case) that the processor and/or CS is suffering from a non-recoverable error
and needs manual intervention.
---