[jira] [Commented] (THRIFT-4271) warning: 'register' storage class is deprecated

2017-10-08 Thread Robert Lu (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-4271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16196461#comment-16196461
 ] 

Robert Lu commented on THRIFT-4271:
---

Firstly,
I don't think this is a Major bug.

And,
the "'register' storage class is deprecated" is reported at header file 
provided by php(7.0.23).
When I use php 7.1.7, there is no such warning.

>  warning: 'register' storage class is deprecated
> 
>
> Key: THRIFT-4271
> URL: https://issues.apache.org/jira/browse/THRIFT-4271
> Project: Thrift
>  Issue Type: Bug
>  Components: PHP - Library
>Reporter: Jens Geyer
>
> Travis emits warnings:
> {{warning: 'register' storage class specifier is deprecated 
> [-Wdeprecated-register]}}
> at multiple places.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (THRIFT-4329) c_glib Doesn't have a multiplexed processor

2017-10-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-4329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16196383#comment-16196383
 ] 

ASF GitHub Bot commented on THRIFT-4329:


Github user gadLinux commented on the issue:

https://github.com/apache/thrift/pull/1361
  
Ok. Fixed a bug in the test client. And added the default protocol for the 
multiplexed. That way the first registered protocol becomes default. This 
allows you to use the multi without much hassle. But you can always override 
the default protocol using a property. Nice...


> c_glib Doesn't have a multiplexed processor
> ---
>
> Key: THRIFT-4329
> URL: https://issues.apache.org/jira/browse/THRIFT-4329
> Project: Thrift
>  Issue Type: Bug
>  Components: C glib - Library
>Affects Versions: 0.10.0
>Reporter: Gonzalo Aguilar
>Assignee: Gonzalo Aguilar
>
> It seems that multiplexed protocol only implements 
> thrift_multiplexed_protocol_write_message_begin that's ok for sending 
> messages to a multiplexed server but not for the C server. We also need a 
> multiplexed processor for the server.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] thrift issue #1361: THRIFT-4329: Implement multiplexed processor that matche...

2017-10-08 Thread gadLinux
Github user gadLinux commented on the issue:

https://github.com/apache/thrift/pull/1361
  
Ok. Fixed a bug in the test client. And added the default protocol for the 
multiplexed. That way the first registered protocol becomes default. This 
allows you to use the multi without much hassle. But you can always override 
the default protocol using a property. Nice...


---


[GitHub] thrift issue #1361: THRIFT-4329: Implement multiplexed processor that matche...

2017-10-08 Thread gadLinux
Github user gadLinux commented on the issue:

https://github.com/apache/thrift/pull/1361
  
What I'm thinking looking at Java implementation is that on c_glib we can 
set a property in the processor to define what's the default handler to be get 
in case of a not multi client. Let me see if I can implement it.


---


[jira] [Commented] (THRIFT-4329) c_glib Doesn't have a multiplexed processor

2017-10-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-4329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16196364#comment-16196364
 ] 

ASF GitHub Bot commented on THRIFT-4329:


Github user gadLinux commented on the issue:

https://github.com/apache/thrift/pull/1361
  
What I'm thinking looking at Java implementation is that on c_glib we can 
set a property in the processor to define what's the default handler to be get 
in case of a not multi client. Let me see if I can implement it.


> c_glib Doesn't have a multiplexed processor
> ---
>
> Key: THRIFT-4329
> URL: https://issues.apache.org/jira/browse/THRIFT-4329
> Project: Thrift
>  Issue Type: Bug
>  Components: C glib - Library
>Affects Versions: 0.10.0
>Reporter: Gonzalo Aguilar
>Assignee: Gonzalo Aguilar
>
> It seems that multiplexed protocol only implements 
> thrift_multiplexed_protocol_write_message_begin that's ok for sending 
> messages to a multiplexed server but not for the C server. We also need a 
> multiplexed processor for the server.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (THRIFT-4329) c_glib Doesn't have a multiplexed processor

2017-10-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-4329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16196362#comment-16196362
 ] 

ASF GitHub Bot commented on THRIFT-4329:


Github user gadLinux commented on the issue:

https://github.com/apache/thrift/pull/1361
  
@jeking3 I don't think binary and multi server can be compatible. In fact I 
see it failing everytime and this is why I didn't set your protocol 
recommendations. 

Let me explain. When a multiX server is set, the processor allows you to 
register several processors. Each of this processors can implement different 
services. If you are contacting with a binary client (not multi) when you send 
the message it's not prefixed by the service name. It means that at the server 
end the server will never know what's the destination processor for that 
request. 

So when you use a binary client, you must use a binary server. And with the 
multi happens the same.

Apart from this, the protocol is implemented, my problem is that I was 
confused with the protocols in the json file and I don't know what should I 
really enable...


Besides this I ran it manually against binary multi client and ran ok. 

test_client:test_client:93: libtool wrapper (GNU libtool) 2.4.6 
Debian-2.4.6-1
test_client:test_client:114: newargv[0]: 
/home/gaguilar/thrift/thrift/test/c_glib/.libs/test_client
test_client:test_client:104: newargv[1]: --protocol=multi
test_client:test_client:104: newargv[2]: --transport=buffered
test_client:test_client:104: newargv[3]: --port=39347
Connecting (buffered/binary:multi) to: ip/localhost:39347
Test #1, connect localhost:39347
testVoid() = void
testString("Test") = "Test"
testSecondServiceMultiplexSecondTestString("2nd") = "2nd"
testByte(true) = true
testByte(false) = false
testByte(1) = 1
testByte(-1) = -1
testI32(-1) = -1
testI64(-34359738368) = -34359738368
testDouble(-5.2098523) = -5.209852
testBinary(empty) = empty
testBinary([-128..127]) = 
{-128,-127,-126,-125,-124,-123,-122,-121,-120,-119,-118,-117,-116,-115,-114,-113,-112,-111,-110,-109,-108,-107,-106,-105,-104,-103,-102,-101,-100,-99,-98,-97,-96,-95,-94,-93,-92,-91,-90,-89,-88,-87,-86,-85,-84,-83,-82,-81,-80,-79,-78,-77,-76,-75,-74,-73,-72,-71,-70,-69,-68,-67,-66,-65,-64,-63,-62,-61,-60,-59,-58,-57,-56,-55,-54,-53,-52,-51,-50,-49,-48,-47,-46,-45,-44,-43,-42,-41,-40,-39,-38,-37,-36,-35,-34,-33,-32,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-21,-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127}
 OK size 256 OK
testStruct({"Zero", 1, -3, -5}) = {"Zero", 1, -3, -5}
testNest({1, {"Zero", 1, -3, -5}), 5} = {1, {"Zero", 1, -3, -5}, 5}
testMap({0 => -10, 1 => -9, 3 => -7, 2 => -8, 4 => -6}) = {0 => -10, 1 => 
-9, 3 => -7, 2 => -8, 4 => -6}
testStringMap({"some" => "thing", "a" => "2", "b" => "blah")} = {"some" => 
"thing", "a" => "2", "b" => "blah"}
testSet({0, 2, -1, -2, 1}) = {1, -1, 0, 2, -2}
testList({-2, -1, 0, 1, 2}) = {-2, -1, 0, 1, 2}
testEnum(ONE) = 1
testEnum(TWO) = 2
testEnum(THREE) = 3
testEnum(FIVE) = 5
testEnum(EIGHT) = 8
testTypedef(309858235082523) = 309858235082523
testMapMap(1) = {-4 => {-4 => -4, -3 => -3, -2 => -2, -1 => -1, }, 4 => {1 
=> 1, 2 => 2, 3 => 3, 4 => 4, }, }
testInsanity() = {1 => {2 => {{8 => 8, 5 => 5, }, {{"Goodbye4", 4, 4, 4}, 
{"Hello2", 2, 2, 2}, }}, 3 => {{8 => 8, 5 => 5, }, {{"Goodbye4", 4, 4, 4}, 
{"Hello2", 2, 2, 2}, }}, }, 2 => {6 => {{}, {}}, }, }
testClient.testException("Xception") =>  {1001, "Xception"}
testClient.testException("TException") =>  Caught TException
testClient.testException("success") =>  void
testClient.testMultiException("Xception", "test 1") =>  {1001, "This is an 
Xception"}
testClient.testMultiException("Xception2", "test 2") =>  {2002, {"This is 
an Xception2"}}
testClient.testMultiException("success", "test 3") =>  {{"test 3"}}
testClient.testOneway(1) =>  success - took 0.03 ms
re-test testI32(-1) = -1
Total time: 25934720 us

All tests done.
Number of failures: 1
Min time: 25934720 us
Max time: 25934720 us
Avg time: 25934720 us


So please check what protocol should be enabled and enable them. If it 
fails again I will check.



> c_glib Doesn't have a multiplexed processor
> ---
>
> Key: THRIFT-4329
> URL: h

[GitHub] thrift issue #1361: THRIFT-4329: Implement multiplexed processor that matche...

2017-10-08 Thread gadLinux
Github user gadLinux commented on the issue:

https://github.com/apache/thrift/pull/1361
  
@jeking3 I don't think binary and multi server can be compatible. In fact I 
see it failing everytime and this is why I didn't set your protocol 
recommendations. 

Let me explain. When a multiX server is set, the processor allows you to 
register several processors. Each of this processors can implement different 
services. If you are contacting with a binary client (not multi) when you send 
the message it's not prefixed by the service name. It means that at the server 
end the server will never know what's the destination processor for that 
request. 

So when you use a binary client, you must use a binary server. And with the 
multi happens the same.

Apart from this, the protocol is implemented, my problem is that I was 
confused with the protocols in the json file and I don't know what should I 
really enable...


Besides this I ran it manually against binary multi client and ran ok. 

test_client:test_client:93: libtool wrapper (GNU libtool) 2.4.6 
Debian-2.4.6-1
test_client:test_client:114: newargv[0]: 
/home/gaguilar/thrift/thrift/test/c_glib/.libs/test_client
test_client:test_client:104: newargv[1]: --protocol=multi
test_client:test_client:104: newargv[2]: --transport=buffered
test_client:test_client:104: newargv[3]: --port=39347
Connecting (buffered/binary:multi) to: ip/localhost:39347
Test #1, connect localhost:39347
testVoid() = void
testString("Test") = "Test"
testSecondServiceMultiplexSecondTestString("2nd") = "2nd"
testByte(true) = true
testByte(false) = false
testByte(1) = 1
testByte(-1) = -1
testI32(-1) = -1
testI64(-34359738368) = -34359738368
testDouble(-5.2098523) = -5.209852
testBinary(empty) = empty
testBinary([-128..127]) = 
{-128,-127,-126,-125,-124,-123,-122,-121,-120,-119,-118,-117,-116,-115,-114,-113,-112,-111,-110,-109,-108,-107,-106,-105,-104,-103,-102,-101,-100,-99,-98,-97,-96,-95,-94,-93,-92,-91,-90,-89,-88,-87,-86,-85,-84,-83,-82,-81,-80,-79,-78,-77,-76,-75,-74,-73,-72,-71,-70,-69,-68,-67,-66,-65,-64,-63,-62,-61,-60,-59,-58,-57,-56,-55,-54,-53,-52,-51,-50,-49,-48,-47,-46,-45,-44,-43,-42,-41,-40,-39,-38,-37,-36,-35,-34,-33,-32,-31,-30,-29,-28,-27,-26,-25,-24,-23,-22,-21,-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127}
 OK size 256 OK
testStruct({"Zero", 1, -3, -5}) = {"Zero", 1, -3, -5}
testNest({1, {"Zero", 1, -3, -5}), 5} = {1, {"Zero", 1, -3, -5}, 5}
testMap({0 => -10, 1 => -9, 3 => -7, 2 => -8, 4 => -6}) = {0 => -10, 1 => 
-9, 3 => -7, 2 => -8, 4 => -6}
testStringMap({"some" => "thing", "a" => "2", "b" => "blah")} = {"some" => 
"thing", "a" => "2", "b" => "blah"}
testSet({0, 2, -1, -2, 1}) = {1, -1, 0, 2, -2}
testList({-2, -1, 0, 1, 2}) = {-2, -1, 0, 1, 2}
testEnum(ONE) = 1
testEnum(TWO) = 2
testEnum(THREE) = 3
testEnum(FIVE) = 5
testEnum(EIGHT) = 8
testTypedef(309858235082523) = 309858235082523
testMapMap(1) = {-4 => {-4 => -4, -3 => -3, -2 => -2, -1 => -1, }, 4 => {1 
=> 1, 2 => 2, 3 => 3, 4 => 4, }, }
testInsanity() = {1 => {2 => {{8 => 8, 5 => 5, }, {{"Goodbye4", 4, 4, 4}, 
{"Hello2", 2, 2, 2}, }}, 3 => {{8 => 8, 5 => 5, }, {{"Goodbye4", 4, 4, 4}, 
{"Hello2", 2, 2, 2}, }}, }, 2 => {6 => {{}, {}}, }, }
testClient.testException("Xception") =>  {1001, "Xception"}
testClient.testException("TException") =>  Caught TException
testClient.testException("success") =>  void
testClient.testMultiException("Xception", "test 1") =>  {1001, "This is an 
Xception"}
testClient.testMultiException("Xception2", "test 2") =>  {2002, {"This is 
an Xception2"}}
testClient.testMultiException("success", "test 3") =>  {{"test 3"}}
testClient.testOneway(1) =>  success - took 0.03 ms
re-test testI32(-1) = -1
Total time: 25934720 us

All tests done.
Number of failures: 1
Min time: 25934720 us
Max time: 25934720 us
Avg time: 25934720 us


So please check what protocol should be enabled and enable them. If it 
fails again I will check.



---