Can't use primitive types in service definitions for bean generated code
------------------------------------------------------------------------

                 Key: THRIFT-734
                 URL: https://issues.apache.org/jira/browse/THRIFT-734
             Project: Thrift
          Issue Type: Bug
            Reporter: Nathan Marz


I compiled the Cassandra interface using thrift --gen 
java:beans,hashcode,nocamel. When I call the "insert" method on the Cassandra 
definition, I get the error:

Caused by: org.apache.thrift.protocol.TProtocolException: Required field 
'timestamp' is unset!

Timestamp is of type "i64" in the service definition. Since "insert_args" for 
the insert method is compiled using beans and validation, it is checking the 
isset bitvector to see if "timestamp" is set.

However, the insert method doesn't use set_timsetamp and instead says 
"args.timestamp = timestamp;". This fails to set the isset for timestamp in the 
bitvector.

The bug only appears for primitive types because those are the only types that 
use the isset bitvector.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to