While working through changes for CALCITE-640, I've noticed what appears to
be a failure to isolate RPC concerns from the interfaces they expose. The
code smell I noticed is that we need to have Jackson annotations for
serialization of objects in both Meta and Service interfaces. IMHO, this
should be isolated to just one place or the other. It's not a terrible
concern today, but I think it will become so once we want to support
alternative encoding formats (i.e., protobuf, thrift, avro). These systems
force a clear distinction of what is serializable through their use of an
IDL.

Thoughts?
-n

Reply via email to