Github user markap14 commented on the issue:
https://github.com/apache/nifi/pull/1202
@joshelser I did actually look into using both Protocol Buffers as well as
Avro to perform the serialization/deserialization. That really would be
preferred, as they are both very stable libraries and much more
"robust"/feature-rich than what we have here. Unfortunately, though, because of
the way that their readers/writers work, using those would have required some
pretty intense refactoring of some of the core repository code. This is largely
due to the API that was created for the repository wasn't thought through well
enough. For example, the RecordWriter has a `writeRecord` method that takes in
a record write as well as the OutputStream to write to. The repository itself
may write to the OutputStream in between records. These libraries wouldn't
really support that well. So rather than rewrite some of the most critical
parts of NiFi, I elected to create a much simpler schema-based reader/writer
approach. It may make sense at some point to review this decision though and
refac
tor the repositories to make them more amenable to this type of thing.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---