[ 
https://issues.apache.org/jira/browse/KAFKA-6675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16811926#comment-16811926
 ] 

Randall Hauch commented on KAFKA-6675:
--------------------------------------

[~nimfadora], I guess my proposition is that the existing log is simply not 
clear enough and requires the user to look very closely at multiple lines in 
the log to really understand what's going on. I'm not that set on my specific 
proposal in the description, but it would be nice to see a single log message 
for each connector, converter, and transform class that is a lot more clear as 
to which are available, where it were found (e.g., classpath vs plugin 
location), the component version, the aliases if any that were defined, and 
ideally even warn whether multiple versions were found for a particular 
connector, converter, or transform. It might also be nice if they were 
interspersed with the various scan/search log messages, so perhaps I'm asking 
for _additional_ INFO level log messages after all scanning has been done.

Having said this, I don't think these changes should be that invasive. IOW, 
let's try to add the above log messages without changing what information is 
collected and minimizing changes to the existing code.

> Connect workers should log plugin path and available plugins more clearly
> -------------------------------------------------------------------------
>
>                 Key: KAFKA-6675
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6675
>             Project: Kafka
>          Issue Type: Improvement
>          Components: KafkaConnect
>    Affects Versions: 0.11.0.1
>            Reporter: Randall Hauch
>            Assignee: Valeria Vasylieva
>            Priority: Minor
>
> Users struggle with setting the plugin path and properly installing plugins. 
> If users get any of this wrong, they get strange errors only after they run 
> the worker and attempt to deploy connectors or use transformations. 
> The Connect worker should more obviously output the plugin path directories 
> and the available plugins. For example, if the {{plugin.path}} were:
> {code}
> plugin.path=/usr/local/share/java,/usr/local/plugins
> {code}
> then the worker might output something like the following information in the 
> log:
> {noformat}
> Looking for plugins on classpath and inside plugin.path directories:
>   /usr/local/share/java
>   /usr/local/plugins
>  
> Source Connector(s):
>   FileStreamSource  (org.apache.kafka.connect.file.FileStreamSourceConnector) 
>       @ classpath
>   FileStreamSink    (org.apache.kafka.connect.file.FileStreamSinkConnector)   
>       @ classpath
>   JdbcSource        (io.confluent.connect.jdbc.JdbcSourceConnector)           
>       @ /usr/local/share/java/kafka-connect-jdbc
>   MySql             (io.debezium.connector.mysql.MySqlConnector)              
>       @ /usr/local/plugins/debezium-connector-mysql
> Converter(s):
>   JsonConverter         (org.apache.kafka.connect.json.JsonConverter)         
>       @ classpath
>   ByteArrayConverter    
> (org.apache.kafka.connect.converters.ByteArrayConverter)    @ classpath
>   SimpleHeaderConverter 
> (org.apache.kafka.connect.converters.SimpleHeaderConverter) @ classpath
>   AvroConverter         (io.confluent.connect.avro.AvroConverter)             
>       @ /usr/local/share/java/kafka-serde-tools
> Transformation(s):
>   InsertField       (org.apache.kafka.connect.transforms.InsertField)         
>       @ classpath
>   ReplaceField      (org.apache.kafka.connect.transforms.ReplaceField)        
>       @ classpath
>   MaskField         (org.apache.kafka.connect.transforms.MaskField)           
>       @ classpath
>   ValueToKey        (org.apache.kafka.connect.transforms.ValueToKey)          
>       @ classpath
>   HoistField        (org.apache.kafka.connect.transforms.HoistField)          
>       @ classpath
>   ExtractField      (org.apache.kafka.connect.transforms.ExtractField)        
>       @ classpath
>   SetSchemaMetadata (org.apache.kafka.connect.transforms.SetSchemaMetadata)   
>       @ classpath
>   RegexRouter       (org.apache.kafka.connect.transforms.RegexRouter)         
>       @ classpath
>   TimestampRouter   (org.apache.kafka.connect.transforms.TimestampRouter)     
>       @ classpath
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to