Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
0.9.1
-
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
- duplicates
-
ACCUMULO-2358 Issue with character encoding of Success returned from Login using Thrift Proxy and NodeJS
- Resolved
-
THRIFT-1351 Compiler does not care about binary strings
- Closed