Github user renato2099 commented on the pull request:

    https://github.com/apache/gora/pull/32#issuecomment-136675372
  
    Hi @lewismc 
    I think the logic is fine, the non-null checks you are describing are for 
checking nullable schemas, and that is what you've described. Yes, it is 
recursive if there are nested objects, but the exception is for when 
"something" goes wrong with serialization (for example, class changes can 
easily make your serialized data unreadable if you were using reflection) that 
is why Java forces us to throw an IOException and not NullPointerException. And 
caching this exception makes us "retry" serialization calling again to <return 
toBytes(o)> on the object. If we don't print the IO exception, we would 
probably get an stackOverFlowException because of the recursion and catching 
this error would be a lot harder.


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