[GitHub] thrift pull request #1362: THRIFT-4331 - C++: TSSLSocket fixes on branch 0.1...
Github user MartinHaimberger closed the pull request at: https://github.com/apache/thrift/pull/1362 ---
[jira] [Commented] (THRIFT-4331) C++: TSSLSockets bug in handling huge messages, bug in handling polling
[ https://issues.apache.org/jira/browse/THRIFT-4331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16169711#comment-16169711 ] ASF GitHub Bot commented on THRIFT-4331: Github user MartinHaimberger closed the pull request at: https://github.com/apache/thrift/pull/1362 > C++: TSSLSockets bug in handling huge messages, bug in handling polling > --- > > Key: THRIFT-4331 > URL: https://issues.apache.org/jira/browse/THRIFT-4331 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.10.0, 1.0 >Reporter: Martin Haimberger > Fix For: 0.10.0, 1.0 > > Attachments: 0.10.0-THRIFT-4331.patch, master-THRIFT-4331.patch > > > The TSSLSocket class did not handle large messages, because a underlying TCP > socket my signal bytes received, while SSL_read() may not have bytes > available. After maxretries (5) the function returned -1, which got > interpreted as unsigned integer for read bytes. > Futher the waitForEvent methode, did only set THRIFT_POLLIN or > THRIFT_POLLOUT, but it gets used where SSL needs to send AND receive bytes > for some operations (like close). So in the case of write wanted, > THRIFT_POLLIN is also set to cover these read/write operations. > Pullrequest for master and 0.10.0 branch will follow. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] thrift issue #1360: THRIFT-4330: Allow unused extern crates
Github user allengeorge commented on the issue: https://github.com/apache/thrift/pull/1360 @sadikovi Sorry for the delay - was away this weekend. Ah, ok. That makes total sense. You probably don't have any floats in your IDL, or anything that would use the `TryFrom` conversion. LGTM. @Jens-G LGTM; could you merge this please? TY! ---
[jira] [Commented] (THRIFT-4330) Allow unused crates in Rust files
[ https://issues.apache.org/jira/browse/THRIFT-4330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16169889#comment-16169889 ] ASF GitHub Bot commented on THRIFT-4330: Github user allengeorge commented on the issue: https://github.com/apache/thrift/pull/1360 @sadikovi Sorry for the delay - was away this weekend. Ah, ok. That makes total sense. You probably don't have any floats in your IDL, or anything that would use the `TryFrom` conversion. LGTM. @Jens-G LGTM; could you merge this please? TY! > Allow unused crates in Rust files > - > > Key: THRIFT-4330 > URL: https://issues.apache.org/jira/browse/THRIFT-4330 > Project: Thrift > Issue Type: Improvement >Reporter: Ivan Sadikov >Priority: Trivial > Fix For: 0.11.0 > > > Currently thrift generated .rs files include following attributes: > #![allow(unused_imports)] > #![cfg_attr(feature = "cargo-clippy", allow(too_many_arguments, > type_complexity))] > #![cfg_attr(rustfmt, rustfmt_skip)] > I propose to add > #![allow(unused_extern_crates)] > to remove warning when using Rust nightly. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (THRIFT-4333) All tutorial examples with port 9090.
Walter Weinmann created THRIFT-4333: --- Summary: All tutorial examples with port 9090. Key: THRIFT-4333 URL: https://issues.apache.org/jira/browse/THRIFT-4333 Project: Thrift Issue Type: Improvement Components: Tutorial Affects Versions: 0.10.0 Reporter: Walter Weinmann Priority: Minor All examples in the tutorial should use the same port (9090) to make it easier to test with a mix of languages. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] thrift pull request #1364: THRIFT-4333 All tutorial examples with port 9090.
GitHub user walter-weinmann opened a pull request: https://github.com/apache/thrift/pull/1364 THRIFT-4333 All tutorial examples with port 9090. You can merge this pull request into a Git repository by running: $ git pull https://github.com/walter-weinmann/thrift THRIFT-4333 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1364.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1364 commit 579fba9062c207cb742262c36c421ce951dc Author: walter-weinmann Date: 2017-09-18T18:18:50Z THRIFT-4333 All tutorial examples with port 9090. ---
[jira] [Commented] (THRIFT-4333) All tutorial examples with port 9090.
[ https://issues.apache.org/jira/browse/THRIFT-4333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16170436#comment-16170436 ] ASF GitHub Bot commented on THRIFT-4333: GitHub user walter-weinmann opened a pull request: https://github.com/apache/thrift/pull/1364 THRIFT-4333 All tutorial examples with port 9090. You can merge this pull request into a Git repository by running: $ git pull https://github.com/walter-weinmann/thrift THRIFT-4333 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1364.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1364 commit 579fba9062c207cb742262c36c421ce951dc Author: walter-weinmann Date: 2017-09-18T18:18:50Z THRIFT-4333 All tutorial examples with port 9090. > All tutorial examples with port 9090. > -- > > Key: THRIFT-4333 > URL: https://issues.apache.org/jira/browse/THRIFT-4333 > Project: Thrift > Issue Type: Improvement > Components: Tutorial >Affects Versions: 0.10.0 >Reporter: Walter Weinmann >Priority: Minor > Labels: Erlang, Tutorial > > All examples in the tutorial should use the same port (9090) to make it > easier to test with a mix of languages. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] thrift issue #1364: THRIFT-4333 All tutorial examples with port 9090.
Github user walter-weinmann commented on the issue: https://github.com/apache/thrift/pull/1364 This closes #1364 ---
[jira] [Commented] (THRIFT-4333) All tutorial examples with port 9090.
[ https://issues.apache.org/jira/browse/THRIFT-4333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16170439#comment-16170439 ] ASF GitHub Bot commented on THRIFT-4333: Github user walter-weinmann commented on the issue: https://github.com/apache/thrift/pull/1364 This closes #1364 > All tutorial examples with port 9090. > -- > > Key: THRIFT-4333 > URL: https://issues.apache.org/jira/browse/THRIFT-4333 > Project: Thrift > Issue Type: Improvement > Components: Tutorial >Affects Versions: 0.10.0 >Reporter: Walter Weinmann >Priority: Minor > Labels: Erlang, Tutorial > > All examples in the tutorial should use the same port (9090) to make it > easier to test with a mix of languages. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (THRIFT-4312) Erlang client cannot connect to Python server: exception error: econnrefused
[ https://issues.apache.org/jira/browse/THRIFT-4312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16170454#comment-16170454 ] Walter Weinmann commented on THRIFT-4312: - Using the {{*TSocket.TServerSocket*}} function without host parameters leads to ambiguity in an IPv4 / IPv6 environment: {{ping localhost}} returns IP address:: 1: and not 127.0.0.0.1 as expected. > Erlang client cannot connect to Python server: exception error: econnrefused > > > Key: THRIFT-4312 > URL: https://issues.apache.org/jira/browse/THRIFT-4312 > Project: Thrift > Issue Type: Bug > Components: Erlang - Library, Python - Library, Tutorial >Affects Versions: 0.10.0 > Environment: Windows 10 > Erlang OTP 20 > Python 3.6.2 >Reporter: Walter Weinmann > Labels: Connection, Erlang, Python, Tutorial > > h3. Connecting the Erlang client with the Python server gives connection > error: > h3. > h4. Erlang client: > h4. > h4. > -- the examples are taken from the Apache Thrift tutorials --- > {quote}-module(client). > -include("calculator_thrift.hrl"). > -export([t/0]). > p(X) -> > io:format("~p~n", [X]), > ok. > t() -> > Port = 9090, > {ok, Client0} = thrift_client_util:new("localhost", >Port, >calculator_thrift, >[]), > {Client1, {ok, ok}} = thrift_client:call(Client0, ping, []), > io:format("ping~n", []), > {Client2, {ok, Sum}} = thrift_client:call(Client1, add, [1, 1]), > io:format("1+1=~p~n", [Sum]), > {Client3, {ok, Sum1}} = thrift_client:call(Client2, add, [1, 4]), > io:format("1+4=~p~n", [Sum1]), > Work = #'Work'{op=?TUTORIAL_OPERATION_SUBTRACT, > num1=15, > num2=10}, > {Client4, {ok, Diff}} = thrift_client:call(Client3, calculate, [1, Work]), > io:format("15-10=~p~n", [Diff]), > {Client5, {ok, Log}} = thrift_client:call(Client4, getStruct, [1]), > io:format("Log: ~p~n", [Log]), > Client6 = > try > Work1 = #'Work'{op=?TUTORIAL_OPERATION_DIVIDE, > num1=1, > num2=0}, > {ClientS1, {ok, _Quot}} = thrift_client:call(Client5, calculate, > [2, Work1]), > io:format("LAME: exception handling is broken~n", []), > ClientS1 > catch > throw:{ClientS2, Z} -> > io:format("Got exception where expecting - the " ++ > "following is NOT a problem!!!~n"), > p(Z), > ClientS2 > end, > {Client7, {ok, ok}} = thrift_client:call(Client6, zip, []), > io:format("zip~n", []), > {_Client8, ok} = thrift_client:close(Client7), > ok. > {quote} > h4. Python server: > h4. > {quote}#!/usr/bin/env python > from tutorial import Calculator > from tutorial.ttypes import InvalidOperation, Operation > from shared.ttypes import SharedStruct > from thrift.transport import TSocket > from thrift.transport import TTransport > from thrift.protocol import TBinaryProtocol > from thrift.server import TServer > class CalculatorHandler: > def __init__(self): > self.log = {} > def ping(self): > print('ping()') > def add(self, n1, n2): > print('add(%d,%d)' % (n1, n2)) > return n1 + n2 > def calculate(self, logid, work): > print('calculate(%d, %r)' % (logid, work)) > if work.op == Operation.ADD: > val = work.num1 + work.num2 > elif work.op == Operation.SUBTRACT: > val = work.num1 - work.num2 > elif work.op == Operation.MULTIPLY: > val = work.num1 * work.num2 > elif work.op == Operation.DIVIDE: > if work.num2 == 0: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Cannot divide by 0' > raise x > val = work.num1 / work.num2 > else: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Invalid operation' > raise x > log = SharedStruct() > log.key = logid > log.value = '%d' % (val) > self.log[logid] = log > return val > def getStruct(self, key): > print('getStruct(%d)' % (key)) > return self.log[key] > def zip(self): > print('zip()') > if __name__ == '__main__': > handler = CalculatorHandler() > processor = Calculator.Processor(handler) > transport = TSocket.TServerSocket(port=9090) > tfactory = TTransport.TBufferedTransportFactory() > pfactory = TBinaryProtocol.TBinaryProtocolFactory() > server = TServer.TSi
[GitHub] thrift pull request #1365: THRIFT-4312 Erlang client cannot connect to Pytho...
GitHub user walter-weinmann opened a pull request: https://github.com/apache/thrift/pull/1365 THRIFT-4312 Erlang client cannot connect to Python server: exception ⦠â¦error: econnrefused You can merge this pull request into a Git repository by running: $ git pull https://github.com/walter-weinmann/thrift THRIFT-4312 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1365.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1365 commit 7f7a182cb466301bb6f98075e0d10b3d0b45b8e5 Author: walter-weinmann Date: 2017-09-18T18:32:10Z THRIFT-4312 Erlang client cannot connect to Python server: exception error: econnrefused ---
[jira] [Commented] (THRIFT-4312) Erlang client cannot connect to Python server: exception error: econnrefused
[ https://issues.apache.org/jira/browse/THRIFT-4312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16170459#comment-16170459 ] ASF GitHub Bot commented on THRIFT-4312: GitHub user walter-weinmann opened a pull request: https://github.com/apache/thrift/pull/1365 THRIFT-4312 Erlang client cannot connect to Python server: exception … …error: econnrefused You can merge this pull request into a Git repository by running: $ git pull https://github.com/walter-weinmann/thrift THRIFT-4312 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1365.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1365 commit 7f7a182cb466301bb6f98075e0d10b3d0b45b8e5 Author: walter-weinmann Date: 2017-09-18T18:32:10Z THRIFT-4312 Erlang client cannot connect to Python server: exception error: econnrefused > Erlang client cannot connect to Python server: exception error: econnrefused > > > Key: THRIFT-4312 > URL: https://issues.apache.org/jira/browse/THRIFT-4312 > Project: Thrift > Issue Type: Bug > Components: Erlang - Library, Python - Library, Tutorial >Affects Versions: 0.10.0 > Environment: Windows 10 > Erlang OTP 20 > Python 3.6.2 >Reporter: Walter Weinmann > Labels: Connection, Erlang, Python, Tutorial > > h3. Connecting the Erlang client with the Python server gives connection > error: > h3. > h4. Erlang client: > h4. > h4. > -- the examples are taken from the Apache Thrift tutorials --- > {quote}-module(client). > -include("calculator_thrift.hrl"). > -export([t/0]). > p(X) -> > io:format("~p~n", [X]), > ok. > t() -> > Port = 9090, > {ok, Client0} = thrift_client_util:new("localhost", >Port, >calculator_thrift, >[]), > {Client1, {ok, ok}} = thrift_client:call(Client0, ping, []), > io:format("ping~n", []), > {Client2, {ok, Sum}} = thrift_client:call(Client1, add, [1, 1]), > io:format("1+1=~p~n", [Sum]), > {Client3, {ok, Sum1}} = thrift_client:call(Client2, add, [1, 4]), > io:format("1+4=~p~n", [Sum1]), > Work = #'Work'{op=?TUTORIAL_OPERATION_SUBTRACT, > num1=15, > num2=10}, > {Client4, {ok, Diff}} = thrift_client:call(Client3, calculate, [1, Work]), > io:format("15-10=~p~n", [Diff]), > {Client5, {ok, Log}} = thrift_client:call(Client4, getStruct, [1]), > io:format("Log: ~p~n", [Log]), > Client6 = > try > Work1 = #'Work'{op=?TUTORIAL_OPERATION_DIVIDE, > num1=1, > num2=0}, > {ClientS1, {ok, _Quot}} = thrift_client:call(Client5, calculate, > [2, Work1]), > io:format("LAME: exception handling is broken~n", []), > ClientS1 > catch > throw:{ClientS2, Z} -> > io:format("Got exception where expecting - the " ++ > "following is NOT a problem!!!~n"), > p(Z), > ClientS2 > end, > {Client7, {ok, ok}} = thrift_client:call(Client6, zip, []), > io:format("zip~n", []), > {_Client8, ok} = thrift_client:close(Client7), > ok. > {quote} > h4. Python server: > h4. > {quote}#!/usr/bin/env python > from tutorial import Calculator > from tutorial.ttypes import InvalidOperation, Operation > from shared.ttypes import SharedStruct > from thrift.transport import TSocket > from thrift.transport import TTransport > from thrift.protocol import TBinaryProtocol > from thrift.server import TServer > class CalculatorHandler: > def __init__(self): > self.log = {} > def ping(self): > print('ping()') > def add(self, n1, n2): > print('add(%d,%d)' % (n1, n2)) > return n1 + n2 > def calculate(self, logid, work): > print('calculate(%d, %r)' % (logid, work)) > if work.op == Operation.ADD: > val = work.num1 + work.num2 > elif work.op == Operation.SUBTRACT: > val = work.num1 - work.num2 > elif work.op == Operation.MULTIPLY: > val = work.num1 * work.num2 > elif work.op == Operation.DIVIDE: > if work.num2 == 0: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Cannot divide by 0' > raise x > val = work.num1 / work.num2 > else: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Invalid operation'
[GitHub] thrift issue #1365: THRIFT-4312 Erlang client cannot connect to Python serve...
Github user walter-weinmann commented on the issue: https://github.com/apache/thrift/pull/1365 This closes #1365 ---
[jira] [Commented] (THRIFT-4312) Erlang client cannot connect to Python server: exception error: econnrefused
[ https://issues.apache.org/jira/browse/THRIFT-4312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16170463#comment-16170463 ] ASF GitHub Bot commented on THRIFT-4312: Github user walter-weinmann commented on the issue: https://github.com/apache/thrift/pull/1365 This closes #1365 > Erlang client cannot connect to Python server: exception error: econnrefused > > > Key: THRIFT-4312 > URL: https://issues.apache.org/jira/browse/THRIFT-4312 > Project: Thrift > Issue Type: Bug > Components: Erlang - Library, Python - Library, Tutorial >Affects Versions: 0.10.0 > Environment: Windows 10 > Erlang OTP 20 > Python 3.6.2 >Reporter: Walter Weinmann > Labels: Connection, Erlang, Python, Tutorial > > h3. Connecting the Erlang client with the Python server gives connection > error: > h3. > h4. Erlang client: > h4. > h4. > -- the examples are taken from the Apache Thrift tutorials --- > {quote}-module(client). > -include("calculator_thrift.hrl"). > -export([t/0]). > p(X) -> > io:format("~p~n", [X]), > ok. > t() -> > Port = 9090, > {ok, Client0} = thrift_client_util:new("localhost", >Port, >calculator_thrift, >[]), > {Client1, {ok, ok}} = thrift_client:call(Client0, ping, []), > io:format("ping~n", []), > {Client2, {ok, Sum}} = thrift_client:call(Client1, add, [1, 1]), > io:format("1+1=~p~n", [Sum]), > {Client3, {ok, Sum1}} = thrift_client:call(Client2, add, [1, 4]), > io:format("1+4=~p~n", [Sum1]), > Work = #'Work'{op=?TUTORIAL_OPERATION_SUBTRACT, > num1=15, > num2=10}, > {Client4, {ok, Diff}} = thrift_client:call(Client3, calculate, [1, Work]), > io:format("15-10=~p~n", [Diff]), > {Client5, {ok, Log}} = thrift_client:call(Client4, getStruct, [1]), > io:format("Log: ~p~n", [Log]), > Client6 = > try > Work1 = #'Work'{op=?TUTORIAL_OPERATION_DIVIDE, > num1=1, > num2=0}, > {ClientS1, {ok, _Quot}} = thrift_client:call(Client5, calculate, > [2, Work1]), > io:format("LAME: exception handling is broken~n", []), > ClientS1 > catch > throw:{ClientS2, Z} -> > io:format("Got exception where expecting - the " ++ > "following is NOT a problem!!!~n"), > p(Z), > ClientS2 > end, > {Client7, {ok, ok}} = thrift_client:call(Client6, zip, []), > io:format("zip~n", []), > {_Client8, ok} = thrift_client:close(Client7), > ok. > {quote} > h4. Python server: > h4. > {quote}#!/usr/bin/env python > from tutorial import Calculator > from tutorial.ttypes import InvalidOperation, Operation > from shared.ttypes import SharedStruct > from thrift.transport import TSocket > from thrift.transport import TTransport > from thrift.protocol import TBinaryProtocol > from thrift.server import TServer > class CalculatorHandler: > def __init__(self): > self.log = {} > def ping(self): > print('ping()') > def add(self, n1, n2): > print('add(%d,%d)' % (n1, n2)) > return n1 + n2 > def calculate(self, logid, work): > print('calculate(%d, %r)' % (logid, work)) > if work.op == Operation.ADD: > val = work.num1 + work.num2 > elif work.op == Operation.SUBTRACT: > val = work.num1 - work.num2 > elif work.op == Operation.MULTIPLY: > val = work.num1 * work.num2 > elif work.op == Operation.DIVIDE: > if work.num2 == 0: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Cannot divide by 0' > raise x > val = work.num1 / work.num2 > else: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Invalid operation' > raise x > log = SharedStruct() > log.key = logid > log.value = '%d' % (val) > self.log[logid] = log > return val > def getStruct(self, key): > print('getStruct(%d)' % (key)) > return self.log[key] > def zip(self): > print('zip()') > if __name__ == '__main__': > handler = CalculatorHandler() > processor = Calculator.Processor(handler) > transport = TSocket.TServerSocket(port=9090) > tfactory = TTransport.TBufferedTransportFactory() > pfactory = TBinaryProtocol.TBinaryProtocolFactory() > server = TServer.TSimpleServer(processor, transport, tfactory, pfactory) > # You could do on
[jira] [Created] (THRIFT-4334) Perl indentation incorrect when defaulting field attribute to a struct
Brian Forbis created THRIFT-4334: Summary: Perl indentation incorrect when defaulting field attribute to a struct Key: THRIFT-4334 URL: https://issues.apache.org/jira/browse/THRIFT-4334 Project: Thrift Issue Type: Bug Components: Perl - Compiler Affects Versions: 0.10.0 Reporter: Brian Forbis Priority: Trivial Improper indentation is used when defaulting an attribute in a struct to another struct or hash: See the following example thrift {code} namespace perl ThriftTest struct Header { 1: map foobar = {"foo": "bar"} } struct Struct { 1: Header header = {"foobar": {"baz": "bat"}} 2: string foo } {code} Header constructor: _This uses improper indentation when specifying the hash keys to use in the initialization of foobar, but the indentation is returned to the correct level afterwards_ {code} package ThriftTest::Header; use base qw(Class::Accessor); ThriftTest::Header->mk_accessors( qw( foobar ) ); sub new { my $classname = shift; my $self = {}; my $vals = shift || {}; $self->{foobar} = { "foo" => "bar", }; if (UNIVERSAL::isa($vals,'HASH')) { if (defined $vals->{foobar}) { $self->{foobar} = $vals->{foobar}; } } return bless ($self, $classname); } {code} Struct constructor: _This uses improper indentation when specifying the hash keys to use in the initialization of foobar, but the indentation is NOT returned to the correct level afterwards_ {code} package ThriftTest::Struct; use base qw(Class::Accessor); ThriftTest::Struct->mk_accessors( qw( header foo ) ); sub new { my $classname = shift; my $self = {}; my $vals = shift || {}; $self->{header} = undef; $self->{foo} = undef; $self->{header} = new ThriftTest::Header({ "foobar" => { "baz" => "bat", }, }); if (UNIVERSAL::isa($vals,'HASH')) { if (defined $vals->{header}) { $self->{header} = $vals->{header}; } if (defined $vals->{foo}) { $self->{foo} = $vals->{foo}; } } return bless ($self, $classname); } {code} Since this indentation bug is additive, every struct in the file that default instantiates a struct in its constructor will offset the indentation to the right by one level. The cause of this bug looks to be in *t_perl_generator::render_const_value()*, which does not indent the keys set in the sub-object constructors. It also does not set indent_down() at the end of instantiating the object. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (THRIFT-4334) Perl indentation incorrect when defaulting field attribute to a struct
[ https://issues.apache.org/jira/browse/THRIFT-4334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brian Forbis updated THRIFT-4334: - Description: Improper indentation is used when defaulting an attribute in a struct to another struct or hash: See the following example thrift {code} namespace perl ThriftTest struct Header { 1: map foobar = {"foo": "bar"} } struct Struct { 1: Header header = {"foobar": {"baz": "bat"}} 2: string foo } {code} Header constructor: _This uses improper indentation when specifying the hash keys to use in the initialization of foobar, but the indentation is returned to the correct level afterwards_ {code} package ThriftTest::Header; use base qw(Class::Accessor); ThriftTest::Header->mk_accessors( qw( foobar ) ); sub new { my $classname = shift; my $self = {}; my $vals = shift || {}; $self->{foobar} = { "foo" => "bar", }; if (UNIVERSAL::isa($vals,'HASH')) { if (defined $vals->{foobar}) { $self->{foobar} = $vals->{foobar}; } } return bless ($self, $classname); } {code} Struct constructor: _This uses improper indentation when specifying the hash keys to use in the initialization of ThriftTest::Header, but the indentation is NOT returned to the correct level afterwards_ {code} package ThriftTest::Struct; use base qw(Class::Accessor); ThriftTest::Struct->mk_accessors( qw( header foo ) ); sub new { my $classname = shift; my $self = {}; my $vals = shift || {}; $self->{header} = undef; $self->{foo} = undef; $self->{header} = new ThriftTest::Header({ "foobar" => { "baz" => "bat", }, }); if (UNIVERSAL::isa($vals,'HASH')) { if (defined $vals->{header}) { $self->{header} = $vals->{header}; } if (defined $vals->{foo}) { $self->{foo} = $vals->{foo}; } } return bless ($self, $classname); } {code} Since this indentation bug is additive, every struct in the file that default instantiates a struct in its constructor will offset the indentation to the right by one level. The cause of this bug looks to be in *t_perl_generator::render_const_value()*, which does not indent the keys set in the sub-object constructors. It also does not set indent_down() at the end of instantiating the object. was: Improper indentation is used when defaulting an attribute in a struct to another struct or hash: See the following example thrift {code} namespace perl ThriftTest struct Header { 1: map foobar = {"foo": "bar"} } struct Struct { 1: Header header = {"foobar": {"baz": "bat"}} 2: string foo } {code} Header constructor: _This uses improper indentation when specifying the hash keys to use in the initialization of foobar, but the indentation is returned to the correct level afterwards_ {code} package ThriftTest::Header; use base qw(Class::Accessor); ThriftTest::Header->mk_accessors( qw( foobar ) ); sub new { my $classname = shift; my $self = {}; my $vals = shift || {}; $self->{foobar} = { "foo" => "bar", }; if (UNIVERSAL::isa($vals,'HASH')) { if (defined $vals->{foobar}) { $self->{foobar} = $vals->{foobar}; } } return bless ($self, $classname); } {code} Struct constructor: _This uses improper indentation when specifying the hash keys to use in the initialization of foobar, but the indentation is NOT returned to the correct level afterwards_ {code} package ThriftTest::Struct; use base qw(Class::Accessor); ThriftTest::Struct->mk_accessors( qw( header foo ) ); sub new { my $classname = shift; my $self = {}; my $vals = shift || {}; $self->{header} = undef; $self->{foo} = undef; $self->{header} = new ThriftTest::Header({ "foobar" => { "baz" => "bat", }, }); if (UNIVERSAL::isa($vals,'HASH')) { if (defined $vals->{header}) { $self->{header} = $vals->{header}; } if (defined $vals->{foo}) { $self->{foo} = $vals->{foo}; } } return bless ($self, $classname); } {code} Since this indentation bug is additive, every struct in the file that default instantiates a struct in its constructor will offset the indentation to the right by one level. The cause of this bug looks to be in *t_perl_generator::render_const_value()*, which does not indent the keys set in the sub-object constructors. It also does not set indent_down() at the end of instantiating the object. > Perl indentation incorrect when defaulting field attribute to a struct > -- > > Key: THRIFT-4334 > URL: https://issues.apache.org/jira/browse/THRIFT-4334 > Project: Thrift > Issue Type: Bug > Components: Perl - Compiler >Affects Versions: 0.10.0 >Reporter: Brian Forbis >Priority: Trivial > > Improper indentation is used when defaulting an attribute in a struct to > another struct or h
[jira] [Updated] (THRIFT-4334) Perl indentation incorrect when defaulting field attribute to a struct
[ https://issues.apache.org/jira/browse/THRIFT-4334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brian Forbis updated THRIFT-4334: - Description: Improper indentation is used when defaulting an attribute in a struct to another struct or hash: See the following example thrift {code} namespace perl ThriftTest struct Header { 1: map foobar = {"foo": "bar"} } struct Struct { 1: Header header = {"foobar": {"baz": "bat"}} 2: string foo } {code} Header constructor: _This uses improper indentation when specifying the hash keys to use in the initialization of foobar, but the indentation is returned to the correct level afterwards_ {code} package ThriftTest::Header; use base qw(Class::Accessor); ThriftTest::Header->mk_accessors( qw( foobar ) ); sub new { my $classname = shift; my $self = {}; my $vals = shift || {}; $self->{foobar} = { "foo" => "bar", }; if (UNIVERSAL::isa($vals,'HASH')) { if (defined $vals->{foobar}) { $self->{foobar} = $vals->{foobar}; } } return bless ($self, $classname); } {code} Struct constructor: _This uses improper indentation when specifying the hash keys to use in the initialization of ThriftTest::Header, but the indentation is NOT returned to the correct level afterwards_ {code} package ThriftTest::Struct; use base qw(Class::Accessor); ThriftTest::Struct->mk_accessors( qw( header foo ) ); sub new { my $classname = shift; my $self = {}; my $vals = shift || {}; $self->{header} = undef; $self->{foo} = undef; $self->{header} = new ThriftTest::Header({ "foobar" => { "baz" => "bat", }, }); if (UNIVERSAL::isa($vals,'HASH')) { if (defined $vals->{header}) { $self->{header} = $vals->{header}; } if (defined $vals->{foo}) { $self->{foo} = $vals->{foo}; } } return bless ($self, $classname); } {code} Since this indentation bug is additive, every struct in the file that default instantiates a struct in its constructor will offset the indentation to the right by one level. The cause of this bug looks to be in *t_perl_generator::render_const_value()*, which does not *indent()* the keys set in the sub-object constructors. It also does not set *indent_down()* at the end of instantiating the object. was: Improper indentation is used when defaulting an attribute in a struct to another struct or hash: See the following example thrift {code} namespace perl ThriftTest struct Header { 1: map foobar = {"foo": "bar"} } struct Struct { 1: Header header = {"foobar": {"baz": "bat"}} 2: string foo } {code} Header constructor: _This uses improper indentation when specifying the hash keys to use in the initialization of foobar, but the indentation is returned to the correct level afterwards_ {code} package ThriftTest::Header; use base qw(Class::Accessor); ThriftTest::Header->mk_accessors( qw( foobar ) ); sub new { my $classname = shift; my $self = {}; my $vals = shift || {}; $self->{foobar} = { "foo" => "bar", }; if (UNIVERSAL::isa($vals,'HASH')) { if (defined $vals->{foobar}) { $self->{foobar} = $vals->{foobar}; } } return bless ($self, $classname); } {code} Struct constructor: _This uses improper indentation when specifying the hash keys to use in the initialization of ThriftTest::Header, but the indentation is NOT returned to the correct level afterwards_ {code} package ThriftTest::Struct; use base qw(Class::Accessor); ThriftTest::Struct->mk_accessors( qw( header foo ) ); sub new { my $classname = shift; my $self = {}; my $vals = shift || {}; $self->{header} = undef; $self->{foo} = undef; $self->{header} = new ThriftTest::Header({ "foobar" => { "baz" => "bat", }, }); if (UNIVERSAL::isa($vals,'HASH')) { if (defined $vals->{header}) { $self->{header} = $vals->{header}; } if (defined $vals->{foo}) { $self->{foo} = $vals->{foo}; } } return bless ($self, $classname); } {code} Since this indentation bug is additive, every struct in the file that default instantiates a struct in its constructor will offset the indentation to the right by one level. The cause of this bug looks to be in *t_perl_generator::render_const_value()*, which does not indent the keys set in the sub-object constructors. It also does not set indent_down() at the end of instantiating the object. > Perl indentation incorrect when defaulting field attribute to a struct > -- > > Key: THRIFT-4334 > URL: https://issues.apache.org/jira/browse/THRIFT-4334 > Project: Thrift > Issue Type: Bug > Components: Perl - Compiler >Affects Versions: 0.10.0 >Reporter: Brian Forbis >Priority: Trivial > > Improper indentation is used when defaulting an attribute in a struct to > a
[jira] [Created] (THRIFT-4335) Golang TPipe Windows implementation
Zach Wasserman created THRIFT-4335: -- Summary: Golang TPipe Windows implementation Key: THRIFT-4335 URL: https://issues.apache.org/jira/browse/THRIFT-4335 Project: Thrift Issue Type: Improvement Components: Go - Library Reporter: Zach Wasserman We are interested in adding support for the TPipe transport in the Golang Windows library. This support already exists in the C++ library (https://thrift.apache.org/lib/cpp#named-pipes), and is useful for an alternative to TCP on Windows. Would the maintainers be interested in merging a patch adding this functionality? Microsoft publishes an (MIT licensed) library that provides {{net.Conn}} support for named pipes (https://github.com/Microsoft/go-winio/blob/master/pipe.go#L138, https://github.com/Microsoft/go-winio/blob/master/pipe.go#L317). Is it possible to add this as a dependency for the Thrift Go library? Any guidance would be appreciated, as I'd love to start implementing it ASAP. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (THRIFT-4335) Golang TPipe Windows implementation
[ https://issues.apache.org/jira/browse/THRIFT-4335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16170967#comment-16170967 ] Zach Wasserman commented on THRIFT-4335: I also wonder whether we could pass the {{net.Conn}} provided by {{go-winio}} to {{NewTSocketFromConnTimeout}} (https://godoc.org/git.apache.org/thrift.git/lib/go/thrift#NewTSocketFromConnTimeout)? I will experiment with this, but I would be very curious to hear opinions on whether it might work. > Golang TPipe Windows implementation > --- > > Key: THRIFT-4335 > URL: https://issues.apache.org/jira/browse/THRIFT-4335 > Project: Thrift > Issue Type: Improvement > Components: Go - Library >Reporter: Zach Wasserman > > We are interested in adding support for the TPipe transport in the Golang > Windows library. This support already exists in the C++ library > (https://thrift.apache.org/lib/cpp#named-pipes), and is useful for an > alternative to TCP on Windows. Would the maintainers be interested in merging > a patch adding this functionality? > Microsoft publishes an (MIT licensed) library that provides {{net.Conn}} > support for named pipes > (https://github.com/Microsoft/go-winio/blob/master/pipe.go#L138, > https://github.com/Microsoft/go-winio/blob/master/pipe.go#L317). Is it > possible to add this as a dependency for the Thrift Go library? > Any guidance would be appreciated, as I'd love to start implementing it ASAP. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[GitHub] thrift pull request #1364: THRIFT-4333 All tutorial examples with port 9090.
Github user walter-weinmann closed the pull request at: https://github.com/apache/thrift/pull/1364 ---
[GitHub] thrift pull request #1364: THRIFT-4333 All tutorial examples with port 9090.
GitHub user walter-weinmann reopened a pull request: https://github.com/apache/thrift/pull/1364 THRIFT-4333 All tutorial examples with port 9090. You can merge this pull request into a Git repository by running: $ git pull https://github.com/walter-weinmann/thrift THRIFT-4333 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1364.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1364 commit 579fba9062c207cb742262c36c421ce951dc Author: walter-weinmann Date: 2017-09-18T18:18:50Z THRIFT-4333 All tutorial examples with port 9090. ---
[GitHub] thrift issue #1364: THRIFT-4333 All tutorial examples with port 9090.
Github user walter-weinmann commented on the issue: https://github.com/apache/thrift/pull/1364 Travis issues: Step 4: = ``` [4mRunning "concat:dist" (concat) task[24m [4mRunning "uglify:dist" (uglify) task[24m File [36mdist/thrift.min.js[39m created: [32m46.89 kB[39m ââ â [32m15.4 kB[39m [32m>> [39m1 file created. [4mRunning "jsdoc:dist" (jsdoc) task[24m [31m>> [39mfs.js:1919[31m >> [39m binding.copyFile(src, dest, flags);[31m >> [39m ^[31m >> [39m[31m >> [39mError: EISDIR: illegal operation on a directory, copyfile '/thrift/src/lib/js/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Bold-webfont.eot' -> 'doc/fonts'[31m >> [39mat Object.fs.copyFileSync (fs.js:1919:11)[31m >> [39mat /thrift/src/lib/js/node_modules/jsdoc/templates/default/publish.js:471:12[31m >> [39mat Array.forEach ()[31m >> [39mat Object.exports.publish (/thrift/src/lib/js/node_modules/jsdoc/templates/default/publish.js:468:17)[31m >> [39mat Object.module.exports.cli.generateDocs (/thrift/src/lib/js/node_modules/jsdoc/cli.js:430:39)[31m >> [39mat Object.module.exports.cli.processParseResults (/thrift/src/lib/js/node_modules/jsdoc/cli.js:383:20)[31m >> [39mat module.exports.cli.main (/thrift/src/lib/js/node_modules/jsdoc/cli.js:227:14)[31m >> [39mat Object.module.exports.cli.runCommand (/thrift/src/lib/js/node_modules/jsdoc/cli.js:180:5)[31m >> [39mat /thrift/src/lib/js/node_modules/jsdoc/jsdoc.js:103:9[31m >> [39mat Object. (/thrift/src/lib/js/node_modules/jsdoc/jsdoc.js:104:3)[31m >> [39mat Module._compile (module.js:624:30)[31m >> [39mat Object.Module._extensions..js (module.js:635:10)[31m >> [39mat Module.load (module.js:545:32)[31m >> [39mat tryModuleLoad (module.js:508:12)[31m >> [39mat Function.Module._load (module.js:500:3)[31m >> [39mat Function.Module.runMain (module.js:665:10) [33mWarning: jsdoc terminated with a non-zero exit code Use --force to continue.[39m [31mAborted due to warnings.[39m Makefile:805: recipe for target 'check-local' failed make[4]: *** [check-local] Error 3 make[4]: Leaving directory '/thrift/src/lib/js' Makefile:680: recipe for target 'check-am' failed make[3]: *** [check-am] Error 2 make[3]: Leaving directory '/thrift/src/lib/js' Makefile:531: recipe for target 'check-recursive' failed make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory '/thrift/src/lib/js' Makefile:576: recipe for target 'check-recursive' failed make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory '/thrift/src/lib' Makefile:655: recipe for target 'check-recursive' failed make: *** [check-recursive] Error 1 travis_time:end:11f01776:start=1505760613591519248,finish=1505761268140106728,duration=654548587480 [0K [31;1mThe command "docker run --net=host -e BUILD_LIBS="$BUILD_LIBS" $BUILD_ENV -v $(pwd):/thrift/src -it thrift-build:$DISTRO build/docker/scripts/$SCRIPT $BUILD_ARG" exited with 2.[0m Done. Your build exited with 1. ``` Step 10: = ``` [4mRunning "concat:dist" (concat) task[24m [4mRunning "uglify:dist" (uglify) task[24m File [36mdist/thrift.min.js[39m created: [32m46.89 kB[39m ââ â [32m15.4 kB[39m [32m>> [39m1 file created. [4mRunning "jsdoc:dist" (jsdoc) task[24m [31m>> [39mfs.js:1919[31m >> [39m binding.copyFile(src, dest, flags);[31m >> [39m ^[31m >> [39m[31m >> [39mError: EISDIR: illegal operation on a directory, copyfile '/thrift/src/lib/js/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Bold-webfont.eot' -> 'doc/fonts'[31m >> [39mat Object.fs.copyFileSync (fs.js:1919:11)[31m >> [39mat /thrift/src/lib/js/node_modules/jsdoc/templates/default/publish.js:471:12[31m >> [39mat Array.forEach ()[31m >> [39mat Object.exports.publish (/thrift/src/lib/js/node_modules/jsdoc/templates/default/publish.js:468:17)[31m >> [39mat Object.module.exports.cli.generateDocs (/thrift/src/lib/js/node_modules/jsdoc/cli.js:430:39)[31m >> [39mat Object.module.exports.cli.processParseResults (/thrift/src/lib/js/node_modules/jsdoc/cli.js:383:20)[31m >> [39mat module.exports.cli.main (/thrift/src/lib/js/node_modules/jsdoc/cli.js:227:14)[31m >> [39mat Object.module.exports.cli.runCommand (/thrift/src/lib/js/node_modules/jsdoc/cli.js:180:5)[31m >> [39mat /thrift/src/lib/js/node_modules/jsdoc/jsdoc.js:103:9[31m >> [39mat Object. (/thrift/src/lib/js/node_modules/jsdoc/jsdoc.js:104:3)[31m >> [39mat Module._compile (module.js:624:30)[31m >> [39mat Object.Module._extensions..j
[jira] [Commented] (THRIFT-4333) All tutorial examples with port 9090.
[ https://issues.apache.org/jira/browse/THRIFT-4333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16171089#comment-16171089 ] ASF GitHub Bot commented on THRIFT-4333: GitHub user walter-weinmann reopened a pull request: https://github.com/apache/thrift/pull/1364 THRIFT-4333 All tutorial examples with port 9090. You can merge this pull request into a Git repository by running: $ git pull https://github.com/walter-weinmann/thrift THRIFT-4333 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1364.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1364 commit 579fba9062c207cb742262c36c421ce951dc Author: walter-weinmann Date: 2017-09-18T18:18:50Z THRIFT-4333 All tutorial examples with port 9090. > All tutorial examples with port 9090. > -- > > Key: THRIFT-4333 > URL: https://issues.apache.org/jira/browse/THRIFT-4333 > Project: Thrift > Issue Type: Improvement > Components: Tutorial >Affects Versions: 0.10.0 >Reporter: Walter Weinmann >Priority: Minor > Labels: Erlang, Tutorial > > All examples in the tutorial should use the same port (9090) to make it > easier to test with a mix of languages. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (THRIFT-4333) All tutorial examples with port 9090.
[ https://issues.apache.org/jira/browse/THRIFT-4333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16171088#comment-16171088 ] ASF GitHub Bot commented on THRIFT-4333: Github user walter-weinmann closed the pull request at: https://github.com/apache/thrift/pull/1364 > All tutorial examples with port 9090. > -- > > Key: THRIFT-4333 > URL: https://issues.apache.org/jira/browse/THRIFT-4333 > Project: Thrift > Issue Type: Improvement > Components: Tutorial >Affects Versions: 0.10.0 >Reporter: Walter Weinmann >Priority: Minor > Labels: Erlang, Tutorial > > All examples in the tutorial should use the same port (9090) to make it > easier to test with a mix of languages. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (THRIFT-4333) All tutorial examples with port 9090.
[ https://issues.apache.org/jira/browse/THRIFT-4333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16171087#comment-16171087 ] ASF GitHub Bot commented on THRIFT-4333: Github user walter-weinmann commented on the issue: https://github.com/apache/thrift/pull/1364 Travis issues: Step 4: = ``` [4mRunning "concat:dist" (concat) task[24m [4mRunning "uglify:dist" (uglify) task[24m File [36mdist/thrift.min.js[39m created: [32m46.89 kB[39m → [32m15.4 kB[39m [32m>> [39m1 file created. [4mRunning "jsdoc:dist" (jsdoc) task[24m [31m>> [39mfs.js:1919[31m >> [39m binding.copyFile(src, dest, flags);[31m >> [39m ^[31m >> [39m[31m >> [39mError: EISDIR: illegal operation on a directory, copyfile '/thrift/src/lib/js/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Bold-webfont.eot' -> 'doc/fonts'[31m >> [39mat Object.fs.copyFileSync (fs.js:1919:11)[31m >> [39mat /thrift/src/lib/js/node_modules/jsdoc/templates/default/publish.js:471:12[31m >> [39mat Array.forEach ()[31m >> [39mat Object.exports.publish (/thrift/src/lib/js/node_modules/jsdoc/templates/default/publish.js:468:17)[31m >> [39mat Object.module.exports.cli.generateDocs (/thrift/src/lib/js/node_modules/jsdoc/cli.js:430:39)[31m >> [39mat Object.module.exports.cli.processParseResults (/thrift/src/lib/js/node_modules/jsdoc/cli.js:383:20)[31m >> [39mat module.exports.cli.main (/thrift/src/lib/js/node_modules/jsdoc/cli.js:227:14)[31m >> [39mat Object.module.exports.cli.runCommand (/thrift/src/lib/js/node_modules/jsdoc/cli.js:180:5)[31m >> [39mat /thrift/src/lib/js/node_modules/jsdoc/jsdoc.js:103:9[31m >> [39mat Object. (/thrift/src/lib/js/node_modules/jsdoc/jsdoc.js:104:3)[31m >> [39mat Module._compile (module.js:624:30)[31m >> [39mat Object.Module._extensions..js (module.js:635:10)[31m >> [39mat Module.load (module.js:545:32)[31m >> [39mat tryModuleLoad (module.js:508:12)[31m >> [39mat Function.Module._load (module.js:500:3)[31m >> [39mat Function.Module.runMain (module.js:665:10) [33mWarning: jsdoc terminated with a non-zero exit code Use --force to continue.[39m [31mAborted due to warnings.[39m Makefile:805: recipe for target 'check-local' failed make[4]: *** [check-local] Error 3 make[4]: Leaving directory '/thrift/src/lib/js' Makefile:680: recipe for target 'check-am' failed make[3]: *** [check-am] Error 2 make[3]: Leaving directory '/thrift/src/lib/js' Makefile:531: recipe for target 'check-recursive' failed make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory '/thrift/src/lib/js' Makefile:576: recipe for target 'check-recursive' failed make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory '/thrift/src/lib' Makefile:655: recipe for target 'check-recursive' failed make: *** [check-recursive] Error 1 travis_time:end:11f01776:start=1505760613591519248,finish=1505761268140106728,duration=654548587480 [0K [31;1mThe command "docker run --net=host -e BUILD_LIBS="$BUILD_LIBS" $BUILD_ENV -v $(pwd):/thrift/src -it thrift-build:$DISTRO build/docker/scripts/$SCRIPT $BUILD_ARG" exited with 2.[0m Done. Your build exited with 1. ``` Step 10: = ``` [4mRunning "concat:dist" (concat) task[24m [4mRunning "uglify:dist" (uglify) task[24m File [36mdist/thrift.min.js[39m created: [32m46.89 kB[39m → [32m15.4 kB[39m [32m>> [39m1 file created. [4mRunning "jsdoc:dist" (jsdoc) task[24m [31m>> [39mfs.js:1919[31m >> [39m binding.copyFile(src, dest, flags);[31m >> [39m ^[31m >> [39m[31m >> [39mError: EISDIR: illegal operation on a directory, copyfile '/thrift/src/lib/js/node_modules/jsdoc/templates/default/static/fonts/OpenSans-Bold-webfont.eot' -> 'doc/fonts'[31m >> [39mat Object.fs.copyFileSync (fs.js:1919:11)[31m >> [39mat /thrift/src/lib/js/node_modules/jsdoc/templates/default/publish.js:471:12[31m >> [39mat Array.forEach ()[31m >> [39mat Object.exports.publish (/thrift/src/lib/js/node_modules/jsdoc/templates/default/publish.js:468:17)[31m >> [39mat Object.module.exports.cli.generateDocs (/thrift/src/lib/js/node_modules/jsdoc/cli.js:430:39)[31m >> [39mat Object.module.exports.cli.processParseResults (/thrift/src/lib/js/node_modules/jsdoc/cli.js:383:20)[31m >> [39mat module.exports.cli.main (/thrift/src/lib/js/node_modules/jsdoc/cli.js:227:14)[31m >> [39mat Object.module.exports.cli.runCommand (/thrift/src/lib/js/node_modules/jsdoc/cli.js:180:5)[31m >> [39mat /th
[GitHub] thrift pull request #1365: THRIFT-4312 Erlang client cannot connect to Pytho...
Github user walter-weinmann closed the pull request at: https://github.com/apache/thrift/pull/1365 ---
[GitHub] thrift issue #1365: THRIFT-4312 Erlang client cannot connect to Python serve...
Github user walter-weinmann commented on the issue: https://github.com/apache/thrift/pull/1365 The same Travis issues as in pull request #1364. ---
[GitHub] thrift pull request #1365: THRIFT-4312 Erlang client cannot connect to Pytho...
GitHub user walter-weinmann reopened a pull request: https://github.com/apache/thrift/pull/1365 THRIFT-4312 Erlang client cannot connect to Python server: exception ⦠â¦error: econnrefused You can merge this pull request into a Git repository by running: $ git pull https://github.com/walter-weinmann/thrift THRIFT-4312 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1365.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1365 commit 7f7a182cb466301bb6f98075e0d10b3d0b45b8e5 Author: walter-weinmann Date: 2017-09-18T18:32:10Z THRIFT-4312 Erlang client cannot connect to Python server: exception error: econnrefused ---
[jira] [Commented] (THRIFT-4312) Erlang client cannot connect to Python server: exception error: econnrefused
[ https://issues.apache.org/jira/browse/THRIFT-4312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16171092#comment-16171092 ] ASF GitHub Bot commented on THRIFT-4312: GitHub user walter-weinmann reopened a pull request: https://github.com/apache/thrift/pull/1365 THRIFT-4312 Erlang client cannot connect to Python server: exception … …error: econnrefused You can merge this pull request into a Git repository by running: $ git pull https://github.com/walter-weinmann/thrift THRIFT-4312 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1365.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1365 commit 7f7a182cb466301bb6f98075e0d10b3d0b45b8e5 Author: walter-weinmann Date: 2017-09-18T18:32:10Z THRIFT-4312 Erlang client cannot connect to Python server: exception error: econnrefused > Erlang client cannot connect to Python server: exception error: econnrefused > > > Key: THRIFT-4312 > URL: https://issues.apache.org/jira/browse/THRIFT-4312 > Project: Thrift > Issue Type: Bug > Components: Erlang - Library, Python - Library, Tutorial >Affects Versions: 0.10.0 > Environment: Windows 10 > Erlang OTP 20 > Python 3.6.2 >Reporter: Walter Weinmann > Labels: Connection, Erlang, Python, Tutorial > > h3. Connecting the Erlang client with the Python server gives connection > error: > h3. > h4. Erlang client: > h4. > h4. > -- the examples are taken from the Apache Thrift tutorials --- > {quote}-module(client). > -include("calculator_thrift.hrl"). > -export([t/0]). > p(X) -> > io:format("~p~n", [X]), > ok. > t() -> > Port = 9090, > {ok, Client0} = thrift_client_util:new("localhost", >Port, >calculator_thrift, >[]), > {Client1, {ok, ok}} = thrift_client:call(Client0, ping, []), > io:format("ping~n", []), > {Client2, {ok, Sum}} = thrift_client:call(Client1, add, [1, 1]), > io:format("1+1=~p~n", [Sum]), > {Client3, {ok, Sum1}} = thrift_client:call(Client2, add, [1, 4]), > io:format("1+4=~p~n", [Sum1]), > Work = #'Work'{op=?TUTORIAL_OPERATION_SUBTRACT, > num1=15, > num2=10}, > {Client4, {ok, Diff}} = thrift_client:call(Client3, calculate, [1, Work]), > io:format("15-10=~p~n", [Diff]), > {Client5, {ok, Log}} = thrift_client:call(Client4, getStruct, [1]), > io:format("Log: ~p~n", [Log]), > Client6 = > try > Work1 = #'Work'{op=?TUTORIAL_OPERATION_DIVIDE, > num1=1, > num2=0}, > {ClientS1, {ok, _Quot}} = thrift_client:call(Client5, calculate, > [2, Work1]), > io:format("LAME: exception handling is broken~n", []), > ClientS1 > catch > throw:{ClientS2, Z} -> > io:format("Got exception where expecting - the " ++ > "following is NOT a problem!!!~n"), > p(Z), > ClientS2 > end, > {Client7, {ok, ok}} = thrift_client:call(Client6, zip, []), > io:format("zip~n", []), > {_Client8, ok} = thrift_client:close(Client7), > ok. > {quote} > h4. Python server: > h4. > {quote}#!/usr/bin/env python > from tutorial import Calculator > from tutorial.ttypes import InvalidOperation, Operation > from shared.ttypes import SharedStruct > from thrift.transport import TSocket > from thrift.transport import TTransport > from thrift.protocol import TBinaryProtocol > from thrift.server import TServer > class CalculatorHandler: > def __init__(self): > self.log = {} > def ping(self): > print('ping()') > def add(self, n1, n2): > print('add(%d,%d)' % (n1, n2)) > return n1 + n2 > def calculate(self, logid, work): > print('calculate(%d, %r)' % (logid, work)) > if work.op == Operation.ADD: > val = work.num1 + work.num2 > elif work.op == Operation.SUBTRACT: > val = work.num1 - work.num2 > elif work.op == Operation.MULTIPLY: > val = work.num1 * work.num2 > elif work.op == Operation.DIVIDE: > if work.num2 == 0: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Cannot divide by 0' > raise x > val = work.num1 / work.num2 > else: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Invalid operatio
[jira] [Commented] (THRIFT-4312) Erlang client cannot connect to Python server: exception error: econnrefused
[ https://issues.apache.org/jira/browse/THRIFT-4312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16171091#comment-16171091 ] ASF GitHub Bot commented on THRIFT-4312: Github user walter-weinmann closed the pull request at: https://github.com/apache/thrift/pull/1365 > Erlang client cannot connect to Python server: exception error: econnrefused > > > Key: THRIFT-4312 > URL: https://issues.apache.org/jira/browse/THRIFT-4312 > Project: Thrift > Issue Type: Bug > Components: Erlang - Library, Python - Library, Tutorial >Affects Versions: 0.10.0 > Environment: Windows 10 > Erlang OTP 20 > Python 3.6.2 >Reporter: Walter Weinmann > Labels: Connection, Erlang, Python, Tutorial > > h3. Connecting the Erlang client with the Python server gives connection > error: > h3. > h4. Erlang client: > h4. > h4. > -- the examples are taken from the Apache Thrift tutorials --- > {quote}-module(client). > -include("calculator_thrift.hrl"). > -export([t/0]). > p(X) -> > io:format("~p~n", [X]), > ok. > t() -> > Port = 9090, > {ok, Client0} = thrift_client_util:new("localhost", >Port, >calculator_thrift, >[]), > {Client1, {ok, ok}} = thrift_client:call(Client0, ping, []), > io:format("ping~n", []), > {Client2, {ok, Sum}} = thrift_client:call(Client1, add, [1, 1]), > io:format("1+1=~p~n", [Sum]), > {Client3, {ok, Sum1}} = thrift_client:call(Client2, add, [1, 4]), > io:format("1+4=~p~n", [Sum1]), > Work = #'Work'{op=?TUTORIAL_OPERATION_SUBTRACT, > num1=15, > num2=10}, > {Client4, {ok, Diff}} = thrift_client:call(Client3, calculate, [1, Work]), > io:format("15-10=~p~n", [Diff]), > {Client5, {ok, Log}} = thrift_client:call(Client4, getStruct, [1]), > io:format("Log: ~p~n", [Log]), > Client6 = > try > Work1 = #'Work'{op=?TUTORIAL_OPERATION_DIVIDE, > num1=1, > num2=0}, > {ClientS1, {ok, _Quot}} = thrift_client:call(Client5, calculate, > [2, Work1]), > io:format("LAME: exception handling is broken~n", []), > ClientS1 > catch > throw:{ClientS2, Z} -> > io:format("Got exception where expecting - the " ++ > "following is NOT a problem!!!~n"), > p(Z), > ClientS2 > end, > {Client7, {ok, ok}} = thrift_client:call(Client6, zip, []), > io:format("zip~n", []), > {_Client8, ok} = thrift_client:close(Client7), > ok. > {quote} > h4. Python server: > h4. > {quote}#!/usr/bin/env python > from tutorial import Calculator > from tutorial.ttypes import InvalidOperation, Operation > from shared.ttypes import SharedStruct > from thrift.transport import TSocket > from thrift.transport import TTransport > from thrift.protocol import TBinaryProtocol > from thrift.server import TServer > class CalculatorHandler: > def __init__(self): > self.log = {} > def ping(self): > print('ping()') > def add(self, n1, n2): > print('add(%d,%d)' % (n1, n2)) > return n1 + n2 > def calculate(self, logid, work): > print('calculate(%d, %r)' % (logid, work)) > if work.op == Operation.ADD: > val = work.num1 + work.num2 > elif work.op == Operation.SUBTRACT: > val = work.num1 - work.num2 > elif work.op == Operation.MULTIPLY: > val = work.num1 * work.num2 > elif work.op == Operation.DIVIDE: > if work.num2 == 0: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Cannot divide by 0' > raise x > val = work.num1 / work.num2 > else: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Invalid operation' > raise x > log = SharedStruct() > log.key = logid > log.value = '%d' % (val) > self.log[logid] = log > return val > def getStruct(self, key): > print('getStruct(%d)' % (key)) > return self.log[key] > def zip(self): > print('zip()') > if __name__ == '__main__': > handler = CalculatorHandler() > processor = Calculator.Processor(handler) > transport = TSocket.TServerSocket(port=9090) > tfactory = TTransport.TBufferedTransportFactory() > pfactory = TBinaryProtocol.TBinaryProtocolFactory() > server = TServer.TSimpleServer(processor, transport, tfactory, pfactory) > # You could do one of these for a mult
[jira] [Commented] (THRIFT-4312) Erlang client cannot connect to Python server: exception error: econnrefused
[ https://issues.apache.org/jira/browse/THRIFT-4312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16171090#comment-16171090 ] ASF GitHub Bot commented on THRIFT-4312: Github user walter-weinmann commented on the issue: https://github.com/apache/thrift/pull/1365 The same Travis issues as in pull request #1364. > Erlang client cannot connect to Python server: exception error: econnrefused > > > Key: THRIFT-4312 > URL: https://issues.apache.org/jira/browse/THRIFT-4312 > Project: Thrift > Issue Type: Bug > Components: Erlang - Library, Python - Library, Tutorial >Affects Versions: 0.10.0 > Environment: Windows 10 > Erlang OTP 20 > Python 3.6.2 >Reporter: Walter Weinmann > Labels: Connection, Erlang, Python, Tutorial > > h3. Connecting the Erlang client with the Python server gives connection > error: > h3. > h4. Erlang client: > h4. > h4. > -- the examples are taken from the Apache Thrift tutorials --- > {quote}-module(client). > -include("calculator_thrift.hrl"). > -export([t/0]). > p(X) -> > io:format("~p~n", [X]), > ok. > t() -> > Port = 9090, > {ok, Client0} = thrift_client_util:new("localhost", >Port, >calculator_thrift, >[]), > {Client1, {ok, ok}} = thrift_client:call(Client0, ping, []), > io:format("ping~n", []), > {Client2, {ok, Sum}} = thrift_client:call(Client1, add, [1, 1]), > io:format("1+1=~p~n", [Sum]), > {Client3, {ok, Sum1}} = thrift_client:call(Client2, add, [1, 4]), > io:format("1+4=~p~n", [Sum1]), > Work = #'Work'{op=?TUTORIAL_OPERATION_SUBTRACT, > num1=15, > num2=10}, > {Client4, {ok, Diff}} = thrift_client:call(Client3, calculate, [1, Work]), > io:format("15-10=~p~n", [Diff]), > {Client5, {ok, Log}} = thrift_client:call(Client4, getStruct, [1]), > io:format("Log: ~p~n", [Log]), > Client6 = > try > Work1 = #'Work'{op=?TUTORIAL_OPERATION_DIVIDE, > num1=1, > num2=0}, > {ClientS1, {ok, _Quot}} = thrift_client:call(Client5, calculate, > [2, Work1]), > io:format("LAME: exception handling is broken~n", []), > ClientS1 > catch > throw:{ClientS2, Z} -> > io:format("Got exception where expecting - the " ++ > "following is NOT a problem!!!~n"), > p(Z), > ClientS2 > end, > {Client7, {ok, ok}} = thrift_client:call(Client6, zip, []), > io:format("zip~n", []), > {_Client8, ok} = thrift_client:close(Client7), > ok. > {quote} > h4. Python server: > h4. > {quote}#!/usr/bin/env python > from tutorial import Calculator > from tutorial.ttypes import InvalidOperation, Operation > from shared.ttypes import SharedStruct > from thrift.transport import TSocket > from thrift.transport import TTransport > from thrift.protocol import TBinaryProtocol > from thrift.server import TServer > class CalculatorHandler: > def __init__(self): > self.log = {} > def ping(self): > print('ping()') > def add(self, n1, n2): > print('add(%d,%d)' % (n1, n2)) > return n1 + n2 > def calculate(self, logid, work): > print('calculate(%d, %r)' % (logid, work)) > if work.op == Operation.ADD: > val = work.num1 + work.num2 > elif work.op == Operation.SUBTRACT: > val = work.num1 - work.num2 > elif work.op == Operation.MULTIPLY: > val = work.num1 * work.num2 > elif work.op == Operation.DIVIDE: > if work.num2 == 0: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Cannot divide by 0' > raise x > val = work.num1 / work.num2 > else: > x = InvalidOperation() > x.whatOp = work.op > x.why = 'Invalid operation' > raise x > log = SharedStruct() > log.key = logid > log.value = '%d' % (val) > self.log[logid] = log > return val > def getStruct(self, key): > print('getStruct(%d)' % (key)) > return self.log[key] > def zip(self): > print('zip()') > if __name__ == '__main__': > handler = CalculatorHandler() > processor = Calculator.Processor(handler) > transport = TSocket.TServerSocket(port=9090) > tfactory = TTransport.TBufferedTransportFactory() > pfactory = TBinaryProtocol.TBinaryProtocolFactory() > server = TServer.TSimpleServer(processor, transport, tfactory, pf
[jira] [Commented] (THRIFT-4335) Golang TPipe Windows implementation
[ https://issues.apache.org/jira/browse/THRIFT-4335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16171193#comment-16171193 ] Can Celasun commented on THRIFT-4335: - The trouble is, we don't currently depend on anything outside the standard library (except for {{golang.org/x/net/context}} and that's only for Go<1.7) so I think it would be preferable to implement the required bits directly in this repo. cc [~jensg] > Golang TPipe Windows implementation > --- > > Key: THRIFT-4335 > URL: https://issues.apache.org/jira/browse/THRIFT-4335 > Project: Thrift > Issue Type: Improvement > Components: Go - Library >Reporter: Zach Wasserman > > We are interested in adding support for the TPipe transport in the Golang > Windows library. This support already exists in the C++ library > (https://thrift.apache.org/lib/cpp#named-pipes), and is useful for an > alternative to TCP on Windows. Would the maintainers be interested in merging > a patch adding this functionality? > Microsoft publishes an (MIT licensed) library that provides {{net.Conn}} > support for named pipes > (https://github.com/Microsoft/go-winio/blob/master/pipe.go#L138, > https://github.com/Microsoft/go-winio/blob/master/pipe.go#L317). Is it > possible to add this as a dependency for the Thrift Go library? > Any guidance would be appreciated, as I'd love to start implementing it ASAP. -- This message was sent by Atlassian JIRA (v6.4.14#64029)