Jiri Pechanec created KAFKA-5953: ------------------------------------ Summary: Connect classloader isolation may be broken for JDBC drivers Key: KAFKA-5953 URL: https://issues.apache.org/jira/browse/KAFKA-5953 Project: Kafka Issue Type: Bug Components: KafkaConnect Affects Versions: 0.11.0.0 Reporter: Jiri Pechanec Priority: Critical
Let's suppose there are two connectors deployed # using JDBC driver (Debezium MySQL connector) # using PostgreSQL JDBC driver (JDBC sink). Connector 1 is started first - it executes a statement {code:java} Connection conn = DriverManager.getConnection(url, props); {code} As a result a {{DriverManager}} calls {{ServiceLoader}} and searches for all JDBC drivers. The postgres driver from connector 2) is found associated with classloader from connector 1). Connector 2 is started after that - it executes a statement {code:java} connection = DriverManager.getConnection(url, username, password); {code} DriverManager finds the connector that was loaded in step before but becuase the classloader is different - now we use classloader 2) so it refuses to load the class and no JDBC driver is found. -- This message was sent by Atlassian JIRA (v6.4.14#64029)