Team_RPCtester created THRIFT-5793: -------------------------------------- Summary: Inconsistent behavior: Nodejs may modify the values it receives Key: THRIFT-5793 URL: https://issues.apache.org/jira/browse/THRIFT-5793 Project: Thrift Issue Type: Bug Components: Node.js - Compiler, Node.js - Library Affects Versions: 0.20.0, 0.19.0 Reporter: Team_RPCtester
Hi, We have discovered an inconsistent behavior under the following conditions: # The thrift file: {quote}struct StructClass_0 { 1: required list<bool> f_1 } service DataService { StructClass_0 Method_1(1: StructClass_0 agr_method_1) } {quote} 2. When using Go as the client side(writer) and Node.js as the server side(reader) with the protocol set to “{*}compact{*}” and the transport set to “{*}framed{*}“ or “{*}buffered{*}”. We sent the value [true, false] to the server, but the server receives [false, false], which is unexpected. Here is the relevant code:We use agr_method_1_0 as the parameter sent to the client side(writer). {quote}{{ agr_method_1_0 := commonResource.NewStructClass_0()}}{{ }} {{ listItem := []{*}bool{*}{true, false}}}{{ }} {{ agr_method_1_0.F_1 = listItem}} {quote} Node.js Server: The server(reader) returns what it receives.. {quote}Method_1: *async* {*}function{*}(agr_method_1, result){ console.log("Method_1 receives ", agr_method_1); // Method_1 receives \{“f_1”:[false, false]} result({*}null{*}, agr_method_1); } {quote} Can you help check the issue? Thank you. -- This message was sent by Atlassian Jira (v8.20.10#820010)