Sounds like a job for a Union for payload.

And if the polymorphic payload is avro serialized you don't
have to know the schema ahead of time, you just need a
way to merge the new payload schema into the union as
you get it (so you can push the schema responsibility to
the client code giving you the event.)

I've been futzing with something similar on the C++ avro side
and the provided API needs some tweaks to make it go (I'm
looking at moving the fileReader/Wrtier up to work with
streams, then you can do memory array with the array stream
adapter; and then you need a way to get to addField for
the UnionSchema (which on the C++ side only has default
constructor, no way to access a Union somewhere in a schema
and have addField add the schema from the new data
without knowing a lot about the internals, so you either have
to save it when first creating the schema, and can't do it from
an existing schema, or need more code.)

     Dan S.

On Fri, Sep 8, 2017 at 2:35 PM, Greg Zoller <[EMAIL PROTECTED]> wrote:
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB