[ https://issues.apache.org/jira/browse/KAFKA-3487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16007425#comment-16007425 ]
ASF GitHub Bot commented on KAFKA-3487: --------------------------------------- GitHub user kkonstantine opened a pull request: https://github.com/apache/kafka/pull/3028 KAFKA-3487: Support classloading isolation in Connect. You can merge this pull request into a Git repository by running: $ git pull https://github.com/kkonstantine/kafka KAFKA-3487-Support-classloading-isolation-in-Connect Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/3028.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3028 ---- commit 6e3e92cfadfa7c03090476a0f025b5a6b7989d5c Author: Konstantine Karantasis <konstant...@confluent.io> Date: 2017-05-05T00:00:29Z KAFKA-3487: Support classloading isolation in Connect. * Add module.path in worker config. commit 84967f43712dd55523ca33e855fa0252f9cdb677 Author: Konstantine Karantasis <konstant...@confluent.io> Date: 2017-05-09T23:10:08Z Add isolation package. * Add a delegating class loader * Add per module class loaders * Add module factories commit 7e1169b081c451d0f4a3920e75e0bf1961ee84e8 Author: Konstantine Karantasis <konstant...@confluent.io> Date: 2017-05-12T00:24:08Z Add config property only for standalone currently. commit d8cd6330c6304267a5d7b07c8ef48aa201d95ac8 Author: Konstantine Karantasis <konstant...@confluent.io> Date: 2017-05-09T23:19:24Z Add maven-artifact dependency for module versioning. commit 50c8a1b79366ce04231b7c88b9abc36871afc143 Author: Konstantine Karantasis <konstant...@confluent.io> Date: 2017-05-09T23:21:15Z Replace connector factory with new module factory. commit df22a391e920b2f24ad795df929968cd0d5e2dd1 Author: Konstantine Karantasis <konstant...@confluent.io> Date: 2017-05-11T18:19:39Z Consolidating Modules factory class. commit ba3a78dbcf10a94a2080d7f7ef87585826c27ea8 Author: Konstantine Karantasis <konstant...@confluent.io> Date: 2017-05-12T00:20:41Z Setting thread context class loader to a modules loader. ---- > 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.15#6346)