To All:
First off I'd like to introduce myself to the community. I am a project
manager of a small music startup which heavily utilizes thrift to connect
(and insulate) our PHP frontend folks from our Java backend recommendation
engineers.

I recently noticed a bug(feature?) in
com.facebook.thrift.protocol.TBinaryProtocol.writeString where if it is
passed a null pointer it will throw NPE.

Now, the autogenerated stub code tries to prevent this, however we recently
came across a case where we had a Set<String> which contained a "NULL"
(legal in java). Thrift tests to see if the set is non-null and implicitely
whether it has any elements, both of these pass in this case, and so the
null string is passed to the writeString method where we get the NPE.

If this is a bug, I can volunteer to fix it in most of the Thrift languages.
If it is a feature, I'd be happy with a one line explanation (we are coding
around this now).

-Amit
One Llama Media Inc.
http://www.onellama.com

Reply via email to