Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.2.0
-
None
-
None
-
CentOS Linux release 7.3.1611 (Core)
Description
My application is an Akka/scala front end submitting work to Jupyter Kernel Gateway and Toree. If I connect directly from a client machine to a JKG server. everything works well, my jobs run to completion, etc. If I attempt to connect to the same server through a DataPower load balancer, I get the attached exception (everything except the line about StackOverflowError is repeated many times). The exception takes in response to the initial request for a websocket.
I think its important to note that the log doesn't show an "access denied". Toree's attempt t check permission never completes.
What can be done about this? Do you have any idea why a load balancer would change the result? DataPower adds more request headers in order to provide session affinity and things like that but I don't see why that would have any effect.
I also noticed that the source code for KernelSecurityManager contains some TODOs related to StackOverflowError at the very same function call that is implicated in the attached log:
override def checkPermission(perm: Permission, context: scala.Any): Unit = {
// TODO: Investigate why the StackOverflowError occurs in IntelliJ without
// this check for FilePermission related to this class
// NOTE: The above problem does not happen when built with sbt pack
We are not using Intellij. We do build with sbt version 2.11.8, but that seems unrelated since we are not making direct calls to Toree. All calls go to JKG.