Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 5.0.0
    • TS API
    • None

    Description

      1) Introduce extended FetchSM APIs, which will be used by SPDY.

      2) Make TSFetchUrl() dechunk encoding automatically:
      If you use TSFetchUrl() to fetch a resource and the response comes back with chunked encoding, you are basically hosed. The caller never gets the SUCCESS event because FetchSM does not know how to decode the body. There's no content-length header and the origin server doesn't drop the TCP connection, so we just sit there waiting for the response to finish forever (well until the origin server drops the connection 10s later).

      Attachments

        Issue Links

          Activity

            jamespeach James Peach added a comment -

            This is another instance of events failing to be delivered correctly. The Http SM layer knows that it's the end on the read, but ends up delivering TS_EVENT_VCONN_READ_READY instead of TS_EVENT_VCONN_READ_COMPLETE.

            [Dec 30 23:31:05.605] Server

            {0x7fff7b5f9960} DEBUG: (http) [0] State Transition: ORIGIN_SERVER_OPEN -> SERVER_READ
            [Dec 30 23:31:05.605] Server {0x7fff7b5f9960}

            DEBUG: (http_redirect) [HttpSM::do_redirect]
            [Dec 30 23:31:05.605] Server

            {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::deallocate_postdata_copy_buffers]
            [Dec 30 23:31:05.605] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] adding producer 'http server'
            [Dec 30 23:31:05.605] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] adding consumer 'user agent'
            [Dec 30 23:31:05.605] Server {0x7fff7b5f9960}

            DEBUG: (http) [0] perform_cache_write_action CACHE_DO_NO_ACTION
            [Dec 30 23:31:05.605] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) tunnel_run started, p_arg is NULL
            [Dec 30 23:31:05.605] Server {0x7fff7b5f9960}

            DEBUG: (http_cs) tcp_init_cwnd_set 0
            [Dec 30 23:31:05.605] Server

            {0x7fff7b5f9960} DEBUG: (http_cs) desired TCP congestion window is 0
            [Dec 30 23:31:05.605] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [producer_run] do_dechunking p->chunked_handler.chunked_reader->read_avail() = 3144
            [Dec 30 23:31:05.605] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [producer_run] do_dechunking p->chunked_handler.skip_bytes = 242
            [Dec 30 23:31:05.605] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.605] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.605] Server {0x7fff7b5f9960}

            DEBUG: (http_chunk) read chunk size of 20477 bytes
            [Dec 30 23:31:05.605] Server

            {0x7fff7b5f9960} DEBUG: (http_chunk) read 2896 bytes of an 20477 chunk
            [Dec 30 23:31:05.605] Server {0x7fff7b5f9960}

            DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.605] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.605] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin
            [Dec 30 23:31:05.605] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read
            [Dec 30 23:31:05.606] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 3144
            [Dec 30 23:31:05.606] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.676] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.676] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.676] Server {0x7fff7b5f9960}

            DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk
            [Dec 30 23:31:05.676] Server

            {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.676] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.676] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.676] Server {0x7fff7b5f9960}

            DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk
            [Dec 30 23:31:05.677] Server

            {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.677] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.677] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin
            [Dec 30 23:31:05.677] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [process_fetch_read] I am here read
            [Dec 30 23:31:05.677] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 2896
            [Dec 30 23:31:05.677] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.677] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.677] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.677] Server

            {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk
            [Dec 30 23:31:05.677] Server {0x7fff7b5f9960}

            DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.677] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.677] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin
            [Dec 30 23:31:05.677] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read
            [Dec 30 23:31:05.677] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 1448
            [Dec 30 23:31:05.677] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [process_fetch_read] I am here read
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 2896
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read
            [Dec 30 23:31:05.750] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 1448
            [Dec 30 23:31:05.750] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.751] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.751] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.751] Server {0x7fff7b5f9960}

            DEBUG: (http_chunk) read 4344 bytes of an 20477 chunk
            [Dec 30 23:31:05.751] Server

            {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.751] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.751] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin
            [Dec 30 23:31:05.751] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [process_fetch_read] I am here read
            [Dec 30 23:31:05.751] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 4344
            [Dec 30 23:31:05.751] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.824] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.824] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.824] Server

            {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk
            [Dec 30 23:31:05.824] Server {0x7fff7b5f9960}

            DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.824] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.824] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin
            [Dec 30 23:31:05.824] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read
            [Dec 30 23:31:05.824] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 1448
            [Dec 30 23:31:05.824] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.825] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.825] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.825] Server {0x7fff7b5f9960}

            DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk
            [Dec 30 23:31:05.825] Server

            {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.825] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.825] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin
            [Dec 30 23:31:05.825] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [process_fetch_read] I am here read
            [Dec 30 23:31:05.825] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 1448
            [Dec 30 23:31:05.825] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.825] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.825] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.825] Server

            {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk
            [Dec 30 23:31:05.825] Server {0x7fff7b5f9960}

            DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100
            [Dec 30 23:31:05.825] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.825] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin
            [Dec 30 23:31:05.825] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read
            [Dec 30 23:31:05.825] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 1448
            [Dec 30 23:31:05.826] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY]
            [Dec 30 23:31:05.830] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.830] Server

            {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY]
            [Dec 30 23:31:05.830] Server {0x7fff7b5f9960}

            DEBUG: (http_chunk) completed read of chunk of 20477 bytes
            [Dec 30 23:31:05.830] Server

            {0x7fff7b5f9960} DEBUG: (http_chunk) read chunk size of 0 bytes
            [Dec 30 23:31:05.830] Server {0x7fff7b5f9960}

            DEBUG: (http_chunk) completed read of trailers
            [Dec 30 23:31:05.830] Server

            {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 102
            [Dec 30 23:31:05.830] Server {0x7fff7b5f9960}

            DEBUG: (http) [0] [&HttpSM::tunnel_handler_server, VC_EVENT_READ_COMPLETE]
            [Dec 30 23:31:05.830] Server

            {0x7fff7b5f9960} DEBUG: (http_cs) [0] attaching server session [0] as slave
            [Dec 30 23:31:05.830] Server {0x7fff7b5f9960}

            DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_COMPLETE]
            [Dec 30 23:31:05.830] Server

            {0x7fff7b5f9960} DEBUG: (http) [0] [&HttpSM::tunnel_handler_ua, VC_EVENT_WRITE_COMPLETE]
            [Dec 30 23:31:05.830] Server {0x7fff7b5f9960}

            DEBUG: (http_cs) [0] session released by sm [0]
            [Dec 30 23:31:05.830] Server

            {0x7fff7b5f9960} DEBUG: (http_cs) [0] initiating io for next header
            [Dec 30 23:31:05.830] Server {0x7fff7b5f9960}

            DEBUG: (http) [0] [HttpSM::main_handler, HTTP_TUNNEL_EVENT_DONE]
            [Dec 30 23:31:05.830] Server

            {0x7fff7b5f9960} DEBUG: (http) [0] [&HttpSM::tunnel_handler, HTTP_TUNNEL_EVENT_DONE]
            [Dec 30 23:31:05.830] Server {0x7fff7b5f9960}

            DEBUG: (http_redirect) [HttpTunnel::deallocate_postdata_copy_buffers]
            [Dec 30 23:31:05.830] Server

            {0x7fff7b5f9960} DEBUG: (http_seq) [HttpStateMachineGet::update_stats] Logging transaction
            [Dec 30 23:31:05.830] Server {0x7fff7b5f9960}

            DEBUG: (http) [0] dellocating sm
            [Dec 30 23:31:05.830] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin
            [Dec 30 23:31:05.830] Server {0x7fff7b5f9960}

            DEBUG: (FetchSM) [process_fetch_read] I am here read
            [Dec 30 23:31:05.830] Server

            {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 212
            [Dec 30 23:31:16.596] Server {0x7fff7b5f9960}

            DEBUG: (http_cs) [0] [&HttpClientSession::state_slave_keep_alive, VC_EVENT_EOS]
            [Dec 30 23:31:16.598] Server

            {0x7fff7b5f9960}

            DEBUG: (http_ss) [0] session closed

            jamespeach James Peach added a comment - This is another instance of events failing to be delivered correctly. The Http SM layer knows that it's the end on the read, but ends up delivering TS_EVENT_VCONN_READ_READY instead of TS_EVENT_VCONN_READ_COMPLETE. [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http) [0] State Transition: ORIGIN_SERVER_OPEN -> SERVER_READ [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpSM::do_redirect] [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::deallocate_postdata_copy_buffers] [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] adding producer 'http server' [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] adding consumer 'user agent' [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http) [0] perform_cache_write_action CACHE_DO_NO_ACTION [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) tunnel_run started, p_arg is NULL [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_cs) tcp_init_cwnd_set 0 [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_cs) desired TCP congestion window is 0 [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [producer_run] do_dechunking p->chunked_handler.chunked_reader->read_avail() = 3144 [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [producer_run] do_dechunking p->chunked_handler.skip_bytes = 242 [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read chunk size of 20477 bytes [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 2896 bytes of an 20477 chunk [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin [Dec 30 23:31:05.605] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read [Dec 30 23:31:05.606] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 3144 [Dec 30 23:31:05.606] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.676] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.676] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.676] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk [Dec 30 23:31:05.676] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.676] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.676] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.676] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 2896 [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 1448 [Dec 30 23:31:05.677] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 2896 [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 1448 [Dec 30 23:31:05.750] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.751] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.751] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.751] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 4344 bytes of an 20477 chunk [Dec 30 23:31:05.751] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.751] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.751] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin [Dec 30 23:31:05.751] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read [Dec 30 23:31:05.751] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 4344 [Dec 30 23:31:05.751] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.824] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.824] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.824] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk [Dec 30 23:31:05.824] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.824] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.824] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin [Dec 30 23:31:05.824] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read [Dec 30 23:31:05.824] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 1448 [Dec 30 23:31:05.824] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 1448 [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read 1448 bytes of an 20477 chunk [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 100 [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read [Dec 30 23:31:05.825] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 1448 [Dec 30 23:31:05.826] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_READY] [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] producer_handler_chunked [http server VC_EVENT_READ_READY] [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_chunk) completed read of chunk of 20477 bytes [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_chunk) read chunk size of 0 bytes [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_chunk) completed read of trailers [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::producer_handler] enable_redirection: [1 0 0] event: 102 [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http) [0] [&HttpSM::tunnel_handler_server, VC_EVENT_READ_COMPLETE] [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_cs) [0] attaching server session [0] as slave [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_tunnel) [0] consumer_handler [user agent VC_EVENT_WRITE_COMPLETE] [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http) [0] [&HttpSM::tunnel_handler_ua, VC_EVENT_WRITE_COMPLETE] [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_cs) [0] session released by sm [0] [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_cs) [0] initiating io for next header [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http) [0] [HttpSM::main_handler, HTTP_TUNNEL_EVENT_DONE] [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http) [0] [&HttpSM::tunnel_handler, HTTP_TUNNEL_EVENT_DONE] [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_redirect) [HttpTunnel::deallocate_postdata_copy_buffers] [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http_seq) [HttpStateMachineGet::update_stats] Logging transaction [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (http) [0] dellocating sm [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [fetch_handler] calling fetch_plugin [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] I am here read [Dec 30 23:31:05.830] Server {0x7fff7b5f9960} DEBUG: (FetchSM) [process_fetch_read] number of bytes in read ready 212 [Dec 30 23:31:16.596] Server {0x7fff7b5f9960} DEBUG: (http_cs) [0] [&HttpClientSession::state_slave_keep_alive, VC_EVENT_EOS] [Dec 30 23:31:16.598] Server {0x7fff7b5f9960} DEBUG: (http_ss) [0] session closed
            zwoop Leif Hedstrom added a comment -

            Moving out to 3.1.3 for now.

            zwoop Leif Hedstrom added a comment - Moving out to 3.1.3 for now.
            zwoop Leif Hedstrom added a comment -

            Moved to 3.1.4, please move bugs back to 3.1.3, which you will work on in the next 2 weeks.

            zwoop Leif Hedstrom added a comment - Moved to 3.1.4, please move bugs back to 3.1.3, which you will work on in the next 2 weeks.
            jamespeach James Peach added a comment -

            Not a regression; push out to 3.2.

            jamespeach James Peach added a comment - Not a regression; push out to 3.2.
            zwoop Leif Hedstrom added a comment -

            Moving these out to 3.3.0.

            zwoop Leif Hedstrom added a comment - Moving these out to 3.3.0.
            zwoop Leif Hedstrom added a comment -

            Moving to 3.3.2.

            zwoop Leif Hedstrom added a comment - Moving to 3.3.2.
            zwoop Leif Hedstrom added a comment -

            Moving all these out to 3.5.0 (aka next dev cycle).

            zwoop Leif Hedstrom added a comment - Moving all these out to 3.5.0 (aka next dev cycle).
            zwoop Leif Hedstrom added a comment - Moving to 5.0.0 as per https://cwiki.apache.org/confluence/display/TS/New+Release+Processes
            i.galic Igor Galić added a comment -

            jpeach@apache.org are you still working on this?

            i.galic Igor Galić added a comment - jpeach@apache.org are you still working on this?
            yunkai Yunkai Zhang added a comment -

            I have extended FetchSM in SPDY series patches, and FetchSM has supported chunked encoding:

            https://issues.apache.org/jira/secure/attachment/12623483/0004-TS-2431-Implement-dechunk-supporting-in-FetchSM.V2.patch

            yunkai Yunkai Zhang added a comment - I have extended FetchSM in SPDY series patches, and FetchSM has supported chunked encoding: https://issues.apache.org/jira/secure/attachment/12623483/0004-TS-2431-Implement-dechunk-supporting-in-FetchSM.V2.patch
            zwoop Leif Hedstrom added a comment -

            yunkai Does this mean that we should close this as a "dupe" of TS-2431 ?

            zwoop Leif Hedstrom added a comment - yunkai Does this mean that we should close this as a "dupe" of TS-2431 ?
            jamespeach James Peach added a comment -

            Let's use this ticket to review yunkai's patch and see whether we can land it independently of the whole series. FWIW, I think that FetchSM should always support chunking; I don't see a use case for needing the additional flag.

            jamespeach James Peach added a comment - Let's use this ticket to review yunkai 's patch and see whether we can land it independently of the whole series. FWIW, I think that FetchSM should always support chunking; I don't see a use case for needing the additional flag.
            yunkai Yunkai Zhang added a comment -

            When I extended FetchSM, one of principle is that to keep backward compatibility, so that other old plugins can still work with new code.

            It's easy to land or refine my FetchSM's patches, they are totally independent from other SPDY code. I think the SPDY code is the best example about how to use the extended API of FetchSM.

            I hope you can review it as much as quickly.

            yunkai Yunkai Zhang added a comment - When I extended FetchSM, one of principle is that to keep backward compatibility, so that other old plugins can still work with new code. It's easy to land or refine my FetchSM's patches, they are totally independent from other SPDY code. I think the SPDY code is the best example about how to use the extended API of FetchSM. I hope you can review it as much as quickly.
            jamespeach James Peach added a comment -

            I suggest that chunked encoding is better handled in the PluginVC so that both FetchSM and TSHttpConnect can make use of it.

            jamespeach James Peach added a comment - I suggest that chunked encoding is better handled in the PluginVC so that both FetchSM and TSHttpConnect can make use of it.
            yunkai Yunkai Zhang added a comment - - edited

            Hi guys:

            I have split extended FetchSM's patch from SPDY ticket(TS-2431) to here.

            Both 0001-TS-1062-Extends-and-optimizes-FetchSM.patch and 0002-TS-1062-Implement-dechunk-supporting-for-extended-Fe.patch are well tested, they should be stable.

            But 0003-TS-1062-Make-TSFetchUrl-handle-chunked-encoding-auto.patch hasn't been tested, since I do not have plugin that depends on TSFetchUrl() API.

            Can any one help me to test TSFetchUrl() API with these patches?

            I need your feedbacks.

            yunkai Yunkai Zhang added a comment - - edited Hi guys: I have split extended FetchSM's patch from SPDY ticket( TS-2431 ) to here. Both 0001-TS-1062-Extends-and-optimizes-FetchSM.patch and 0002-TS-1062-Implement-dechunk-supporting-for-extended-Fe.patch are well tested, they should be stable. But 0003-TS-1062-Make-TSFetchUrl-handle-chunked-encoding-auto.patch hasn't been tested, since I do not have plugin that depends on TSFetchUrl() API. Can any one help me to test TSFetchUrl() API with these patches? I need your feedbacks .
            yunkai Yunkai Zhang added a comment -

            Rebase to the latest master branch.

            yunkai Yunkai Zhang added a comment - Rebase to the latest master branch.
            yunkai Yunkai Zhang added a comment -

            Let's land it, so that I can move forward to SPDY patches.

            yunkai Yunkai Zhang added a comment - Let's land it, so that I can move forward to SPDY patches.

            Commit 45f6553290a62aa9e77d42e32e7809b89c41ace2 in trafficserver's branch refs/heads/master from yunkai
            [ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=45f6553 ]

            TS-1062: Extends and optimizes FetchSM

            • Optimize FetchSM to support stream IO.
            • Reduce memory copy in FetchSM.
            • Expose some plugin APIs in 'ts/experimental.h'.

            This patch will borrow some ideas from @Quehan's fetcher
            library, which has not been open-sourced yet.

            Signed-off-by: Yunkai Zhang <qiushu.zyk@taobao.com>

            jira-bot ASF subversion and git services added a comment - Commit 45f6553290a62aa9e77d42e32e7809b89c41ace2 in trafficserver's branch refs/heads/master from yunkai [ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=45f6553 ] TS-1062 : Extends and optimizes FetchSM Optimize FetchSM to support stream IO. Reduce memory copy in FetchSM. Expose some plugin APIs in 'ts/experimental.h'. This patch will borrow some ideas from @Quehan's fetcher library, which has not been open-sourced yet. Signed-off-by: Yunkai Zhang <qiushu.zyk@taobao.com>

            Commit 8a0bee4e2b4e897c8e9b089bdbc409999338bdd2 in trafficserver's branch refs/heads/master from yunkai
            [ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=8a0bee4 ]

            TS-1062: Implement dechunk supporting for extended FetchSM

            With this patch, we can let FetchSM to dechunk body content automatically
            by passing 'TS_FETCH_FLAGS_DECHUNK' option to TSFetchCreate();

            Signed-off-by: Yunkai Zhang <qiushu.zyk@taobao.com>

            jira-bot ASF subversion and git services added a comment - Commit 8a0bee4e2b4e897c8e9b089bdbc409999338bdd2 in trafficserver's branch refs/heads/master from yunkai [ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=8a0bee4 ] TS-1062 : Implement dechunk supporting for extended FetchSM With this patch, we can let FetchSM to dechunk body content automatically by passing 'TS_FETCH_FLAGS_DECHUNK' option to TSFetchCreate(); Signed-off-by: Yunkai Zhang <qiushu.zyk@taobao.com>

            Commit 6a5f55abd2088e02e615639b182b757fbdc0590e in trafficserver's branch refs/heads/master from yunkai
            [ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=6a5f55a ]

            TS-1062: Make TSFetchUrl handle chunked encoding automatically

            Signed-off-by: Yunkai Zhang <qiushu.zyk@taobao.com>

            jira-bot ASF subversion and git services added a comment - Commit 6a5f55abd2088e02e615639b182b757fbdc0590e in trafficserver's branch refs/heads/master from yunkai [ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=6a5f55a ] TS-1062 : Make TSFetchUrl handle chunked encoding automatically Signed-off-by: Yunkai Zhang <qiushu.zyk@taobao.com>

            Commit 575469618a2855b8b9bbeef020eefe7472494c0d in trafficserver's branch refs/heads/master from yunkai
            [ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=5754696 ]

            Update CHANGES with TS-1062/TS-2610/TS-2612/TS-2630

            jira-bot ASF subversion and git services added a comment - Commit 575469618a2855b8b9bbeef020eefe7472494c0d in trafficserver's branch refs/heads/master from yunkai [ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=5754696 ] Update CHANGES with TS-1062 / TS-2610 / TS-2612 / TS-2630

            People

              yunkai Yunkai Zhang
              jamespeach James Peach
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: