Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-1076

Erlang Thrift socket server has a bug that causes java thrift client of framed binary client to throw "out of sequence" exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 0.5
    • 0.7
    • Erlang - Library
    • None
    • CentOS5.5, Erlang 13B04, thrift 0.5

    • Patch Available

    Description

      Repro step:
      1) I defined a thrift file like below:

      namespace java com.foo.jabber

      service FrontendService {
      bool isUserOnline(1:string userId, 2:string userDomain)
      }

      2) I implemented an erlang thrift server of framed, binary;

      3) I use a java thrift framed+binary client to talk to the server;

      4) I always got an exception of "out of sequence" while call isUserOnline(), while the thrift server had responsed to the request.

      After some investigation, i found the field seq of reply's protocol_message_begin is hardcoded as 0 in thrift_processor.erl. I think it should be the save as that of request.

      Attachments

        1. thrift_processor.erl
          8 kB
          Pascal Qu
        2. seq.diff
          6 kB
          Pascal Qu

        Activity

          People

            jjqquu Pascal Qu
            jjqquu Pascal Qu
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified