Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.0.0
    • Component/s: TS API
    • Labels:
      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).

        Issue Links

          Activity

          Hide
          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

          Show
          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
          Hide
          Leif Hedstrom added a comment -

          Moving out to 3.1.3 for now.

          Show
          Leif Hedstrom added a comment - Moving out to 3.1.3 for now.
          Hide
          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.

          Show
          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.
          Hide
          James Peach added a comment -

          Not a regression; push out to 3.2.

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

          Moving these out to 3.3.0.

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

          Moving to 3.3.2.

          Show
          Leif Hedstrom added a comment - Moving to 3.3.2.
          Hide
          Leif Hedstrom added a comment -

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

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

          James Peach are you still working on this?

          Show
          Igor Galić added a comment - James Peach are you still working on this?
          Hide
          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

          Show
          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
          Hide
          Leif Hedstrom added a comment -

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

          Show
          Leif Hedstrom added a comment - Yunkai Zhang Does this mean that we should close this as a "dupe" of TS-2431 ?
          Hide
          James Peach added a comment -

          Let's use this ticket to review Yunkai Zhang'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.

          Show
          James Peach added a comment - Let's use this ticket to review Yunkai Zhang '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.
          Hide
          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.

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

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

          Show
          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 .
          Hide
          Yunkai Zhang added a comment -

          Rebase to the latest master branch.

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

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

          Show
          Yunkai Zhang added a comment - Let's land it, so that I can move forward to SPDY patches.
          Hide
          ASF subversion and git services added a comment -

          Commit 45f6553290a62aa9e77d42e32e7809b89c41ace2 in trafficserver's branch refs/heads/master from Yunkai Zhang
          [ 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>

          Show
          ASF subversion and git services added a comment - Commit 45f6553290a62aa9e77d42e32e7809b89c41ace2 in trafficserver's branch refs/heads/master from Yunkai Zhang [ 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>
          Hide
          ASF subversion and git services added a comment -

          Commit 8a0bee4e2b4e897c8e9b089bdbc409999338bdd2 in trafficserver's branch refs/heads/master from Yunkai Zhang
          [ 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>

          Show
          ASF subversion and git services added a comment - Commit 8a0bee4e2b4e897c8e9b089bdbc409999338bdd2 in trafficserver's branch refs/heads/master from Yunkai Zhang [ 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>
          Hide
          ASF subversion and git services added a comment -

          Commit 6a5f55abd2088e02e615639b182b757fbdc0590e in trafficserver's branch refs/heads/master from Yunkai Zhang
          [ 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>

          Show
          ASF subversion and git services added a comment - Commit 6a5f55abd2088e02e615639b182b757fbdc0590e in trafficserver's branch refs/heads/master from Yunkai Zhang [ 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>
          Hide
          ASF subversion and git services added a comment -

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

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

          Show
          ASF subversion and git services added a comment - Commit 575469618a2855b8b9bbeef020eefe7472494c0d in trafficserver's branch refs/heads/master from Yunkai Zhang [ 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

            • Assignee:
              Yunkai Zhang
              Reporter:
              James Peach
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development