You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by allengeorge <gi...@git.apache.org> on 2017/04/20 23:43:45 UTC

[GitHub] thrift pull request #1255: THRIFT-4176: Implement threaded server for Rust

GitHub user allengeorge opened a pull request:

    https://github.com/apache/thrift/pull/1255

    THRIFT-4176: Implement threaded server for Rust

    Client: rs
    
    * Separate TTransport into two constructs: TIoChannel and TTransport
    * Make TIoChannel and TTransport Send-able types
    * Remove refcounting where possible
    * Replace TSimpleServer with a thread-pool based TServer
    
    The removal of refcounting was driven by the need to make constructs threadsafe. I'd always known the ref-counting was hacky; this approach pushes the counting/locking into a separate `TIoChannel` concept that can be cloned to simplify the ownership story for all the concepts above. Also, as requested, I didn't *add* a new server type: I replaced the existing one with this threadpool-based version.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/allengeorge/thrift thrift-4176

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/1255.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 #1255
    
----
commit 0a0592f333ea4c9be64dd83fa7ce6e78c7307567
Author: Allen George <al...@gmail.com>
Date:   2017-01-30T12:15:00Z

    THRIFT-4176: Implement threaded server for Rust
    Client: rs
    
    * Separate TTransport into two constructs: TIoChannel and TTransport
    * Make TIoChannel and TTransport Send-able types
    * Remove refcounting where possible
    * Replace TSimpleServer with a thread-pool based TServer

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift issue #1255: THRIFT-4176: Implement threaded server for Rust

Posted by allengeorge <gi...@git.apache.org>.
Github user allengeorge commented on the issue:

    https://github.com/apache/thrift/pull/1255
  
    @jeking3 That's a very fair point - I didn't realize the cross-tests weren't running. I try to be disciplined in my testing and ensure nothing breaks, but I'm only human; automating things is the right way to go. I'll look at the c_glib example and update the docker images to run the cross tests.
    
    And, I agree that it would be nice to have a second person knowledgeable in the language. I'm not sure how best to make that happen. Any ideas?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift issue #1255: THRIFT-4176: Implement threaded server for Rust

Posted by jeking3 <gi...@git.apache.org>.
Github user jeking3 commented on the issue:

    https://github.com/apache/thrift/pull/1255
  
    My only hesitation on these changes is that there are no cross tests for rust right now, so we don't have a good indicator on their stability in general.  We need to update the docker files for Ubuntu to include rust, and get rust into the crosstest (Travis build jobs 1, 2).  You can even follow the java-c_glib multiplexed test example if you want to make it complete.
    
    I'm not very useful reviewing the code because I don't know the language.  As for the appveyor build error, I will fix that.  Some path strings have to be unix-style with later releases of cmake or FindBoost gets "confused" and reports invalid escape sequences.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift issue #1255: THRIFT-4176: Implement threaded server for Rust

Posted by jeking3 <gi...@git.apache.org>.
Github user jeking3 commented on the issue:

    https://github.com/apache/thrift/pull/1255
  
    Based on Jira comments it looks like @RandyAbernethy might be using it. :)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift issue #1255: THRIFT-4176: Implement threaded server for Rust

Posted by allengeorge <gi...@git.apache.org>.
Github user allengeorge commented on the issue:

    https://github.com/apache/thrift/pull/1255
  
    Updated the PR description with an example. This PR now contains the final state of all types, etc and should make the runtime code a lot cleaner and easier to use!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift issue #1255: THRIFT-4176: Implement threaded server for Rust

Posted by allengeorge <gi...@git.apache.org>.
Github user allengeorge commented on the issue:

    https://github.com/apache/thrift/pull/1255
  
    @jeking3 @Jens-G Any chance this could be merged in?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] thrift pull request #1255: THRIFT-4176: Implement threaded server for Rust

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/thrift/pull/1255


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---