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

Issue with character encoding of Success returned from Login using Thrift Proxy and NodeJS

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.9.1
    • 0.9.2
    • None
    • CentOS 6.4, NodeJS 0.10.21, NPM thrift module 0.9.1, Accumulo 1.5.0

    Description

      I recently tried to connect to Accumulo through the Thrift proxy using NodeJS.

      I was able to successfully send login information to Accumulo and receive back a success, but when I tried to use this success to feed into other functions such as listTables I would receive an Exception.

      I traced this down to the AccumuloProxy.js file that was generated from the proxy.thrift file. In the AccumuloProxy_login_result.prototype.read function if the ftype == Thrift.Type.STRING then this.success is set to input.readString(). During this readString function the toString is called on the Buffer, but what is returned has characters that are not correctly encoded. I modified the AccumuloProxy_login_result.prototype.read to call readBinary instead and return the Buffer as success. I was then able to pass the Buffer into the other functions and correctly get a result.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            RyKnow Ryan Knowles
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment