[ 
https://issues.apache.org/jira/browse/THRIFT-2157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14380777#comment-14380777
 ] 

Iker Jimenez commented on THRIFT-2157:
--------------------------------------

Regarding compatibility, in Java there is no issue implementing new interfaces 
in newer versions of a class, it has been done in the standard Java API 
multiple times.

However, TBase defines 8 methods, of which for this use case only one of them 
needs to have an implementation.
I don't know if we should try to provide an implementation for the other 7 or 
just wait for the day there is a use case for them and let them throw an 
UnsupportedOperationException instead.

> generated code would cause ClassCastException
> ---------------------------------------------
>
>                 Key: THRIFT-2157
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2157
>             Project: Thrift
>          Issue Type: Bug
>          Components: Java - Compiler
>    Affects Versions: 0.9.1
>            Reporter: Dave Brosius
>            Priority: Trivial
>
> Looking at the thrift generated code for cassandra, i'm seeing
>  msg = (org.apache.thrift.TBase)new 
> org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
>  e.getMessage());
> as seen here
> https://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=blob;f=interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java;h=837acfc0e964249fd62720420e8f1f85d966f1a3;hb=8f202895ab9e17c3d6bd4965924fd5f1ffc27f94#l6095
> i don't see how TApplicationException can be cast to TBase, and so i'd expect 
> a ClassCastException there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to