[jira] [Commented] (KAFKA-4714) Implement remaining KIP-66 SMTs

2017-09-20 Thread Ewen Cheslack-Postava (JIRA)

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

Ewen Cheslack-Postava commented on KAFKA-4714:
--

[~dhananjaydp] You cannot do that with SMTs, you would need to define two 
connectors as you describe. The KIP probably could have included some more 
information about why. Your use case is really a special case of the more 
general problem of a single record generating multiple outputs, with some of 
those outputs possibly transformed in some way. Supporting this would 
significantly complicate the system, in ways that it would be difficult to 
provide the guarantees we provide today (e.g. at-least once delivery). It 
messes with some core concepts in Connect, such as having unique (partition, 
offset) values for each message. Complex processing topologies like this are 
better suited to Kafka Streams, which was built just for that purpose.

Note that you *can* do this without SMTs if you write your own connector that 
can safely handle each message resulting in multiple writes to some output 
system. You could still use the transformations internally in that connector if 
you wanted to reuse the existing transformation code, they just wouldn't be 
configured via the standard mechanism in Connect.

As for the specific use case of the original message, if someone made a strong 
case for it and a KIP describing how it would be implemented, sure. We're open 
to plenty of ideas about how to improve the framework.

> Implement remaining KIP-66 SMTs
> ---
>
> Key: KAFKA-4714
> URL: https://issues.apache.org/jira/browse/KAFKA-4714
> Project: Kafka
>  Issue Type: Bug
>  Components: KafkaConnect
>Reporter: Ewen Cheslack-Postava
>Assignee: Ewen Cheslack-Postava
> Fix For: 0.11.0.0
>
>
> Three didn't make it for the 0.10.2.0 release: Flatten, Cast, and 
> TimestampConverter.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (KAFKA-4714) Implement remaining KIP-66 SMTs

2017-09-18 Thread Dhananjay Patkar (JIRA)

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

Dhananjay Patkar commented on KAFKA-4714:
-

Thanks [~ewencp] for quick reply.

I have a use case, wherein I need to map incoming raw message to standard 
format and persist, as well as persist raw message as is.
Converting from raw message to standard format message is not always 
guaranteed, but I still need to persist raw message.

I understand I can write multiple consumer to same topic, 1 consumer will 
persist  raw messages as is and other will transform raw message into standard 
format and persist.

Just wanted to know, is there way I can do it as a single consumer through SMT.

??The record is maintained internally, but it is not exposed to the connector??
Is there a possibility to expose raw message based on configuration during SMT?

> Implement remaining KIP-66 SMTs
> ---
>
> Key: KAFKA-4714
> URL: https://issues.apache.org/jira/browse/KAFKA-4714
> Project: Kafka
>  Issue Type: Bug
>  Components: KafkaConnect
>Reporter: Ewen Cheslack-Postava
>Assignee: Ewen Cheslack-Postava
> Fix For: 0.11.0.0
>
>
> Three didn't make it for the 0.10.2.0 release: Flatten, Cast, and 
> TimestampConverter.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (KAFKA-4714) Implement remaining KIP-66 SMTs

2017-09-18 Thread Ewen Cheslack-Postava (JIRA)

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

Ewen Cheslack-Postava commented on KAFKA-4714:
--

[~dhananjaydp] The record is maintained internally, but it is not exposed to 
the connector. It's somewhat counter to the point of SMTs since in some cases 
you may be trying to do things like remove PII, in which case you definitely 
don't want to give the connector task a chance to see that data.

Regarding support for a transformation after SinkTask.put(), that doesn't 
really make sense since the whole point of put() is that it passes the data to 
the task to be written to the external system -- not only is the message in a 
different system, it's likely been converted to some native format for that 
system and is no longer in Connect's data API format.

Is there a reason you want the original value in the task? Can you describe 
your use case?

> Implement remaining KIP-66 SMTs
> ---
>
> Key: KAFKA-4714
> URL: https://issues.apache.org/jira/browse/KAFKA-4714
> Project: Kafka
>  Issue Type: Bug
>  Components: KafkaConnect
>Reporter: Ewen Cheslack-Postava
>Assignee: Ewen Cheslack-Postava
> Fix For: 0.11.0.0
>
>
> Three didn't make it for the 0.10.2.0 release: Flatten, Cast, and 
> TimestampConverter.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (KAFKA-4714) Implement remaining KIP-66 SMTs

2017-09-18 Thread Dhananjay Patkar (JIRA)

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

Dhananjay Patkar commented on KAFKA-4714:
-

Currently on the sink side, transformations are applied on the consumed record.

??For sink connectors, transformations are applied on the collection of 
SinkRecord before being provided to SinkTask.put().??

Is it possible to get original ConnectRecord object in consumer task?
If this is not available then ,can we preserve original message or is it 
possible to add support for post "SinkTask.put()" transformation? 


> Implement remaining KIP-66 SMTs
> ---
>
> Key: KAFKA-4714
> URL: https://issues.apache.org/jira/browse/KAFKA-4714
> Project: Kafka
>  Issue Type: Bug
>  Components: KafkaConnect
>Reporter: Ewen Cheslack-Postava
>Assignee: Ewen Cheslack-Postava
> Fix For: 0.11.0.0
>
>
> Three didn't make it for the 0.10.2.0 release: Flatten, Cast, and 
> TimestampConverter.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)