[ 
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)

Reply via email to