Github user pwendell commented on the pull request:
https://github.com/apache/spark/pull/322#issuecomment-39699481
Okay I think the broader issue is that
@ueshin you said before that "`Class.forName()` method with `null` for 3rd
argument tries to load class from bootstrap class loader, which doesn't know
the class `org.apache.spark.serializer.JavaSerializer`."
But I think in this case we'd expect the bootstrap classloader to know
about `JavaSerializer` (this should be on the classpath when the executor
starts), right? I'm still not sure why it would fail in this case. I don't see
why `MesosExecutorDriver` could be on the java classpath but `JavaSerializer`
isn't.
@manku-timma I looked more and the reason this doesn't work is that it
looks like other parts of the code don't directly use the `classLoader` form
the executor. I can look more tomorrow and see how we can best clean this up.
The current approach works but it's a bit of a hack. There might be a nicer way
to clean this up.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---