[GitHub] thrift pull request #1517: THRIFT-4513: fix bug in comparator introduced by ...
GitHub user romanoid opened a pull request: https://github.com/apache/thrift/pull/1517 THRIFT-4513: fix bug in comparator introduced by e58f75d Fix ordering bug for the comparator introduced by https://github.com/apache/thrift/pull/1505 You can merge this pull request into a Git repository by running: $ git pull https://github.com/romanoid/thrift fix-incorrect-comparator Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1517.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 #1517 commit 4df9b40c99e600e51e6203bb1abaa250751f22fc Author: Roman Soroka Date: 2018-03-22T07:07:23Z THRIFT-4513: fix bug in comparator introduced by e58f75d ---
[jira] [Commented] (THRIFT-4513) thrift generated code is not stable for constants
[ https://issues.apache.org/jira/browse/THRIFT-4513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16409151#comment-16409151 ] ASF GitHub Bot commented on THRIFT-4513: GitHub user romanoid opened a pull request: https://github.com/apache/thrift/pull/1517 THRIFT-4513: fix bug in comparator introduced by e58f75d Fix ordering bug for the comparator introduced by https://github.com/apache/thrift/pull/1505 You can merge this pull request into a Git repository by running: $ git pull https://github.com/romanoid/thrift fix-incorrect-comparator Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1517.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 #1517 commit 4df9b40c99e600e51e6203bb1abaa250751f22fc Author: Roman Soroka Date: 2018-03-22T07:07:23Z THRIFT-4513: fix bug in comparator introduced by e58f75d > thrift generated code is not stable for constants > - > > Key: THRIFT-4513 > URL: https://issues.apache.org/jira/browse/THRIFT-4513 > Project: Thrift > Issue Type: Improvement > Components: Compiler (General) >Reporter: Roman Soroka >Assignee: James E. King, III >Priority: Major > Fix For: 0.12.0 > > > In certain cases, output generated with java compiler is unstable, this > prevents correct incremental generation, artifact caching, etc. > This is especially crucible if the goal is reproducible builds: same results > for the same source inputs. > Here's example: > Let's say we have thrift definition: > const map CONSTANT_MAP = > { 'key1' : \\{"enum1" : Enum1.ENUM1_VALUE1, "enum2" : Enum2.ENUM2_VALUE} > , > 'key2' : \{"enum1" : Enum1.ENUM1_VALUE2, "enum2" : Enum2.ENUM2_VALUE}, > 'key3' : \{"enum1" : Enum1.ENUM1_VALUE3, "enum2" : Enum2.ENUM2_VALUE}, > > } > Compiler generates code like: > public static final java.util.Map CONSTANT_MAP = > new java.util.HashMap(); > static { > Enum1Enum2 tmp199 = new Enum1Enum2(); > tmp199.setEnum1(com.java.package.Enum1.ENUM1_VALUE2); > tmp199.setEnum2(com.java.package.Enum2.ENUM2_VALUE); > CONSTANT_MAP.put("key2", tmp199); > Enum1Enum2 tmp200 = new Enum1Enum2(); > tmp200.setEnum1(com.java.package.Enum1.ENUM1_VALUE1); > tmp200.setEnum2(com.java.package.Enum2.ENUM2_VALUE); > CONSTANT_MAP.put("key1", tmp200); > Enum1Enum2 tmp201 = new Enum1Enum2(); > tmp201.setEnum1(com.java.package.Enum1.ENUM1_VALUE3); > tmp201.setEnum2(com.java.package.Enum2.ENUM2_VALUE); > CONSTANT_MAP.put("key3", tmp201); > Possible reorderings: > 1. Values are added in different order from run to run. > 2. Set methods in value construction may be called in different order. > Note: this results in equivalent java maps, so there is no runtime issues. > Proposed remedy: > When building construction of Constants from JSON, java code generator > should use by-key ordering. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4513) thrift generated code is not stable for constants
[ https://issues.apache.org/jira/browse/THRIFT-4513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16409724#comment-16409724 ] ASF GitHub Bot commented on THRIFT-4513: Github user asfgit closed the pull request at: https://github.com/apache/thrift/pull/1517 > thrift generated code is not stable for constants > - > > Key: THRIFT-4513 > URL: https://issues.apache.org/jira/browse/THRIFT-4513 > Project: Thrift > Issue Type: Improvement > Components: Compiler (General) >Reporter: Roman Soroka >Assignee: James E. King, III >Priority: Major > Fix For: 0.12.0 > > > In certain cases, output generated with java compiler is unstable, this > prevents correct incremental generation, artifact caching, etc. > This is especially crucible if the goal is reproducible builds: same results > for the same source inputs. > Here's example: > Let's say we have thrift definition: > const map CONSTANT_MAP = > { 'key1' : \\{"enum1" : Enum1.ENUM1_VALUE1, "enum2" : Enum2.ENUM2_VALUE} > , > 'key2' : \{"enum1" : Enum1.ENUM1_VALUE2, "enum2" : Enum2.ENUM2_VALUE}, > 'key3' : \{"enum1" : Enum1.ENUM1_VALUE3, "enum2" : Enum2.ENUM2_VALUE}, > > } > Compiler generates code like: > public static final java.util.Map CONSTANT_MAP = > new java.util.HashMap(); > static { > Enum1Enum2 tmp199 = new Enum1Enum2(); > tmp199.setEnum1(com.java.package.Enum1.ENUM1_VALUE2); > tmp199.setEnum2(com.java.package.Enum2.ENUM2_VALUE); > CONSTANT_MAP.put("key2", tmp199); > Enum1Enum2 tmp200 = new Enum1Enum2(); > tmp200.setEnum1(com.java.package.Enum1.ENUM1_VALUE1); > tmp200.setEnum2(com.java.package.Enum2.ENUM2_VALUE); > CONSTANT_MAP.put("key1", tmp200); > Enum1Enum2 tmp201 = new Enum1Enum2(); > tmp201.setEnum1(com.java.package.Enum1.ENUM1_VALUE3); > tmp201.setEnum2(com.java.package.Enum2.ENUM2_VALUE); > CONSTANT_MAP.put("key3", tmp201); > Possible reorderings: > 1. Values are added in different order from run to run. > 2. Set methods in value construction may be called in different order. > Note: this results in equivalent java maps, so there is no runtime issues. > Proposed remedy: > When building construction of Constants from JSON, java code generator > should use by-key ordering. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] thrift pull request #1517: THRIFT-4513: fix bug in comparator introduced by ...
Github user asfgit closed the pull request at: https://github.com/apache/thrift/pull/1517 ---
[GitHub] thrift issue #1515: add connect timeout, support accurate send timeout
Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1515 The new style changes and checks are pretty recent, based on work done by @RobberPhex. ---
[GitHub] thrift pull request #1518: THRIFT-4342: update ruby tests to use rspec 3, up...
GitHub user jeking3 opened a pull request: https://github.com/apache/thrift/pull/1518 THRIFT-4342: update ruby tests to use rspec 3, updated all dependencies for ruby You can merge this pull request into a Git repository by running: $ git pull https://github.com/jeking3/thrift THRIFT-4342 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1518.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 #1518 commit 0856cfcd00f611522a2c869b754472795490 Author: James E. King III Date: 2018-03-23T00:50:23Z THRIFT-4342: update ruby tests to use rspec 3, updated all dependencies for ruby ---
[jira] [Commented] (THRIFT-4342) Support ruby rspec 3
[ https://issues.apache.org/jira/browse/THRIFT-4342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410639#comment-16410639 ] ASF GitHub Bot commented on THRIFT-4342: GitHub user jeking3 opened a pull request: https://github.com/apache/thrift/pull/1518 THRIFT-4342: update ruby tests to use rspec 3, updated all dependencies for ruby You can merge this pull request into a Git repository by running: $ git pull https://github.com/jeking3/thrift THRIFT-4342 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/1518.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 #1518 commit 0856cfcd00f611522a2c869b754472795490 Author: James E. King III Date: 2018-03-23T00:50:23Z THRIFT-4342: update ruby tests to use rspec 3, updated all dependencies for ruby > Support ruby rspec 3 > > > Key: THRIFT-4342 > URL: https://issues.apache.org/jira/browse/THRIFT-4342 > Project: Thrift > Issue Type: Improvement > Components: Ruby - Library >Affects Versions: 0.10.0 > Environment: docker ubuntu-xenial (ruby 2.3.1) >Reporter: James E. King, III >Assignee: James E. King, III >Priority: Major > > I don't know much about ruby. Anybody who can assist is welcome to do so! I > tried to update us to rspec 2.99.x to prepare for rspec 3 and got a lot of > errors. We should be running the latest versions of test tools in > thrift.gemspec. Also note the apache license in the gemspec is not quite > right... > {noformat} > Pending: > Client Thrift::Client should increment the sequence id when sending messages > # it seems sequence ids are completely ignored right now > # ./spec/client_spec.rb:55 > Failures: > 1) BinaryProtocolAccelerated it should behave like a binary protocol should > write a byte > Failure/Error: @trans.rspec_verify > NoMethodError: >undefined method `rspec_verify' for > # > Shared Example Group: "a binary protocol" called from > ./spec/binary_protocol_accelerated_spec.rb:28 > # ./spec/binary_protocol_spec_shared.rb:112:in `block (2 levels) in (required)>' > 2) BinaryProtocol it should behave like a binary protocol should write a > byte > Failure/Error: @trans.rspec_verify > NoMethodError: >undefined method `rspec_verify' for > # > Shared Example Group: "a binary protocol" called from > ./spec/binary_protocol_spec.rb:25 > # ./spec/binary_protocol_spec_shared.rb:112:in `block (2 levels) in (required)>' > Deprecation Warnings: > > The semantics of `RSpec::Core::Pending#pending` are changing in > RSpec 3. In RSpec 2.x, it caused the example to be skipped. In > RSpec 3, the rest of the example will still be run but is expected > to fail, and will be marked as a failure (rather than as pending) > if the example passes. > Any passed block will no longer be executed. This feature is being > removed since it was semantically inconsistent, and the behaviour it > offered is being made available with the other ways of marking an > example pending. > To keep the same skip semantics, change `pending` to `skip`. > Otherwise, if you want the new RSpec 3 behavior, you can safely > ignore this warning and continue to upgrade to RSpec 3 without > addressing it. > Called from /thrift/src/lib/rb/spec/client_spec.rb:56:in `block (3 levels) in > '. > > `and_return { value }` is deprecated. Use `and_return(value)` or an > implementation block without `and_return` instead. Called from > /thrift/src/lib/rb/spec/client_spec.rb:79:in `block (3 levels) in (required)>'. > `and_return { value }` is deprecated. Use `and_return(value)` or an > implementation block without `and_return` instead. Called from > /thrift/src/lib/rb/spec/http_client_spec.rb:38:in `block (3 levels) in (required)>'. > `and_return { value }` is deprecated. Use `and_return(value)` or an > implementation block without `and_return` instead. Called from > /thrift/src/lib/rb/spec/http_client_spec.rb:41:in `block (5 levels) in (required)>'. > Too many uses of deprecated '`and_return { value }`'. Pass > `--deprecation-out` or set `config.deprecation_stream` to a file for full > output. > `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) > or `be false` (for exact `== false` equality) instead. Called from > /thrift/src/lib/rb/spec/base_transport_spec.rb:279:in `block (3 levels) in > '. > `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) > or `be false` (for
[jira] [Commented] (THRIFT-4342) Support ruby rspec 3
[ https://issues.apache.org/jira/browse/THRIFT-4342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410717#comment-16410717 ] ASF GitHub Bot commented on THRIFT-4342: Github user jeking3 closed the pull request at: https://github.com/apache/thrift/pull/1518 > Support ruby rspec 3 > > > Key: THRIFT-4342 > URL: https://issues.apache.org/jira/browse/THRIFT-4342 > Project: Thrift > Issue Type: Improvement > Components: Ruby - Library >Affects Versions: 0.10.0 > Environment: docker ubuntu-xenial (ruby 2.3.1) >Reporter: James E. King, III >Assignee: James E. King, III >Priority: Major > > I don't know much about ruby. Anybody who can assist is welcome to do so! I > tried to update us to rspec 2.99.x to prepare for rspec 3 and got a lot of > errors. We should be running the latest versions of test tools in > thrift.gemspec. Also note the apache license in the gemspec is not quite > right... > {noformat} > Pending: > Client Thrift::Client should increment the sequence id when sending messages > # it seems sequence ids are completely ignored right now > # ./spec/client_spec.rb:55 > Failures: > 1) BinaryProtocolAccelerated it should behave like a binary protocol should > write a byte > Failure/Error: @trans.rspec_verify > NoMethodError: >undefined method `rspec_verify' for > # > Shared Example Group: "a binary protocol" called from > ./spec/binary_protocol_accelerated_spec.rb:28 > # ./spec/binary_protocol_spec_shared.rb:112:in `block (2 levels) in (required)>' > 2) BinaryProtocol it should behave like a binary protocol should write a > byte > Failure/Error: @trans.rspec_verify > NoMethodError: >undefined method `rspec_verify' for > # > Shared Example Group: "a binary protocol" called from > ./spec/binary_protocol_spec.rb:25 > # ./spec/binary_protocol_spec_shared.rb:112:in `block (2 levels) in (required)>' > Deprecation Warnings: > > The semantics of `RSpec::Core::Pending#pending` are changing in > RSpec 3. In RSpec 2.x, it caused the example to be skipped. In > RSpec 3, the rest of the example will still be run but is expected > to fail, and will be marked as a failure (rather than as pending) > if the example passes. > Any passed block will no longer be executed. This feature is being > removed since it was semantically inconsistent, and the behaviour it > offered is being made available with the other ways of marking an > example pending. > To keep the same skip semantics, change `pending` to `skip`. > Otherwise, if you want the new RSpec 3 behavior, you can safely > ignore this warning and continue to upgrade to RSpec 3 without > addressing it. > Called from /thrift/src/lib/rb/spec/client_spec.rb:56:in `block (3 levels) in > '. > > `and_return { value }` is deprecated. Use `and_return(value)` or an > implementation block without `and_return` instead. Called from > /thrift/src/lib/rb/spec/client_spec.rb:79:in `block (3 levels) in (required)>'. > `and_return { value }` is deprecated. Use `and_return(value)` or an > implementation block without `and_return` instead. Called from > /thrift/src/lib/rb/spec/http_client_spec.rb:38:in `block (3 levels) in (required)>'. > `and_return { value }` is deprecated. Use `and_return(value)` or an > implementation block without `and_return` instead. Called from > /thrift/src/lib/rb/spec/http_client_spec.rb:41:in `block (5 levels) in (required)>'. > Too many uses of deprecated '`and_return { value }`'. Pass > `--deprecation-out` or set `config.deprecation_stream` to a file for full > output. > `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) > or `be false` (for exact `== false` equality) instead. Called from > /thrift/src/lib/rb/spec/base_transport_spec.rb:279:in `block (3 levels) in > '. > `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) > or `be false` (for exact `== false` equality) instead. Called from > /thrift/src/lib/rb/spec/struct_spec.rb:63:in `block (3 levels) in (required)>'. > `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) > or `be false` (for exact `== false` equality) instead. Called from > /thrift/src/lib/rb/spec/struct_spec.rb:83:in `block (3 levels) in (required)>'. > Too many uses of deprecated '`be_false`'. Pass `--deprecation-out` or set > `config.deprecation_stream` to a file for full output. > `be_true` is deprecated. Use `be_truthy` (for Ruby's conditional semantics) > or `be true` (for exact `== true` equality) instead. Called from > /thrift/src/lib/rb/spec/base_transport_spec.rb:
[GitHub] thrift pull request #1518: THRIFT-4342: update ruby tests to use rspec 3, up...
Github user jeking3 closed the pull request at: https://github.com/apache/thrift/pull/1518 ---
[GitHub] thrift issue #1518: THRIFT-4342: update ruby tests to use rspec 3, updated a...
Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1518 Closing, will re-open once the dist jobs are working. ---
[jira] [Commented] (THRIFT-4342) Support ruby rspec 3
[ https://issues.apache.org/jira/browse/THRIFT-4342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410716#comment-16410716 ] ASF GitHub Bot commented on THRIFT-4342: Github user jeking3 commented on the issue: https://github.com/apache/thrift/pull/1518 Closing, will re-open once the dist jobs are working. > Support ruby rspec 3 > > > Key: THRIFT-4342 > URL: https://issues.apache.org/jira/browse/THRIFT-4342 > Project: Thrift > Issue Type: Improvement > Components: Ruby - Library >Affects Versions: 0.10.0 > Environment: docker ubuntu-xenial (ruby 2.3.1) >Reporter: James E. King, III >Assignee: James E. King, III >Priority: Major > > I don't know much about ruby. Anybody who can assist is welcome to do so! I > tried to update us to rspec 2.99.x to prepare for rspec 3 and got a lot of > errors. We should be running the latest versions of test tools in > thrift.gemspec. Also note the apache license in the gemspec is not quite > right... > {noformat} > Pending: > Client Thrift::Client should increment the sequence id when sending messages > # it seems sequence ids are completely ignored right now > # ./spec/client_spec.rb:55 > Failures: > 1) BinaryProtocolAccelerated it should behave like a binary protocol should > write a byte > Failure/Error: @trans.rspec_verify > NoMethodError: >undefined method `rspec_verify' for > # > Shared Example Group: "a binary protocol" called from > ./spec/binary_protocol_accelerated_spec.rb:28 > # ./spec/binary_protocol_spec_shared.rb:112:in `block (2 levels) in (required)>' > 2) BinaryProtocol it should behave like a binary protocol should write a > byte > Failure/Error: @trans.rspec_verify > NoMethodError: >undefined method `rspec_verify' for > # > Shared Example Group: "a binary protocol" called from > ./spec/binary_protocol_spec.rb:25 > # ./spec/binary_protocol_spec_shared.rb:112:in `block (2 levels) in (required)>' > Deprecation Warnings: > > The semantics of `RSpec::Core::Pending#pending` are changing in > RSpec 3. In RSpec 2.x, it caused the example to be skipped. In > RSpec 3, the rest of the example will still be run but is expected > to fail, and will be marked as a failure (rather than as pending) > if the example passes. > Any passed block will no longer be executed. This feature is being > removed since it was semantically inconsistent, and the behaviour it > offered is being made available with the other ways of marking an > example pending. > To keep the same skip semantics, change `pending` to `skip`. > Otherwise, if you want the new RSpec 3 behavior, you can safely > ignore this warning and continue to upgrade to RSpec 3 without > addressing it. > Called from /thrift/src/lib/rb/spec/client_spec.rb:56:in `block (3 levels) in > '. > > `and_return { value }` is deprecated. Use `and_return(value)` or an > implementation block without `and_return` instead. Called from > /thrift/src/lib/rb/spec/client_spec.rb:79:in `block (3 levels) in (required)>'. > `and_return { value }` is deprecated. Use `and_return(value)` or an > implementation block without `and_return` instead. Called from > /thrift/src/lib/rb/spec/http_client_spec.rb:38:in `block (3 levels) in (required)>'. > `and_return { value }` is deprecated. Use `and_return(value)` or an > implementation block without `and_return` instead. Called from > /thrift/src/lib/rb/spec/http_client_spec.rb:41:in `block (5 levels) in (required)>'. > Too many uses of deprecated '`and_return { value }`'. Pass > `--deprecation-out` or set `config.deprecation_stream` to a file for full > output. > `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) > or `be false` (for exact `== false` equality) instead. Called from > /thrift/src/lib/rb/spec/base_transport_spec.rb:279:in `block (3 levels) in > '. > `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) > or `be false` (for exact `== false` equality) instead. Called from > /thrift/src/lib/rb/spec/struct_spec.rb:63:in `block (3 levels) in (required)>'. > `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) > or `be false` (for exact `== false` equality) instead. Called from > /thrift/src/lib/rb/spec/struct_spec.rb:83:in `block (3 levels) in (required)>'. > Too many uses of deprecated '`be_false`'. Pass `--deprecation-out` or set > `config.deprecation_stream` to a file for full output. > `be_true` is deprecated. Use `be_truthy` (for Ruby's conditional semantics) > or `be true` (for exact `== true` equality) instead. Calle
[GitHub] thrift issue #1516: THRIFT-4527 Upgrade byteorder in rust
Github user QuestofIranon commented on the issue: https://github.com/apache/thrift/pull/1516 @allengeorge It creates dependency conflicts with other libraries that rely on the updated version of byteorder. For example, I couldn't build a project using Thrift because my other dependencies all used 1.2.1. `` 2:02 PMCargo project update failed: Cargo execution failed (exit code 101). /Users//.cargo/bin/cargo metadata --verbose --format-version 1 --all-features stdout : Updating git repository `https://github.com/apache/thrift.git` Updating registry `https://github.com/rust-lang/crates.io-index` error: failed to select a version for `byteorder` (required by `thrift`): all possible versions conflict with previously selected versions of `byteorder` version 1.2.1 in use by byteorder v1.2.1 possible versions to select: 1.1.0 ---
[jira] [Commented] (THRIFT-4527) Upgrade byteorder version in Rust lib
[ https://issues.apache.org/jira/browse/THRIFT-4527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410822#comment-16410822 ] ASF GitHub Bot commented on THRIFT-4527: Github user QuestofIranon commented on the issue: https://github.com/apache/thrift/pull/1516 @allengeorge It creates dependency conflicts with other libraries that rely on the updated version of byteorder. For example, I couldn't build a project using Thrift because my other dependencies all used 1.2.1. `` 2:02 PMCargo project update failed: Cargo execution failed (exit code 101). /Users//.cargo/bin/cargo metadata --verbose --format-version 1 --all-features stdout : Updating git repository `https://github.com/apache/thrift.git` Updating registry `https://github.com/rust-lang/crates.io-index` error: failed to select a version for `byteorder` (required by `thrift`): all possible versions conflict with previously selected versions of `byteorder` version 1.2.1 in use by byteorder v1.2.1 possible versions to select: 1.1.0 > Upgrade byteorder version in Rust lib > - > > Key: THRIFT-4527 > URL: https://issues.apache.org/jira/browse/THRIFT-4527 > Project: Thrift > Issue Type: Dependency upgrade > Components: Rust - Library >Affects Versions: 0.11.0 >Reporter: Joshua >Priority: Major > > The Rust library was depending on byteorder v1.1.0, upgraded to v1.2.1 to > prevent dependency conflicts in a project I was working on, works fine and > would be useful for other users. -- This message was sent by Atlassian JIRA (v7.6.3#76005)