zero created THRIFT-5260:
----------------------------
Summary: Fix the thrift compiler generate problematic lua code for
the oneway method
Key: THRIFT-5260
URL: https://issues.apache.org/jira/browse/THRIFT-5260
Project: Thrift
Issue Type: Bug
Components: Lua - Compiler
Affects Versions: 0.13.0
Reporter: zero
The oneway method 'testOneway' in file 'test/ThriftTest.thrift', for instance,
generated code in file 'test/lua/gen-lua/ThriftTest_ThriftTest.lua' as follows:
function ThriftTestProcessor:process_testOneway(seqid, iprot, oprot, server_ctx)
local args = testOneway_args:new{}
local reply_type = TMessageType.REPLY
args:read(iprot)
iprot:readMessageEnd()
local result = testOneway_result:new{}
local status, res = pcall(self.handler.testOneway, self.handler,
args.secondsToSleep)
if not status then
reply_type = TMessageType.EXCEPTION
result = TApplicationException:new{message = res}
else
result.success = res
end
oprot:writeMessageBegin('testOneway', reply_type, seqid)
result:write(oprot)
oprot:writeMessageEnd()
oprot.trans:flush()
end
The 'testOneway_result' is undefined and I think it is wrong to write the
'result' to the 'oprot' since it is nil, but at the same time it is necessary
for every process functions to return values from each handler.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)