You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by jacksontj <gi...@git.apache.org> on 2016/10/03 15:17:24 UTC

[GitHub] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

GitHub user jacksontj opened a pull request:

    https://github.com/apache/trafficserver/pull/1070

    TS-4509 Add `outstanding_bytes` to VConnection

    With this we can better check request retryability. This (in addition to not releasing the sessions immediately on error) means that if the request is retryable we can simply check if the number of bytes queued is the same as the number of bytes we've asked to write. If these match, then we can be sure we didn't send any ACKd packets-- meaning we are completely safe to retry.

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

    $ git pull https://github.com/jacksontj/trafficserver TS-3959

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

    https://github.com/apache/trafficserver/pull/1070.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 #1070
    
----
commit 760565954c2b7a9bb747d8e399a6b412b27466f0
Author: Thomas Jackson <ja...@gmail.com>
Date:   2016-10-03T15:16:28Z

    TS-4509 Add `outstanding_bytes` to VConnection
    
    With this we can better check request retryability. This (in addition to not releasing the sessions immediately on error) means that if the request is retryable we can simply check if the number of bytes queued is the same as the number of bytes we've asked to write. If these match, then we can be sure we didn't send any ACKd packets-- meaning we are completely safe to retry.

----


---
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] trafficserver pull request #1070: TS-4509: Add `outstanding_bytes` to VConne...

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

    https://github.com/apache/trafficserver/pull/1070


---
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] trafficserver issue #1070: TS-4509: Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *failed*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/925/ for details.
     



---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    @jpeach I've updated the PR with your feedback-- although I'm not sure how to mark it as "done"-- its still showing that you have changes requested which is odd :/


---
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] trafficserver issue #1070: TS-4509: Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/819/ for details.
     



---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81653679
  
    --- Diff: proxy/http/HttpSM.cc ---
    @@ -5310,9 +5310,6 @@ HttpSM::handle_post_failure()
         tunnel.deallocate_buffers();
         tunnel.reset();
         // Server died
    -    vc_table.cleanup_entry(server_entry);
    -    server_entry          = NULL;
    -    server_session        = NULL;
    --- End diff --
    
    But at this point, we don't want to leave dangling pointers even if we do want to retry, right? If we retry we ought to get a new server session.


---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81578745
  
    --- Diff: proxy/http/HttpTransact.cc ---
    @@ -6536,14 +6536,23 @@ HttpTransact::is_request_valid(State *s, HTTPHdr *incoming_request)
     // In the general case once bytes have been sent on the wire the request cannot be retried.
     // The reason we cannot retry is that the rfc2616 does not make any gaurantees about the
     // retry-ability of a request. In fact in the reverse proxy case it is quite common for GET
    -// requests on the origin to fire tracking events etc. So, as a proxy once we have sent bytes
    -// on the wire to the server we cannot gaurantee that the request is safe to redispatch to another server.
    +// requests on the origin to fire tracking events etc. So, as a proxy once bytes have been ACKd
    +// to the server we cannot gaurantee that the request is safe to retry or redispatch to another server.
    --- End diff --
    
    by the server


---
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] trafficserver issue #1070: TS-4509: Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Definitely going to squash :)


---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/814/ for details.
     



---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/917/ for details.
     



---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81578645
  
    --- Diff: proxy/http/HttpTransact.cc ---
    @@ -6536,14 +6536,23 @@ HttpTransact::is_request_valid(State *s, HTTPHdr *incoming_request)
     // In the general case once bytes have been sent on the wire the request cannot be retried.
     // The reason we cannot retry is that the rfc2616 does not make any gaurantees about the
     // retry-ability of a request. In fact in the reverse proxy case it is quite common for GET
    -// requests on the origin to fire tracking events etc. So, as a proxy once we have sent bytes
    -// on the wire to the server we cannot gaurantee that the request is safe to redispatch to another server.
    +// requests on the origin to fire tracking events etc. So, as a proxy once bytes have been ACKd
    +// to the server we cannot gaurantee that the request is safe to retry or redispatch to another server.
    +// This is destinction of "ACKd" vs "sent" is intended, and has reason. In the case of a
    --- End diff --
    
    s/destinction/distinction/


---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81653780
  
    --- Diff: iocore/net/I_NetVConnection.h ---
    @@ -242,6 +242,14 @@ struct NetVCOptions {
     class NetVConnection : public VConnection
     {
     public:
    +  // How many bytes have been queued to the OS for sending by haven't been sent yet
    +  // Not all platforms support this, and if they don't we'll return -1 for them
    +  virtual int64_t
    +  outstanding()
    --- End diff --
    
    ```C
    outstanding() const
    ```


---
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] trafficserver issue #1070: TS-4509: Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/927/ for details.
     



---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jacksontj <gi...@git.apache.org>.
Github user jacksontj commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81797531
  
    --- Diff: proxy/http/HttpSM.cc ---
    @@ -5310,9 +5310,6 @@ HttpSM::handle_post_failure()
         tunnel.deallocate_buffers();
         tunnel.reset();
         // Server died
    -    vc_table.cleanup_entry(server_entry);
    -    server_entry          = NULL;
    -    server_session        = NULL;
    --- End diff --
    
    We should get a new session-- but to do the "is retryable" check, I need access to the FD-- which is problematic if we release the session-- since it get cleared/closed etc. With these lines removed it seems that we aren't leaking sessions (from testing locally and in our staging env).


---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/922/ for details.
     



---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Linux build *failed*! See https://ci.trafficserver.apache.org/job/Github-Linux/816/ for details.
     



---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81578518
  
    --- Diff: iocore/net/UnixNetVConnection.cc ---
    @@ -632,6 +632,14 @@ UnixNetVConnection::get_data(int id, void *data)
       }
     }
     
    +int
    +UnixNetVConnection::oustanding_bytes()
    +{
    +  int n;
    +  ioctl(this->get_socket(), TIOCOUTQ, &n);
    --- End diff --
    
    Check the return, non-Linux doesn't support ``TIOCOUTQ`` usage in this way.


---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *failed*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/918/ for details.
     



---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/813/ for details.
     



---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/811/ for details.
     



---
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] trafficserver issue #1070: TS-4509: Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/821/ for details.
     



---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81578152
  
    --- Diff: iocore/net/I_NetVConnection.h ---
    @@ -242,6 +242,14 @@ struct NetVCOptions {
     class NetVConnection : public VConnection
     {
     public:
    +  // How many bytes have been queued to the OS for sending by haven't been sent yet
    +  // Not all platforms support this, and if they don't we'll return -1 for them
    +  virtual int
    +  oustanding_bytes()
    --- End diff --
    
    s/oustanding_bytes/outstanding/


---
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] trafficserver issue #1070: TS-4509: Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    +1, assuming you are going to squash :)


---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81578881
  
    --- Diff: proxy/http/HttpTransact.cc ---
    @@ -6536,14 +6536,23 @@ HttpTransact::is_request_valid(State *s, HTTPHdr *incoming_request)
     // In the general case once bytes have been sent on the wire the request cannot be retried.
     // The reason we cannot retry is that the rfc2616 does not make any gaurantees about the
     // retry-ability of a request. In fact in the reverse proxy case it is quite common for GET
    -// requests on the origin to fire tracking events etc. So, as a proxy once we have sent bytes
    -// on the wire to the server we cannot gaurantee that the request is safe to redispatch to another server.
    +// requests on the origin to fire tracking events etc. So, as a proxy once bytes have been ACKd
    +// to the server we cannot gaurantee that the request is safe to retry or redispatch to another server.
    +// This is destinction of "ACKd" vs "sent" is intended, and has reason. In the case of a
    +// new origin connection there is little difference, as the chance of a RST between setup
    +// and the first set of bytes is relatively small. This destinction is more apparent in the
    --- End diff --
    
    s/destinction/distinction/


---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/810/ for details.
     



---
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] trafficserver issue #1070: TS-4509: Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *failed*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/926/ for details.
     



---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81578713
  
    --- Diff: proxy/http/HttpTransact.cc ---
    @@ -6536,14 +6536,23 @@ HttpTransact::is_request_valid(State *s, HTTPHdr *incoming_request)
     // In the general case once bytes have been sent on the wire the request cannot be retried.
     // The reason we cannot retry is that the rfc2616 does not make any gaurantees about the
     // retry-ability of a request. In fact in the reverse proxy case it is quite common for GET
    -// requests on the origin to fire tracking events etc. So, as a proxy once we have sent bytes
    -// on the wire to the server we cannot gaurantee that the request is safe to redispatch to another server.
    +// requests on the origin to fire tracking events etc. So, as a proxy once bytes have been ACKd
    --- End diff --
    
    So, as a proxy, once ...


---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81578553
  
    --- Diff: iocore/net/UnixNetVConnection.cc ---
    @@ -632,6 +632,14 @@ UnixNetVConnection::get_data(int id, void *data)
       }
     }
     
    +int
    +UnixNetVConnection::oustanding_bytes()
    +{
    +  int n;
    +  ioctl(this->get_socket(), TIOCOUTQ, &n);
    +  return n;
    +};
    --- End diff --
    
    No trailing ``;``.


---
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] trafficserver issue #1070: TS-4509: Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/820/ for details.
     



---
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] trafficserver issue #1070: TS-4509: Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/848/ for details.
     



---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81578355
  
    --- Diff: iocore/net/I_NetVConnection.h ---
    @@ -242,6 +242,14 @@ struct NetVCOptions {
     class NetVConnection : public VConnection
     {
     public:
    +  // How many bytes have been queued to the OS for sending by haven't been sent yet
    +  // Not all platforms support this, and if they don't we'll return -1 for them
    +  virtual int
    +  oustanding_bytes()
    --- End diff --
    
    ```C
    int64_t outstanding_bytes() const
    ```
    
    Since we use int64_t for byte counts.


---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81578944
  
    --- Diff: proxy/http/HttpTransact.cc ---
    @@ -6536,14 +6536,23 @@ HttpTransact::is_request_valid(State *s, HTTPHdr *incoming_request)
     // In the general case once bytes have been sent on the wire the request cannot be retried.
     // The reason we cannot retry is that the rfc2616 does not make any gaurantees about the
     // retry-ability of a request. In fact in the reverse proxy case it is quite common for GET
    -// requests on the origin to fire tracking events etc. So, as a proxy once we have sent bytes
    -// on the wire to the server we cannot gaurantee that the request is safe to redispatch to another server.
    +// requests on the origin to fire tracking events etc. So, as a proxy once bytes have been ACKd
    +// to the server we cannot gaurantee that the request is safe to retry or redispatch to another server.
    +// This is destinction of "ACKd" vs "sent" is intended, and has reason. In the case of a
    +// new origin connection there is little difference, as the chance of a RST between setup
    +// and the first set of bytes is relatively small. This destinction is more apparent in the
    +// case where the origin connection is a KA session. In this case, the seesion may not have
    --- End diff --
    
    s/seession/session/


---
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] trafficserver issue #1070: TS-4509: Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/956/ for details.
     



---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/916/ for details.
     



---
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] trafficserver pull request #1070: TS-4509 Add `outstanding_bytes` to VConnec...

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1070#discussion_r81578796
  
    --- Diff: proxy/http/HttpTransact.cc ---
    @@ -6536,14 +6536,23 @@ HttpTransact::is_request_valid(State *s, HTTPHdr *incoming_request)
     // In the general case once bytes have been sent on the wire the request cannot be retried.
     // The reason we cannot retry is that the rfc2616 does not make any gaurantees about the
     // retry-ability of a request. In fact in the reverse proxy case it is quite common for GET
    -// requests on the origin to fire tracking events etc. So, as a proxy once we have sent bytes
    -// on the wire to the server we cannot gaurantee that the request is safe to redispatch to another server.
    +// requests on the origin to fire tracking events etc. So, as a proxy once bytes have been ACKd
    +// to the server we cannot gaurantee that the request is safe to retry or redispatch to another server.
    --- End diff --
    
    s/gaurantee/guarantee/


---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/919/ for details.
     



---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/812/ for details.
     



---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/920/ for details.
     



---
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] trafficserver issue #1070: TS-4509 Add `outstanding_bytes` to VConnection

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

    https://github.com/apache/trafficserver/pull/1070
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/915/ for details.
     



---
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.
---