[
https://issues.apache.org/jira/browse/KAFKA-3487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15338920#comment-15338920
]
Randall Hauch commented on KAFKA-3487:
--------------------------------------
[~ewencp] wrote:
{quote}
There's lots of other stuff you can do in this area too, e.g. URLClassLaoders
that can just pull the jars from the network, or even more awesome would be a
version that works from Central/Maven repos and can just auto-resolve all
transitive dependencies in some variant of a URLClassLoader and allow all the
connectors to be loaded completely dynamically (no more restarts to install new
connectors!)
{quote}
Autoresolving classloaders work fine in many situations, but not all. Some
environments do not have access to a Maven class loader, and it's not always
repeatable/reliable. Yet not having to restart to install new connectors is
still doable even with file-based JARs.
> Support per-connector/per-task classloaders in Connect
> ------------------------------------------------------
>
> Key: KAFKA-3487
> URL: https://issues.apache.org/jira/browse/KAFKA-3487
> Project: Kafka
> Issue Type: New Feature
> Components: KafkaConnect
> Affects Versions: 0.10.0.0
> Reporter: Ewen Cheslack-Postava
> Assignee: Liquan Pei
> Priority: Critical
> Labels: needs-kip
>
> Currently we just use the default ClassLoader in Connect. However, this
> limits how we can compatibly load conflicting connector plugins. Ideally we
> would use a separate class loader per connector/task that is instantiated to
> avoid potential conflicts.
> Note that this also opens up options for other ways to provide jars to
> instantiate connectors. For example, Spark uses this to dynamically publish
> classes defined in the REPL and load them via URL:
> https://ardoris.wordpress.com/2014/03/30/how-spark-does-class-loading/ But
> much simpler examples (include URL in the connector class instead of just
> class name) are also possible and could be a nice way to more support dynamic
> sets of connectors, multiple versions of the same connector, etc.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)