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.
---

Reply via email to