Hi Team,
    We have a requirement where we need to decrypt/encrypt any data coming
in/going out to Samza processor (Kafka used as the system stream). It is
achievable with the different serde for input/output stream however for
Rocksdb key value store backed up by kafka changelog it becomes
challenging.

   With the current state of the system
<https://github.com/apache/samza/blob/master/samza-core/src/main/scala/org/apache/samza/serializers/SerdeManager.scala#L40>
the only way to achieve encryption/decryption for the changelog stream is
to make the key value store have a serde which also does
encryption/decryption. But the problem is if we try to do a iteration of
the rocksdb store in window task, we will be unnecessarily
encrypting/decrypting the data(which is present locally in the system)
which will have impact on the performance. So is there any other way to use
a different serde for key value store but before sending the data to kafka
changelog use a different serde(doing encryption)?

I believe we don't need to do the encryption if we can securely connect to
Kafka with 0.10 release, however Samza is using the old consumer, so we
cannot leverage the feature. Is there any timeline regarding the new kafka
client integration(Samza-855
<https://issues.apache.org/jira/browse/SAMZA-855>)?

Also unrelated to this topic when could we expect the next Samza release?

Thank you for the support.

Regards,
Nick

Reply via email to