[
https://issues.apache.org/jira/browse/THRIFT-2157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15117746#comment-15117746
]
ASF GitHub Bot commented on THRIFT-2157:
----------------------------------------
GitHub user mbreslow opened a pull request:
https://github.com/apache/thrift/pull/822
Fix THRIFT-2157 (generated code would cause ClassCastException)
Ran into this issue as well and implemented the suggestions by Iker Jimenez
and dvdeepankar on
https://issues.apache.org/jira/browse/THRIFT-2157?focusedCommentId=14380813&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14380813
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/DevFactory/thrift
THRIFT-2157-fix-classcastexception
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/thrift/pull/822.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #822
----
commit 90e72a280c04c54d369033267d90746ee6348f0a
Author: Marc Breslow <[email protected]>
Date: 2016-01-26T03:17:16Z
Introduce new interface TSerializable for TBase to extend and
TApplicationException to implement. This will resolve THRIFT-2157.
commit 0dca59a0284a25acbba7eca00a78d7ad879d58d1
Author: Marc Breslow <[email protected]>
Date: 2016-01-26T03:28:49Z
fix typo
commit 44385dc7646a99ebbc3d7c0adf94c6e16035f632
Author: Marc Breslow <[email protected]>
Date: 2016-01-26T18:36:55Z
Put TSerializable in the right directory. Update TApplicationException to
implement TSerializable's read() interface and update TServiceClient to use the
read() method instead of the static one.
----
> 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)