shotover/shotover-proxy

KafkaSinkSingle: make transform validation fail when kafka port == shotover port

Opened this issue · 1 comments

It should fail with a message like:

KafkaSinkSingle:
  the destination_port is the same as the port used by `KafkaSource`. These ports must be unique as shotover and the destination kafka must be behind the same IP and therefore cannot share a port.

In order to implement this validation we will need to extend our transform validation infrastructure to pass in the TransformChainBuilder to the TransformBuilder::validate method so each transform may perform analysis on the rest of the chain.

Since I originally wrote KafkaSinkSingle I've learnt that kafka has a far stronger distinction between advertised address and real address compared to cassandra.
So I think maybe the whole approach of including rewriting in the transform might have been a mistake.
Maybe we should just have kafka advertise shotover's address instead.