[
https://issues.apache.org/jira/browse/THRIFT-2954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14296504#comment-14296504
]
Nitin Kumar commented on THRIFT-2954:
-------------------------------------
I think i need to put some example:
idl file contains
service InterfacesService {
RetStatus V4InterfaceAdd( 1: string if_name, 2: i32 unit, 3: string prefix,
4: i32 prefix_len,
) throws (1:InvalidInterfaceException ae);
bool V4InterfaceDelete(
1: string if_name, 2: i32 unit, 3: string prefix, 4: i32 prefix_len);
client.py:
try:
intf.V4InterfaceAdd('ge-0/0/45', 0, '10.209.11.176', '25') #notice last
parameter is called as string
except Exception as ex:
print ex.message
intf.V4InterfaceDelete('ge-0/0/45', 0, '10.209.11.176', 24)
2nd function gives "TSocket read 0 bytes" error as connection is already lost
(due to 1st funtion)
> calling function with parameter type different as defined in idl breaks the
> connection
> --------------------------------------------------------------------------------------
>
> Key: THRIFT-2954
> URL: https://issues.apache.org/jira/browse/THRIFT-2954
> Project: Thrift
> Issue Type: Bug
> Affects Versions: 0.9.2
> Environment: tried with python server/client and also with c++ server
> with python client
> Reporter: Nitin Kumar
> Priority: Critical
>
> say my idl (.thrift) file defines a function
> void fn(1: string if_name);
> if I call this function as fn(3) the connection get closed, hence not
> allowing next set of function to be called. (function call has been kept
> within exception handling)
> but for other cases like if we call this function with 2 params in place of 1
> as expected by function. it just thrown exception but does not close the
> connection.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)