[jira] [Created] (TS-3545) Make traffic_line and traffic_ctl more verbose

2015-04-22 Thread David Carlin (JIRA)
David Carlin created TS-3545:


 Summary: Make traffic_line and traffic_ctl more verbose
 Key: TS-3545
 URL: https://issues.apache.org/jira/browse/TS-3545
 Project: Traffic Server
  Issue Type: Bug
  Components: Configuration
Reporter: David Carlin


Couple suggestions:

Can 'traffic_line -s' and 'traffic_ctl config set' send a warning after making 
a setting change that it will take 5-10 seconds to take effect?

Currently the command will warn you when a reboot is needed, but it would be 
handy if it by default reported when a reboot is unnecessary as well.

Neither tool outputs anything usually when making a setting change, leaving the 
user to wonder if it worked or not.. 

I only recently found out there was a delay in making a change and having it 
take effect; I frequently just thought traffic_line -s didn't work for a 
particular setting, but I may not have been waiting long enough.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread Phil Sorber (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Sorber updated TS-3533:

Backport to Version:   (was: 5.3.0)

 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Bryan Call
 Fix For: 5.3.0, 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TS-3546) Remove TSPluginRegister API or make the version checking work

2015-04-22 Thread Bryan Call (JIRA)
Bryan Call created TS-3546:
--

 Summary: Remove TSPluginRegister API or make the version checking 
work
 Key: TS-3546
 URL: https://issues.apache.org/jira/browse/TS-3546
 Project: Traffic Server
  Issue Type: Bug
  Components: TS API
Reporter: Bryan Call


IRC discussion about it:
{code}
09:29:39]  @bcall why do we want plugins to register?
[09:30:06]  @jpeach   afaik historically it's always been a requirement
[09:30:30]  @bcallI don't think so
[09:30:33]  @jpeach   imho there should be a way for  plugin to fail at 
startup
[09:30:53]  @jpeach   if register does nothing useful then we should just 
remove it
[09:31:46]  @bcallit was used for API version checking from what I 
remember
[09:31:52]  @jpeach   but registration creates internal info that could be 
used for something interesting
[09:31:54]  @bcalland I never did it in my plugins
[09:32:18]  @sudheerv fwiw, i think i didn't either ;)
[09:32:52]  @jpeach   heh
[09:32:54]  @bcallit is helpful for 3rd party plugins - vender, email, etc
[09:33:13]  @bcalland api version checking
[09:33:14]  @jpeach   that information never goes anywhere
[09:33:20]  @bcallI can see the merit of the version checking
[09:33:21]  @jpeach   the version checking does nothing
[09:33:28]  @bcalleven better :)
[09:33:40]  @jpeach   sounds like you should nuke it for 6.0
[09:34:09]  @bcallI will file a bug
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3546) Remove TSPluginRegister API or make the version checking work

2015-04-22 Thread James Peach (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507399#comment-14507399
 ] 

James Peach commented on TS-3546:
-

My understanding is that registration was always required. I don't think that 
optional registration makes sense; it should be compulsory or not at all.

I think that there are benefits to knowing what plugins are loaded in the core 
that we don't take advantage of. If we ever implement plugin reloading, then 
the registered plugin instance is the natural place to track the resources 
allocated by a plugin. There is a need to track what a plugin does, for example 
TSHttpConnectWithPluginId(), which could have been implemented to automatically 
chain back to the plugin registration if we associated continuations with 
plugins (which we could do relatively easily).

 Remove TSPluginRegister API or make the version checking work
 -

 Key: TS-3546
 URL: https://issues.apache.org/jira/browse/TS-3546
 Project: Traffic Server
  Issue Type: Improvement
  Components: TS API
Affects Versions: 5.3.0
Reporter: Bryan Call
 Fix For: 6.0.0


 IRC discussion about it:
 {code}
 09:29:39]  @bcall   why do we want plugins to register?
 [09:30:06]  @jpeach afaik historically it's always been a requirement
 [09:30:30]  @bcall  I don't think so
 [09:30:33]  @jpeach imho there should be a way for  plugin to fail at 
 startup
 [09:30:53]  @jpeach if register does nothing useful then we should just 
 remove it
 [09:31:46]  @bcall  it was used for API version checking from what I 
 remember
 [09:31:52]  @jpeach but registration creates internal info that could be 
 used for something interesting
 [09:31:54]  @bcall  and I never did it in my plugins
 [09:32:18]  @sudheerv   fwiw, i think i didn't either ;)
 [09:32:52]  @jpeach heh
 [09:32:54]  @bcall  it is helpful for 3rd party plugins - vender, email, etc
 [09:33:13]  @bcall  and api version checking
 [09:33:14]  @jpeach that information never goes anywhere
 [09:33:20]  @bcall  I can see the merit of the version checking
 [09:33:21]  @jpeach the version checking does nothing
 [09:33:28]  @bcall  even better :)
 [09:33:40]  @jpeach sounds like you should nuke it for 6.0
 [09:34:09]  @bcall  I will file a bug
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread Phil Sorber (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Sorber updated TS-3533:

Fix Version/s: (was: 6.0.0)
   5.3.0

 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Bryan Call
 Fix For: 5.3.0, 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread Phil Sorber (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Sorber updated TS-3533:

Fix Version/s: 6.0.0

 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Bryan Call
 Fix For: 5.3.0, 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3546) Remove TSPluginRegister API or make the version checking work

2015-04-22 Thread Bryan Call (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Call updated TS-3546:
---
Fix Version/s: 6.0.0

 Remove TSPluginRegister API or make the version checking work
 -

 Key: TS-3546
 URL: https://issues.apache.org/jira/browse/TS-3546
 Project: Traffic Server
  Issue Type: Improvement
  Components: TS API
Affects Versions: 5.3.0
Reporter: Bryan Call
 Fix For: 6.0.0


 IRC discussion about it:
 {code}
 09:29:39]  @bcall   why do we want plugins to register?
 [09:30:06]  @jpeach afaik historically it's always been a requirement
 [09:30:30]  @bcall  I don't think so
 [09:30:33]  @jpeach imho there should be a way for  plugin to fail at 
 startup
 [09:30:53]  @jpeach if register does nothing useful then we should just 
 remove it
 [09:31:46]  @bcall  it was used for API version checking from what I 
 remember
 [09:31:52]  @jpeach but registration creates internal info that could be 
 used for something interesting
 [09:31:54]  @bcall  and I never did it in my plugins
 [09:32:18]  @sudheerv   fwiw, i think i didn't either ;)
 [09:32:52]  @jpeach heh
 [09:32:54]  @bcall  it is helpful for 3rd party plugins - vender, email, etc
 [09:33:13]  @bcall  and api version checking
 [09:33:14]  @jpeach that information never goes anywhere
 [09:33:20]  @bcall  I can see the merit of the version checking
 [09:33:21]  @jpeach the version checking does nothing
 [09:33:28]  @bcall  even better :)
 [09:33:40]  @jpeach sounds like you should nuke it for 6.0
 [09:34:09]  @bcall  I will file a bug
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3546) Remove TSPluginRegister API or make the version checking work

2015-04-22 Thread Bryan Call (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Call updated TS-3546:
---
Issue Type: Improvement  (was: Bug)

 Remove TSPluginRegister API or make the version checking work
 -

 Key: TS-3546
 URL: https://issues.apache.org/jira/browse/TS-3546
 Project: Traffic Server
  Issue Type: Improvement
  Components: TS API
Affects Versions: 5.3.0
Reporter: Bryan Call
 Fix For: 6.0.0


 IRC discussion about it:
 {code}
 09:29:39]  @bcall   why do we want plugins to register?
 [09:30:06]  @jpeach afaik historically it's always been a requirement
 [09:30:30]  @bcall  I don't think so
 [09:30:33]  @jpeach imho there should be a way for  plugin to fail at 
 startup
 [09:30:53]  @jpeach if register does nothing useful then we should just 
 remove it
 [09:31:46]  @bcall  it was used for API version checking from what I 
 remember
 [09:31:52]  @jpeach but registration creates internal info that could be 
 used for something interesting
 [09:31:54]  @bcall  and I never did it in my plugins
 [09:32:18]  @sudheerv   fwiw, i think i didn't either ;)
 [09:32:52]  @jpeach heh
 [09:32:54]  @bcall  it is helpful for 3rd party plugins - vender, email, etc
 [09:33:13]  @bcall  and api version checking
 [09:33:14]  @jpeach that information never goes anywhere
 [09:33:20]  @bcall  I can see the merit of the version checking
 [09:33:21]  @jpeach the version checking does nothing
 [09:33:28]  @bcall  even better :)
 [09:33:40]  @jpeach sounds like you should nuke it for 6.0
 [09:34:09]  @bcall  I will file a bug
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3546) Remove TSPluginRegister API or make the version checking work

2015-04-22 Thread Bryan Call (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Call updated TS-3546:
---
Affects Version/s: 5.3.0

 Remove TSPluginRegister API or make the version checking work
 -

 Key: TS-3546
 URL: https://issues.apache.org/jira/browse/TS-3546
 Project: Traffic Server
  Issue Type: Bug
  Components: TS API
Affects Versions: 5.3.0
Reporter: Bryan Call
 Fix For: 6.0.0


 IRC discussion about it:
 {code}
 09:29:39]  @bcall   why do we want plugins to register?
 [09:30:06]  @jpeach afaik historically it's always been a requirement
 [09:30:30]  @bcall  I don't think so
 [09:30:33]  @jpeach imho there should be a way for  plugin to fail at 
 startup
 [09:30:53]  @jpeach if register does nothing useful then we should just 
 remove it
 [09:31:46]  @bcall  it was used for API version checking from what I 
 remember
 [09:31:52]  @jpeach but registration creates internal info that could be 
 used for something interesting
 [09:31:54]  @bcall  and I never did it in my plugins
 [09:32:18]  @sudheerv   fwiw, i think i didn't either ;)
 [09:32:52]  @jpeach heh
 [09:32:54]  @bcall  it is helpful for 3rd party plugins - vender, email, etc
 [09:33:13]  @bcall  and api version checking
 [09:33:14]  @jpeach that information never goes anywhere
 [09:33:20]  @bcall  I can see the merit of the version checking
 [09:33:21]  @jpeach the version checking does nothing
 [09:33:28]  @bcall  even better :)
 [09:33:40]  @jpeach sounds like you should nuke it for 6.0
 [09:34:09]  @bcall  I will file a bug
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3545) Make traffic_line and traffic_ctl more verbose

2015-04-22 Thread James Peach (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507387#comment-14507387
 ] 

James Peach commented on TS-3545:
-

There is no output for setting configuration that is marked as dynamic because 
it's not really possible to know precisely what to emit here. The implication 
is that the setting is applied immediately, but you can't tell when the actual 
subsystem change is triggered (if at all).

Maybe we could fix this in docs.

 Make traffic_line and traffic_ctl more verbose
 --

 Key: TS-3545
 URL: https://issues.apache.org/jira/browse/TS-3545
 Project: Traffic Server
  Issue Type: Bug
  Components: Configuration
Reporter: David Carlin

 Couple suggestions:
 Can 'traffic_line -s' and 'traffic_ctl config set' send a warning after 
 making a setting change that it will take 5-10 seconds to take effect?
 Currently the command will warn you when a reboot is needed, but it would be 
 handy if it by default reported when a reboot is unnecessary as well.
 Neither tool outputs anything usually when making a setting change, leaving 
 the user to wonder if it worked or not.. 
 I only recently found out there was a delay in making a change and having it 
 take effect; I frequently just thought traffic_line -s didn't work for a 
 particular setting, but I may not have been waiting long enough.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507406#comment-14507406
 ] 

ASF subversion and git services commented on TS-3533:
-

Commit 33cc7b32e23f72db56ff2fa10a8d5c1ee54fe2cf in trafficserver's branch 
refs/heads/5.3.x from [~psudaemon]
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=33cc7b3 ]

TS-3533: Update CHANGES


 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Bryan Call
 Fix For: 5.3.0, 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507402#comment-14507402
 ] 

ASF subversion and git services commented on TS-3533:
-

Commit 37b2819b746599e591ca15600488356fe546aea9 in trafficserver's branch 
refs/heads/5.3.x from [~psudaemon]
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=37b2819 ]

TS-3533: Revert [TS-3294]: Fix global plugin's dlhandle resource leak

This reverts commit ad9958b9240f784ce5cf0045fd975d143df2ea0e.

Conflicts:
proxy/Plugin.cc


 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Bryan Call
 Fix For: 5.3.0, 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3529) Add a config option to allow ATS to start even if some certificates are bad

2015-04-22 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507401#comment-14507401
 ] 

ASF subversion and git services commented on TS-3529:
-

Commit bf4ba0cf2741d7d189deba608154b07aa61dce46 in trafficserver's branch 
refs/heads/5.3.x from shinrich
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=bf4ba0c ]

TS-3529:  Add a config to allow ATS to start up even if some certificates are 
bad.

(cherry picked from commit ef36a509c0a3cf0309ad563e980d7e002f9b2d9c)

Conflicts:
CHANGES


 Add a config option to allow ATS to start even if some certificates are bad
 ---

 Key: TS-3529
 URL: https://issues.apache.org/jira/browse/TS-3529
 Project: Traffic Server
  Issue Type: Bug
  Components: SSL
Reporter: Susan Hinrichs
Assignee: Susan Hinrichs
Priority: Blocker
 Fix For: 5.3.0, 6.0.0


 In fixing TS-3329, we changed the ATS start up behavior to fail to start if 
 any of the entries of ssl_multicert.config fails to load.  This changes the 
 functionality of ATS in from 5.2 to 5.3.  
 For many/most use cases, this is a desirable change.  However, for some use 
 cases, you want to serve and start up even if some of the entries fail to 
 load.
 We will add a records config entry 
 proxy.config.ssl.server.multicert.exit_on_load_fail
 It will default to 1 on 5.x.  May want to change the default to 0 when we 
 move to 6.0



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread Sudheer Vinukonda (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507261#comment-14507261
 ] 

Sudheer Vinukonda commented on TS-3533:
---

Thanks to [~rokubo] (I now actually recall that even  [~kichan] once mentioned 
the issue in passing..) for pointing that this problem occurs with plugins that 
do not call *TSPluginRegister*. 

Digging further, it seems that the problem was introduced with TS-3337 (commit 
SHA 7f0f3a47b253d361a16c33413b4501a5ff5d69fe). We should probably revert this 
seemingly incompatible change for 5.3 and revisit this for 6.0.

 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Bryan Call
 Fix For: 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-2650) Redirect handling enhancements in ATS

2015-04-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-2650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507311#comment-14507311
 ] 

ASF GitHub Bot commented on TS-2650:


GitHub user ffcai opened a pull request:

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

TS-2650 add a trailing zero char

When concatenate `port` after `host:` using `ink_strlcpy()`, a trailing 
zero char is needed.
Happen to find this when I test redirection use case.

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

$ git pull https://github.com/ffcai/trafficserver TS-2650-fix

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

https://github.com/apache/trafficserver/pull/188.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 #188


commit fedcb82c0f7b510050f12c6df77828a43baf9817
Author: Feifei Cai ff...@yahoo-inc.com
Date:   2015-04-22T15:46:42Z

add a trailing zero char




 Redirect handling enhancements in ATS
 -

 Key: TS-2650
 URL: https://issues.apache.org/jira/browse/TS-2650
 Project: Traffic Server
  Issue Type: Improvement
  Components: Core
Reporter: Sudheer Vinukonda
Assignee: Bryan Call
  Labels: review, yahoo
 Fix For: 5.0.0

 Attachments: ts2650.diff, ts2650.diff, ts2650.diff, ts2650.diff, 
 ts2650.diff


 This Jira attempts to enhance/fix multiple issues found with ATS's support 
 for redirect follow. Below is a summary of issues:
 1. Support relative path in the location header in the 301/302/303 response. 
 Description: Currently, if ATS receives a relative url path (with either the 
 host or the scheme missing) in the location header in the 302 redirect 
 request, it returns a 400 Host Header Required error. This enhancement is 
 to try the redirection with the current origin connection's host/scheme when 
 that happens.
 2. Strip off default ports from Host header during redirect follow. 
 Description: ATS includes port in the host header as host:port during 
 redirect follow. It has been observed that some origins choke (and return 4xx 
 error) when the default port (80/http, 443/https) is included within the host 
 header. This enhancement is to strip off the default port (80/http, 
 443/https) from the host header during redirect follow. This behavior is 
 controlled via a configuration parameter 
 proxy.config.http.redirect_host_no_port. When enabled, ATS will strip off 
 the default port from the host header during redirect follow. Note that the 
 default setting for proxy.config.http.redirect_host_no_port is disabled, 
 which means, ATS will continue to include the port in the host header. 
 3. Force DNS lookup during redirect follow
 Description: It has been observed that, ATS doesn't perform a DNS lookup 
 during redirect follow. This may work when the host is unchanged during 
 redirect follow, but, will fail if the host is changed. This fix forces dns 
 lookup (either by way of hostdb lookup or an altogether new dns lookup) 
 during redirect follow
 4. Handle null path correctly during redirect follow
 Description: It has been observed that, if a subsequent redirect follow 
 includes null path (e.g. /), ATS incorrectly uses the path received during a 
 previous redirect request. This fix resets the path during each redirect to 
 ensure that the path is correctly set to the newly received value.
 5. Cache not working during redirect 
 Description: It has been observed that ATS is not writing to cache the final 
 response at the end of a successful 3xx redirect follow. This fix is to force 
 ATS write to cache a valid non-3xx response received at the end of a redirect 
 follow.
 6. Support 303 status code to trigger redirect follow
 Description: Currently, ATS supports only 301/302 based redirect follow. This 
 enhancement is to also handle 303 based redirect follow. Note that, in terms 
 of the response and redirect follow handling, 303 handling is identical to 
 301/302, except for the status code.
 7. SEND_RESPONSE_HDR_HOOK plugin breaks redirect follow:
 Description: Currently, when a plugin enables SEND_RESPONSE_HDR_HOOK, ATS has 
 a bug that breaks redirect handling. This fix is to allow redirect handling 
 to be completed (unto the configured max number of attempts) before invoking 
 the plugin with SEND_RESPONSE_HDR_HOOK.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread Kit Chan (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507289#comment-14507289
 ] 

Kit Chan commented on TS-3533:
--

just fyi, i was briefly tracing this before the summit and i think the problem 
is happening after this checkin - 
https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;a=commit;h=ad9958b9240f784ce5cf0045fd975d143df2ea0e

but i admit that i did not pursue this further after doing proper 
TSPluginRegister() on my plugins and it then worked

 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Bryan Call
 Fix For: 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread Sudheer Vinukonda (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507297#comment-14507297
 ] 

Sudheer Vinukonda commented on TS-3533:
---

Yeah, the issue was exposed with the commit 
ad9958b9240f784ce5cf0045fd975d143df2ea0e, but, it was actually introduced in 
TS-3337. In fact, without the commit ad9958b9240f784ce5cf0045fd975d143df2ea0e, 
it would have been far worse, since the plugin would simply not load at all 
without issuing any warnings/errors and letting traffic_server come up.

 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Bryan Call
 Fix For: 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3541) Eliminate interim cache

2015-04-22 Thread James Peach (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3541?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Peach updated TS-3541:

Summary: Eliminate interim cache  (was: Eliminate interrim cache)

 Eliminate interim cache
 ---

 Key: TS-3541
 URL: https://issues.apache.org/jira/browse/TS-3541
 Project: Traffic Server
  Issue Type: Improvement
  Components: Cache
Reporter: Leif Hedstrom
Assignee: Leif Hedstrom
  Labels: compatibility
 Fix For: 6.0.0


 This feature is poorly supported, and causes grief for cache development due 
 to how it #ifdef’s with the system. There are plans for a new system that 
 would make the concept of cache hierarchies generic. In the mean time, the 
 suggestion is that if you need this, you use one of
   1) Assigning content to volumes and disks via our existing configs.
   2) Use Linux’s bcache feature, which comes with Linux 3.10 or later. I 
 suspect e.g. ZFS has something similar.
   3) Use a third party system to implement the hybrid device (e.g. flash 
 cache or EnhanceIO.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3511) Perl API seems to have a permission issue

2015-04-22 Thread James Peach (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507410#comment-14507410
 ] 

James Peach commented on TS-3511:
-

Consider adding a compatibility symlink to the old socket name?

 Perl API seems to have a permission issue
 -

 Key: TS-3511
 URL: https://issues.apache.org/jira/browse/TS-3511
 Project: Traffic Server
  Issue Type: Bug
  Components: Management API
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Mark Torluemke
Priority: Blocker
 Fix For: 6.0.0


 Problems with the perl an grabbing stats:
 {code}
 [bcall@l1]$ sudo  /xxx/ats_gather # also tried -u nobody
 Error opening socket - connect: Connection refused at /xxx/ats_gather line 77
 [bcall@l1]$ sudo traffic_line -m . | grep restrict
 proxy.config.admin.api.restricted 0  # tried with 0|1
 line 77:
   my $cli = new Apache::TS::AdminClient(socket_path = 
 $xxx/trafficserver/mgmtapisocket);
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3511) Perl API seems to have a permission issue

2015-04-22 Thread Bryan Call (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507469#comment-14507469
 ] 

Bryan Call commented on TS-3511:


Yeah, I did, but there is a fallback, so that is good.  Once 6.0.0 comes out we 
will just change the name in our perl script to the correct one.

 Perl API seems to have a permission issue
 -

 Key: TS-3511
 URL: https://issues.apache.org/jira/browse/TS-3511
 Project: Traffic Server
  Issue Type: Bug
  Components: Management API
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Mark Torluemke
Priority: Blocker
 Fix For: 6.0.0


 Problems with the perl an grabbing stats:
 {code}
 [bcall@l1]$ sudo  /xxx/ats_gather # also tried -u nobody
 Error opening socket - connect: Connection refused at /xxx/ats_gather line 77
 [bcall@l1]$ sudo traffic_line -m . | grep restrict
 proxy.config.admin.api.restricted 0  # tried with 0|1
 line 77:
   my $cli = new Apache::TS::AdminClient(socket_path = 
 $xxx/trafficserver/mgmtapisocket);
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507404#comment-14507404
 ] 

ASF subversion and git services commented on TS-3533:
-

Commit a54e87617dce540e0499b2a9d9870dce7ce016ce in trafficserver's branch 
refs/heads/5.3.x from [~psudaemon]
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=a54e876 ]

TS-3533: Revert TS-3337: remove internal plugin SDK enumeration

This reverts commit 7f0f3a47b253d361a16c33413b4501a5ff5d69fe.

Conflicts:
CHANGES
proxy/InkAPI.cc
proxy/Plugin.cc
proxy/Plugin.h


 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Bryan Call
 Fix For: 5.3.0, 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3294) 5.3.0 Coverity fixes for Sudheer

2015-04-22 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507403#comment-14507403
 ] 

ASF subversion and git services commented on TS-3294:
-

Commit 37b2819b746599e591ca15600488356fe546aea9 in trafficserver's branch 
refs/heads/5.3.x from [~psudaemon]
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=37b2819 ]

TS-3533: Revert [TS-3294]: Fix global plugin's dlhandle resource leak

This reverts commit ad9958b9240f784ce5cf0045fd975d143df2ea0e.

Conflicts:
proxy/Plugin.cc


 5.3.0 Coverity fixes for Sudheer
 

 Key: TS-3294
 URL: https://issues.apache.org/jira/browse/TS-3294
 Project: Traffic Server
  Issue Type: Improvement
  Components: Cleanup, Quality
Reporter: Sudheer Vinukonda
Assignee: Sudheer Vinukonda
 Fix For: 5.3.0


 Tracker Jira for 5.3.0 Coverity Fixes (Sudheer Vinukonda)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-2650) Redirect handling enhancements in ATS

2015-04-22 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-2650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507539#comment-14507539
 ] 

ASF GitHub Bot commented on TS-2650:


Github user asfgit closed the pull request at:

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


 Redirect handling enhancements in ATS
 -

 Key: TS-2650
 URL: https://issues.apache.org/jira/browse/TS-2650
 Project: Traffic Server
  Issue Type: Improvement
  Components: Core
Reporter: Sudheer Vinukonda
Assignee: Bryan Call
  Labels: review, yahoo
 Fix For: 5.0.0

 Attachments: ts2650.diff, ts2650.diff, ts2650.diff, ts2650.diff, 
 ts2650.diff


 This Jira attempts to enhance/fix multiple issues found with ATS's support 
 for redirect follow. Below is a summary of issues:
 1. Support relative path in the location header in the 301/302/303 response. 
 Description: Currently, if ATS receives a relative url path (with either the 
 host or the scheme missing) in the location header in the 302 redirect 
 request, it returns a 400 Host Header Required error. This enhancement is 
 to try the redirection with the current origin connection's host/scheme when 
 that happens.
 2. Strip off default ports from Host header during redirect follow. 
 Description: ATS includes port in the host header as host:port during 
 redirect follow. It has been observed that some origins choke (and return 4xx 
 error) when the default port (80/http, 443/https) is included within the host 
 header. This enhancement is to strip off the default port (80/http, 
 443/https) from the host header during redirect follow. This behavior is 
 controlled via a configuration parameter 
 proxy.config.http.redirect_host_no_port. When enabled, ATS will strip off 
 the default port from the host header during redirect follow. Note that the 
 default setting for proxy.config.http.redirect_host_no_port is disabled, 
 which means, ATS will continue to include the port in the host header. 
 3. Force DNS lookup during redirect follow
 Description: It has been observed that, ATS doesn't perform a DNS lookup 
 during redirect follow. This may work when the host is unchanged during 
 redirect follow, but, will fail if the host is changed. This fix forces dns 
 lookup (either by way of hostdb lookup or an altogether new dns lookup) 
 during redirect follow
 4. Handle null path correctly during redirect follow
 Description: It has been observed that, if a subsequent redirect follow 
 includes null path (e.g. /), ATS incorrectly uses the path received during a 
 previous redirect request. This fix resets the path during each redirect to 
 ensure that the path is correctly set to the newly received value.
 5. Cache not working during redirect 
 Description: It has been observed that ATS is not writing to cache the final 
 response at the end of a successful 3xx redirect follow. This fix is to force 
 ATS write to cache a valid non-3xx response received at the end of a redirect 
 follow.
 6. Support 303 status code to trigger redirect follow
 Description: Currently, ATS supports only 301/302 based redirect follow. This 
 enhancement is to also handle 303 based redirect follow. Note that, in terms 
 of the response and redirect follow handling, 303 handling is identical to 
 301/302, except for the status code.
 7. SEND_RESPONSE_HDR_HOOK plugin breaks redirect follow:
 Description: Currently, when a plugin enables SEND_RESPONSE_HDR_HOOK, ATS has 
 a bug that breaks redirect handling. This fix is to allow redirect handling 
 to be completed (unto the configured max number of attempts) before invoking 
 the plugin with SEND_RESPONSE_HDR_HOOK.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3337) Remove internal plugin SDK versioning

2015-04-22 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507405#comment-14507405
 ] 

ASF subversion and git services commented on TS-3337:
-

Commit a54e87617dce540e0499b2a9d9870dce7ce016ce in trafficserver's branch 
refs/heads/5.3.x from [~psudaemon]
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=a54e876 ]

TS-3533: Revert TS-3337: remove internal plugin SDK enumeration

This reverts commit 7f0f3a47b253d361a16c33413b4501a5ff5d69fe.

Conflicts:
CHANGES
proxy/InkAPI.cc
proxy/Plugin.cc
proxy/Plugin.h


 Remove internal plugin SDK versioning
 -

 Key: TS-3337
 URL: https://issues.apache.org/jira/browse/TS-3337
 Project: Traffic Server
  Issue Type: Improvement
  Components: Core, TS API
Reporter: James Peach
Assignee: James Peach
 Fix For: 5.3.0


 Remove the internal plugin SDK version enumeration, which just tracks the API 
 version. Stop loading plugins that don't match the supported API version.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread Bryan Call (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Call updated TS-3533:
---
Assignee: Phil Sorber  (was: Bryan Call)

 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Phil Sorber
 Fix For: 5.3.0, 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread Bryan Call (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Call closed TS-3533.
--
Resolution: Fixed

 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Phil Sorber
 Fix For: 5.3.0, 6.0.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3533) Coring when a plugin is enabled with 5.3.0

2015-04-22 Thread Phil Sorber (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Sorber updated TS-3533:

Fix Version/s: (was: 6.0.0)

 Coring when a plugin is enabled with 5.3.0
 --

 Key: TS-3533
 URL: https://issues.apache.org/jira/browse/TS-3533
 Project: Traffic Server
  Issue Type: Bug
  Components: Core, Plugins
Affects Versions: 5.3.0
Reporter: Bryan Call
Assignee: Phil Sorber
 Fix For: 5.3.0


 Seeing this core in 5.3.0 when enabling quick_filter (our plugin):
 {code}
 (gdb) bt full
 #0  0x7fffed265a72 in ?? ()
 No symbol table info available.
 #1  0x00521b88 in INKContInternal::handle_event (this=0x18a0240, 
 event=60017, edata=0x7fff04e49980) at InkAPI.cc:1003
 No locals.
 #2  0x0050dbe0 in Continuation::handleEvent (this=0x18a0240, 
 event=60017, data=0x7fff04e49980) at 
 ../iocore/eventsystem/I_Continuation.h:145
 No locals.
 #3  0x005223cf in APIHook::invoke (this=0x18a12e0, event=60017, 
 edata=0x7fff04e49980) at InkAPI.cc:1221
 No locals.
 #4  0x005e5eb3 in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1381
 plugin_lock = false
 plugin_mutex = {m_ptr = 0x0}
 hook = 0x18a12e0
 api_next = HttpSM::API_RETURN_UNKNOWN
 __func__ = state_api_callout
 #5  0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #6  0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #7  0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #8  0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #9  0x005f8900 in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6890
 __func__ = set_next_state
 #10 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #11 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #12 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 #13 0x005f1e7f in HttpSM::do_api_callout_internal 
 (this=0x7fff04e49980) at HttpSM.cc:4863
 No locals.
 #14 0x005feec7 in HttpSM::do_api_callout (this=0x7fff04e49980) at 
 HttpSM.cc:442
 No locals.
 #15 0x005f87bc in HttpSM::set_next_state (this=0x7fff04e49980) at 
 HttpSM.cc:6876
 __func__ = set_next_state
 #16 0x005f8756 in HttpSM::call_transact_and_set_next_state 
 (this=0x7fff04e49980, f=0) at HttpSM.cc:6843
 __func__ = call_transact_and_set_next_state
 #17 0x005e62ae in HttpSM::handle_api_return (this=0x7fff04e49980) at 
 HttpSM.cc:1517
 No locals.
 #18 0x005e614a in HttpSM::state_api_callout (this=0x7fff04e49980, 
 event=0, data=0x0) at HttpSM.cc:1455
 api_next = HttpSM::API_RETURN_CONTINUE
 __func__ = state_api_callout
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3547) SSLNetVConnection: switch to a vectored write

2015-04-22 Thread Brian Geffon (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14508207#comment-14508207
 ] 

Brian Geffon commented on TS-3547:
--

UnixNetVConnection uses {{writev}} but OpenSSL only has SSL_write it doesn't 
have an SSL_writev.

 SSLNetVConnection: switch to a vectored write
 -

 Key: TS-3547
 URL: https://issues.apache.org/jira/browse/TS-3547
 Project: Traffic Server
  Issue Type: Bug
Reporter: Thomas Jackson

 UnixNetVConnection does a vectored write which bunches blocks together until 
 the outgoing buffer will fill up. This means we can better fill the packets, 
 and should give us a bit of a performance boost to SSL writes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TS-3549) configurable option to avoid thundering herd due to concurrent requests for the same object

2015-04-22 Thread Sudheer Vinukonda (JIRA)
Sudheer Vinukonda created TS-3549:
-

 Summary: configurable option to avoid thundering herd due to 
concurrent requests for the same object
 Key: TS-3549
 URL: https://issues.apache.org/jira/browse/TS-3549
 Project: Traffic Server
  Issue Type: New Feature
  Components: HTTP
Reporter: Sudheer Vinukonda


When ATS is used as a delivery server for a video live streaming event, it's 
possible that there are a huge number of concurrent requests for the same 
object. Depending on the type of the object being requested, the cache lookup 
for those objects can result in either a stale copy of the object (e.g manifest 
files) or a complete cache miss (e.g segment files). ATS currently supports 
different types of connection collapse (e.g. *read-while-write* functionality - 
*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#read-while-writer*)
 but, in order for this to kick-in, ATS requires the complete response headers 
for the object be received and validated. In other words, until this happens, 
any number of incoming requests for the same object that result in a cache miss 
or a cache stale would be forwarded to the origin. For a scenario such as a 
live event, this leaves a sufficiently significant window, where there could be 
100's of requests being forwarded to the origin for the same object. It has 
been observed during production that this results in significant increase in 
latency for the objects waiting in read-while-write state. 

Note that, there are also a couple of settings 
*proxy.config.http.cache.open_read_retry_time* and 
*proxy.config.http.cache.max_open_read_retries* 
(*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#open-read-retry-timeout*)
 that can alleviate the thundering herd to some extent, by re-trying to get the 
read lock for the object as configured. With these configured, ATS would retry 
to get the read lock for as long and if it's still not available due to the 
write lock being held by the first request that was forwarded to the origin 
(for e.g. the response headers have not been received yet), then all the 
waiting requests would simply be forwarded to the origin (by disabling cache 
for each of them). 

It is almost impossible to get the above settings accurate to help in all 
possible situations (traffic, concurrent connections, network conditions etc). 
Due to this reason, a configurable workaround is proposed below that avoids the 
thundering herd completely.

Basically, when configured, on failing to obtain a write lock for an object 
(which means, there's another ongoing parallel request for the same object that 
was forwarded to the origin), if it's a cache refresh miss, a stale copy of the 
object is served, while if it's a complete cache miss, a *502* error is 
returned to let the client (e.g. player) to reattempt. The *502* error also 
includes a special internal ATS header named {{@ats-internal-messages}} with 
the appropriate value to allow for custom logging or for plugins to take any 
appropriate actions (e.g. prevent a fail-over if there's such a plugin that 
does fail-over on a regular 502 error).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3549) configurable option to avoid thundering herd due to concurrent requests for the same object

2015-04-22 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3549:
--
Affects Version/s: 5.3.0
Fix Version/s: 6.0.0
 Assignee: Sudheer Vinukonda

 configurable option to avoid thundering herd due to concurrent requests for 
 the same object
 ---

 Key: TS-3549
 URL: https://issues.apache.org/jira/browse/TS-3549
 Project: Traffic Server
  Issue Type: New Feature
  Components: HTTP
Affects Versions: 5.3.0
Reporter: Sudheer Vinukonda
Assignee: Sudheer Vinukonda
 Fix For: 6.0.0

 Attachments: TS-3549.diff


 When ATS is used as a delivery server for a video live streaming event, it's 
 possible that there are a huge number of concurrent requests for the same 
 object. Depending on the type of the object being requested, the cache lookup 
 for those objects can result in either a stale copy of the object (e.g 
 manifest files) or a complete cache miss (e.g segment files). ATS currently 
 supports different types of connection collapse (e.g. *read-while-write* 
 functionality - 
 *https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#read-while-writer*)
  but, in order for this to kick-in, ATS requires the complete response 
 headers for the object be received and validated. In other words, until this 
 happens, any number of incoming requests for the same object that result in a 
 cache miss or a cache stale would be forwarded to the origin. For a scenario 
 such as a live event, this leaves a sufficiently significant window, where 
 there could be 100's of requests being forwarded to the origin for the same 
 object. It has been observed during production that this results in 
 significant increase in latency for the objects waiting in read-while-write 
 state. 
 Note that, there are also a couple of settings 
 *proxy.config.http.cache.open_read_retry_time* and 
 *proxy.config.http.cache.max_open_read_retries* 
 (*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#open-read-retry-timeout*)
  that can alleviate the thundering herd to some extent, by re-trying to get 
 the read lock for the object as configured. With these configured, ATS would 
 retry to get the read lock for as long and if it's still not available due to 
 the write lock being held by the first request that was forwarded to the 
 origin (for e.g. the response headers have not been received yet), then all 
 the waiting requests would simply be forwarded to the origin (by disabling 
 cache for each of them). 
 It is almost impossible to get the above settings accurate to help in all 
 possible situations (traffic, concurrent connections, network conditions 
 etc). Due to this reason, a configurable workaround is proposed below that 
 avoids the thundering herd completely.
 Basically, when configured, on failing to obtain a write lock for an object 
 (which means, there's another ongoing parallel request for the same object 
 that was forwarded to the origin), if it's a cache refresh miss, a stale copy 
 of the object is served, while if it's a complete cache miss, a *502* error 
 is returned to let the client (e.g. player) to reattempt. The *502* error 
 also includes a special internal ATS header named {{@ats-internal-messages}} 
 with the appropriate value to allow for custom logging or for plugins to take 
 any appropriate actions (e.g. prevent a fail-over if there's such a plugin 
 that does fail-over on a regular 502 error).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3549) configurable option to avoid thundering herd due to concurrent requests for the same object

2015-04-22 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3549:
--
Attachment: TS-3549.diff

 configurable option to avoid thundering herd due to concurrent requests for 
 the same object
 ---

 Key: TS-3549
 URL: https://issues.apache.org/jira/browse/TS-3549
 Project: Traffic Server
  Issue Type: New Feature
  Components: HTTP
Affects Versions: 5.3.0
Reporter: Sudheer Vinukonda
Assignee: Sudheer Vinukonda
 Fix For: 6.0.0

 Attachments: TS-3549.diff


 When ATS is used as a delivery server for a video live streaming event, it's 
 possible that there are a huge number of concurrent requests for the same 
 object. Depending on the type of the object being requested, the cache lookup 
 for those objects can result in either a stale copy of the object (e.g 
 manifest files) or a complete cache miss (e.g segment files). ATS currently 
 supports different types of connection collapse (e.g. *read-while-write* 
 functionality - 
 *https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#read-while-writer*)
  but, in order for this to kick-in, ATS requires the complete response 
 headers for the object be received and validated. In other words, until this 
 happens, any number of incoming requests for the same object that result in a 
 cache miss or a cache stale would be forwarded to the origin. For a scenario 
 such as a live event, this leaves a sufficiently significant window, where 
 there could be 100's of requests being forwarded to the origin for the same 
 object. It has been observed during production that this results in 
 significant increase in latency for the objects waiting in read-while-write 
 state. 
 Note that, there are also a couple of settings 
 *proxy.config.http.cache.open_read_retry_time* and 
 *proxy.config.http.cache.max_open_read_retries* 
 (*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#open-read-retry-timeout*)
  that can alleviate the thundering herd to some extent, by re-trying to get 
 the read lock for the object as configured. With these configured, ATS would 
 retry to get the read lock for as long and if it's still not available due to 
 the write lock being held by the first request that was forwarded to the 
 origin (for e.g. the response headers have not been received yet), then all 
 the waiting requests would simply be forwarded to the origin (by disabling 
 cache for each of them). 
 It is almost impossible to get the above settings accurate to help in all 
 possible situations (traffic, concurrent connections, network conditions 
 etc). Due to this reason, a configurable workaround is proposed below that 
 avoids the thundering herd completely.
 Basically, when configured, on failing to obtain a write lock for an object 
 (which means, there's another ongoing parallel request for the same object 
 that was forwarded to the origin), if it's a cache refresh miss, a stale copy 
 of the object is served, while if it's a complete cache miss, a *502* error 
 is returned to let the client (e.g. player) to reattempt. The *502* error 
 also includes a special internal ATS header named {{@ats-internal-messages}} 
 with the appropriate value to allow for custom logging or for plugins to take 
 any appropriate actions (e.g. prevent a fail-over if there's such a plugin 
 that does fail-over on a regular 502 error).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3547) SSLNetVConnection: switch to a vectored write

2015-04-22 Thread Brian Geffon (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14508337#comment-14508337
 ] 

Brian Geffon commented on TS-3547:
--

[~shinrich] do you have any thoughts why two calls to {{SSL_write}} that are 
basically back-to-back would result in such a large delay between data going 
over the wire?

 SSLNetVConnection: switch to a vectored write
 -

 Key: TS-3547
 URL: https://issues.apache.org/jira/browse/TS-3547
 Project: Traffic Server
  Issue Type: Bug
Reporter: Thomas Jackson

 UnixNetVConnection does a vectored write which bunches blocks together until 
 the outgoing buffer will fill up. This means we can better fill the packets, 
 and should give us a bit of a performance boost to SSL writes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3550) Segmentation fault (Address not mapped to object

2015-04-22 Thread daemon (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

daemon updated TS-3550:
---
Affects Version/s: 5.2.1

 Segmentation fault (Address not mapped to object 
 -

 Key: TS-3550
 URL: https://issues.apache.org/jira/browse/TS-3550
 Project: Traffic Server
  Issue Type: Bug
  Components: Cache
Affects Versions: 5.2.1
Reporter: daemon

 traffic_server: Segmentation fault (Address not mapped to object 
 [0x2ae27800300a])traffic_server - STACK TRACE:
 /xxx/trafficserver/bin/traffic_server(_Z19crash_logger_invokeiP7siginfoPv+0x99)[0x49e8f9]
 /lib64/libpthread.so.0(+0xf710)[0x2ae2d6cda710]
 /xxx/trafficserver/bin/traffic_server(_Z26dir_clean_range_interimvolllP15InterimCacheVol+0x8a)[0x6adeca]
 /xxx/trafficserver/bin/traffic_server(_ZN15InterimCacheVol24handle_recover_from_dataEiPv+0x44c)[0x6a37dc]
 /xxx/trafficserver/bin/traffic_server(_ZN19AIOCallbackInternal11io_completeEiPv+0x35)[0x657845]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x125)[0x71dcb5]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread7executeEv+0x57b)[0x71e54b]
 /xxx/trafficserver/bin/traffic_server[0x71d0fa]
 /lib64/libpthread.so.0(+0x79d1)[0x2ae2d6cd29d1]
 /lib64/libc.so.6(clone+0x6d)[0x2ae2d7cc98fd]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TS-3550) Segmentation fault (Address not mapped to object

2015-04-22 Thread daemon (JIRA)
daemon created TS-3550:
--

 Summary: Segmentation fault (Address not mapped to object 
 Key: TS-3550
 URL: https://issues.apache.org/jira/browse/TS-3550
 Project: Traffic Server
  Issue Type: Bug
  Components: Cache
Reporter: daemon


traffic_server: Segmentation fault (Address not mapped to object 
[0x2ae27800300a])traffic_server - STACK TRACE:
/xxx/trafficserver/bin/traffic_server(_Z19crash_logger_invokeiP7siginfoPv+0x99)[0x49e8f9]
/lib64/libpthread.so.0(+0xf710)[0x2ae2d6cda710]
/xxx/trafficserver/bin/traffic_server(_Z26dir_clean_range_interimvolllP15InterimCacheVol+0x8a)[0x6adeca]
/xxx/trafficserver/bin/traffic_server(_ZN15InterimCacheVol24handle_recover_from_dataEiPv+0x44c)[0x6a37dc]
/xxx/trafficserver/bin/traffic_server(_ZN19AIOCallbackInternal11io_completeEiPv+0x35)[0x657845]
/xxx/trafficserver/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x125)[0x71dcb5]
/xxx/trafficserver/bin/traffic_server(_ZN7EThread7executeEv+0x57b)[0x71e54b]
/xxx/trafficserver/bin/traffic_server[0x71d0fa]
/lib64/libpthread.so.0(+0x79d1)[0x2ae2d6cd29d1]
/lib64/libc.so.6(clone+0x6d)[0x2ae2d7cc98fd]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-2920) Stale_While_revalidate

2015-04-22 Thread Sudheer Vinukonda (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-2920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14508321#comment-14508321
 ] 

Sudheer Vinukonda commented on TS-2920:
---

Fyi - refer TS-3549 which sort of does the connection collapse along with the 
SWR requirement by returning a stale copy based on a configurable option. I 
plan to push the changes pretty soon based on the feedback.

 Stale_While_revalidate
 --

 Key: TS-2920
 URL: https://issues.apache.org/jira/browse/TS-2920
 Project: Traffic Server
  Issue Type: Bug
  Components: Performance, Plugins
Reporter: Faysal Banna
Assignee: Alan M. Carroll
  Labels: crash
 Fix For: 6.0.0


 trafficserver 5.0.0 release version 
 FATAL: InkAPI.cc:2670: failed assert `sdk_sanity_check_mbuffer(bufp) == 
 TS_SUCCESS`
 /usr/local/bin/traffic_server - STACK TRACE: 
 /usr/local/lib/libtsutil.so.5(+0x1e3a7)[0x2b6db45e93a7]
 /usr/local/lib/libtsutil.so.5(+0x1e3a7)[0x2b6db45e93a7]
 /usr/local/lib/libtsutil.so.5(+0x1d45f)[0x2b6db45e845f]
 /usr/local/lib/libtsutil.so.5(+0x1d45f)[0x2b6db45e845f]
 /usr/local/bin/traffic_server(TSMimeHdrFieldFind+0x2f)[0x4ba43f]
 /usr/local/libexec/trafficserver/stale_while_revalidate.so(+0x308a)[0x2b6dbb98308a]
 /usr/local/bin/traffic_server(EThread::process_event(Event*, 
 int)+0x170)[0x737210]
 /usr/local/bin/traffic_server(TSMimeHdrFieldFind+0x2f)[0x4ba43f]
 /usr/local/bin/traffic_server(EThread::execute()+0x793)[0x737de3]
 /usr/local/libexec/trafficserver/stale_while_revalidate.so(+0x308a)[0x2b6dbb98308a]
 /usr/local/bin/traffic_server[0x736b5a]
 /usr/local/bin/traffic_server(EThread::process_event(Event*, 
 int)+0x170)[0x737210]
 /lib64/libpthread.so.0(+0x7f33)[0x2b6db60a2f33]
 /usr/local/bin/traffic_server(EThread::execute()+0x793)[0x737de3]
 /lib64/libc.so.6(clone+0x6d)[0x2b6db713eded]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (TS-3547) SSLNetVConnection: switch to a vectored write

2015-04-22 Thread Brian Geffon (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14508309#comment-14508309
 ] 

Brian Geffon edited comment on TS-3547 at 4/23/15 2:09 AM:
---

After investigation with [~jacksontj] it appears that 
{{SSLNetVConnection::load_buffer_and_write}}  is called with all of the data in 
multiple IOBufferBlock so it results in multiple calls to {{SSLWriteBuffer}}. 
To experiment we created a small patch that just copies all of the 
IOBufferBlocks to a single block of memory followed by a single 
{{SSLWriteBuffer}} call and it resolves the problem. So since this is obviously 
not a viable solution we need to figure out why the {{SSL_write}} calls are 
being split up in such a strange way.

We had a second theory that was related to the BIO flush calls, so we made a 
patch that would only call BIO flush once all the {{SSL_writes}} are complete 
and that did not seem to resolve the problem.

We should be able to call SSL_write multiple times without having it delay the 
write to socket for such a large amount of time.


was (Author: briang):
After investigation with [~jacksontj] it appears that 
{{SSLNetVConnection::load_buffer_and_write}}  is called with all of the data in 
multiple IOBufferBlock so it results in multiple calls to {{SSLWriteBuffer}}. 
To experiment we created a small patch that just copies all of the 
IOBufferBlocks to a single block of memory followed by a single 
{{SSLWriteBuffer}} call and it resolves the problem. So since this is obviously 
not a viable solution we need to figure out why the {{SSL_write}} calls are 
being split up in such a strange way.

We had a second theory that was related to the BIO flush calls, so we made a 
patch that would only call BIO flush once all the {{SSL_writes}} are complete 
and that did not seem to resolve the problem, we had the same issue.

 SSLNetVConnection: switch to a vectored write
 -

 Key: TS-3547
 URL: https://issues.apache.org/jira/browse/TS-3547
 Project: Traffic Server
  Issue Type: Bug
Reporter: Thomas Jackson

 UnixNetVConnection does a vectored write which bunches blocks together until 
 the outgoing buffer will fill up. This means we can better fill the packets, 
 and should give us a bit of a performance boost to SSL writes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (TS-2490) traffic_cop kills TS process before it completes starting

2015-04-22 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-2490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda reassigned TS-2490:
-

Assignee: Sudheer Vinukonda  (was: Alan M. Carroll)

 traffic_cop kills TS process before it completes starting
 -

 Key: TS-2490
 URL: https://issues.apache.org/jira/browse/TS-2490
 Project: Traffic Server
  Issue Type: Bug
  Components: Cop, Core
Reporter: David Carlin
Assignee: Sudheer Vinukonda
  Labels: review, yahoo
 Fix For: 6.0.0

 Attachments: TS-2490.diff


 Several things can slow traffic_server startup
 - Long remap.config file
 - Long list of certs in ssl_multicert.config (see TS-2058)
 - Plugins that take too long to initialize
 You end up with a race condition where traffic_server never starts because 
 traffic_cop kills it before it completes. 
 There was a hack at Yahoo to address this - a YTS setting 
 proxy.config.watch_sleep_time to change the heartbeat interval as a 
 workaround.  Doesn't seem like a practical solution for issues like TS-2058 
 where the heartbeat would need to be in minutes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3548) psiginfo differs on illumos vs. Linux

2015-04-22 Thread Phil Sorber (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Sorber updated TS-3548:

Backport to Version: 5.3.0

 psiginfo differs on illumos vs. Linux
 -

 Key: TS-3548
 URL: https://issues.apache.org/jira/browse/TS-3548
 Project: Traffic Server
  Issue Type: Bug
  Components: Core
Reporter: Eric Sproul
Assignee: James Peach
 Fix For: 6.0.0


 The arguments to psiginfo() are different on illumos platforms such as 
 OmniOS.  This results in a build error:
 {noformat}
   CXXLDCompileParseRules
 ./CompileParseRules
   CXX  ParseRules.lo
   CCLD mkdfa
 signals.cc: In function 'void signal_format_siginfo(int, siginfo_t*, const 
 char*)':
 signals.cc:162:21: error: invalid conversion from 'const char*' to 'char*' 
 [-fpermissive]
psiginfo(info, msg);
  ^
 In file included from ink_platform.h:104:0,
  from libts.h:45,
  from signals.cc:29:
 /usr/include/siginfo.h:53:13: error:   initializing argument 2 of 'void 
 psiginfo(siginfo_t*, char*)' [-fpermissive]
  extern void psiginfo(siginfo_t *, char *);
  ^
 gmake[3]: *** [signals.lo] Error 1
 {noformat}
 This happens with 5.2.1 as well as 5.3.0-rc2.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (TS-3548) psiginfo differs on illumos vs. Linux

2015-04-22 Thread James Peach (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Peach resolved TS-3548.
-
   Resolution: Fixed
Fix Version/s: 6.0.0
 Assignee: James Peach

 psiginfo differs on illumos vs. Linux
 -

 Key: TS-3548
 URL: https://issues.apache.org/jira/browse/TS-3548
 Project: Traffic Server
  Issue Type: Bug
  Components: Core
Reporter: Eric Sproul
Assignee: James Peach
 Fix For: 6.0.0


 The arguments to psiginfo() are different on illumos platforms such as 
 OmniOS.  This results in a build error:
 {noformat}
   CXXLDCompileParseRules
 ./CompileParseRules
   CXX  ParseRules.lo
   CCLD mkdfa
 signals.cc: In function 'void signal_format_siginfo(int, siginfo_t*, const 
 char*)':
 signals.cc:162:21: error: invalid conversion from 'const char*' to 'char*' 
 [-fpermissive]
psiginfo(info, msg);
  ^
 In file included from ink_platform.h:104:0,
  from libts.h:45,
  from signals.cc:29:
 /usr/include/siginfo.h:53:13: error:   initializing argument 2 of 'void 
 psiginfo(siginfo_t*, char*)' [-fpermissive]
  extern void psiginfo(siginfo_t *, char *);
  ^
 gmake[3]: *** [signals.lo] Error 1
 {noformat}
 This happens with 5.2.1 as well as 5.3.0-rc2.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-2591) Cache does not invalidate variant/alternate content types on PUT or POST

2015-04-22 Thread Leif Hedstrom (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-2591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom updated TS-2591:
--
Assignee: (was: Leif Hedstrom)

 Cache does not invalidate variant/alternate content types on PUT or POST 
 -

 Key: TS-2591
 URL: https://issues.apache.org/jira/browse/TS-2591
 Project: Traffic Server
  Issue Type: Bug
  Components: Cache
Reporter: Norm Paxton
 Fix For: 6.0.0


 Some HTTP methods MUST cause a cache to invalidate an entity. This is either 
 the entity referred to by the Request-URI, or by the Location or 
 Content-Location headers (if present). These methods are: PUT, DELETE, POST. 
 http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.10 
 (This doesn't explicitly address variant content types, I read it as implied.)
 The current caching implementation only invalidates the Request URI, and not 
 variant/alternate URI's.
 Example:  A REST service provides both xml and json documents.  A client app 
 requests in both content-types (perhaps two different components, one expects 
 xml, the other json).  Assume both documents (xml and json) are in the cache. 
  If the app PUTs a modification to the object in XML (ie, changes a User 
 object's email address), it should then be able to retrieve the correct 
 object data via a GET in json.  In order to do so, the json object in the 
 cache would need to be invalidated, so that the cache server forwards the 
 request on to the REST service.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-2591) Cache does not invalidate variant/alternate content types on PUT or POST

2015-04-22 Thread Leif Hedstrom (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-2591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14508050#comment-14508050
 ] 

Leif Hedstrom commented on TS-2591:
---

I've lost whatever code was for this, not sure where we are with this 
unfortunately.

 Cache does not invalidate variant/alternate content types on PUT or POST 
 -

 Key: TS-2591
 URL: https://issues.apache.org/jira/browse/TS-2591
 Project: Traffic Server
  Issue Type: Bug
  Components: Cache
Reporter: Norm Paxton
Assignee: Leif Hedstrom
 Fix For: 6.0.0


 Some HTTP methods MUST cause a cache to invalidate an entity. This is either 
 the entity referred to by the Request-URI, or by the Location or 
 Content-Location headers (if present). These methods are: PUT, DELETE, POST. 
 http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.10 
 (This doesn't explicitly address variant content types, I read it as implied.)
 The current caching implementation only invalidates the Request URI, and not 
 variant/alternate URI's.
 Example:  A REST service provides both xml and json documents.  A client app 
 requests in both content-types (perhaps two different components, one expects 
 xml, the other json).  Assume both documents (xml and json) are in the cache. 
  If the app PUTs a modification to the object in XML (ie, changes a User 
 object's email address), it should then be able to retrieve the correct 
 object data via a GET in json.  In order to do so, the json object in the 
 cache would need to be invalidated, so that the cache server forwards the 
 request on to the REST service.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3548) psiginfo differs on illumos vs. Linux

2015-04-22 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14507980#comment-14507980
 ] 

ASF subversion and git services commented on TS-3548:
-

Commit cb2ad69c0a3c3d9d5d9cb2a93f7210a3dda396de in trafficserver's branch 
refs/heads/master from [~jpe...@apache.org]
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=cb2ad69 ]

TS-3548: fix psiginfo usage on Illumos


 psiginfo differs on illumos vs. Linux
 -

 Key: TS-3548
 URL: https://issues.apache.org/jira/browse/TS-3548
 Project: Traffic Server
  Issue Type: Bug
  Components: Core
Reporter: Eric Sproul

 The arguments to psiginfo() are different on illumos platforms such as 
 OmniOS.  This results in a build error:
 {noformat}
   CXXLDCompileParseRules
 ./CompileParseRules
   CXX  ParseRules.lo
   CCLD mkdfa
 signals.cc: In function 'void signal_format_siginfo(int, siginfo_t*, const 
 char*)':
 signals.cc:162:21: error: invalid conversion from 'const char*' to 'char*' 
 [-fpermissive]
psiginfo(info, msg);
  ^
 In file included from ink_platform.h:104:0,
  from libts.h:45,
  from signals.cc:29:
 /usr/include/siginfo.h:53:13: error:   initializing argument 2 of 'void 
 psiginfo(siginfo_t*, char*)' [-fpermissive]
  extern void psiginfo(siginfo_t *, char *);
  ^
 gmake[3]: *** [signals.lo] Error 1
 {noformat}
 This happens with 5.2.1 as well as 5.3.0-rc2.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3427) compilation error of atscppapi when configured for a out-of-tree build

2015-04-22 Thread Bin (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14508108#comment-14508108
 ] 

Bin commented on TS-3427:
-

ping

 compilation error of atscppapi when configured for a out-of-tree build
 --

 Key: TS-3427
 URL: https://issues.apache.org/jira/browse/TS-3427
 Project: Traffic Server
  Issue Type: Bug
  Components: Build, CPP API
Reporter: Bin
Assignee: Brian Geffon
 Fix For: 6.0.0

 Attachments: atscppapi_3.diff, atscppapi_out_of_tree_2.diff, 
 unused_variables.diff


 Header file not found error when --enable-cppapi is enabled for an 
 out-of-tree build on RHEL 6.4. It has no complaints if it is a in-tree build. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TS-3548) psiginfo differs on illumos vs. Linux

2015-04-22 Thread Eric Sproul (JIRA)
Eric Sproul created TS-3548:
---

 Summary: psiginfo differs on illumos vs. Linux
 Key: TS-3548
 URL: https://issues.apache.org/jira/browse/TS-3548
 Project: Traffic Server
  Issue Type: Bug
  Components: Core
Reporter: Eric Sproul


The arguments to psiginfo() are different on illumos platforms such as OmniOS.  
This results in a build error:

{noformat}
  CXXLDCompileParseRules
./CompileParseRules
  CXX  ParseRules.lo
  CCLD mkdfa
signals.cc: In function 'void signal_format_siginfo(int, siginfo_t*, const 
char*)':
signals.cc:162:21: error: invalid conversion from 'const char*' to 'char*' 
[-fpermissive]
   psiginfo(info, msg);
 ^
In file included from ink_platform.h:104:0,
 from libts.h:45,
 from signals.cc:29:
/usr/include/siginfo.h:53:13: error:   initializing argument 2 of 'void 
psiginfo(siginfo_t*, char*)' [-fpermissive]
 extern void psiginfo(siginfo_t *, char *);
 ^
gmake[3]: *** [signals.lo] Error 1
{noformat}

This happens with 5.2.1 as well as 5.3.0-rc2.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3549) configurable option to avoid thundering herd due to concurrent requests for the same object

2015-04-22 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3549:
--
Description: 
When ATS is used as a delivery server for a video live streaming event, it's 
possible that there are a huge number of concurrent requests for the same 
object. Depending on the type of the object being requested, the cache lookup 
for those objects can result in either a stale copy of the object (e.g manifest 
files) or a complete cache miss (e.g segment files). ATS currently supports 
different types of connection collapse (e.g. *read-while-write* functionality - 
*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#read-while-writer*,
 swr etc) but, in order for the *rww* to kick-in, ATS requires the complete 
response headers for the object be received and validated. In other words, 
until this happens, any number of incoming requests for the same object that 
result in a cache miss or a cache stale would be forwarded to the origin. For a 
scenario such as a live event, this leaves a sufficiently significant window, 
where there could be 100's of requests being forwarded to the origin for the 
same object. It has been observed during production that this results in 
significant increase in latency for the objects waiting in read-while-write 
state. 

Note that, there are also a couple of settings 
*proxy.config.http.cache.open_read_retry_time* and 
*proxy.config.http.cache.max_open_read_retries* 
(*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#open-read-retry-timeout*)
 that can alleviate the thundering herd to some extent, by re-trying to get the 
read lock for the object as configured. With these configured, ATS would retry 
to get the read lock for as long and if it's still not available due to the 
write lock being held by the first request that was forwarded to the origin 
(for e.g. the response headers have not been received yet), then all the 
waiting requests would simply be forwarded to the origin (by disabling cache 
for each of them). 

It is almost impossible to get the above settings accurate to help in all 
possible situations (traffic, concurrent connections, network conditions etc). 
Due to this reason, a configurable workaround is proposed below that avoids the 
thundering herd completely. The patch below is mainly from [~jlaue] and 
[~psudaemon] with some additional clean up, configuration control and debug 
headers etc.

Basically, when configured, on failing to obtain a write lock for an object 
(which means, there's another ongoing parallel request for the same object that 
was forwarded to the origin), if it's a cache refresh miss, a stale copy of the 
object is served, while if it's a complete cache miss, a *502* error is 
returned to let the client (e.g. player) to reattempt. The *502* error also 
includes a special internal ATS header named {{@ats-internal-messages}} with 
the appropriate value to allow for custom logging or for plugins to take any 
appropriate actions (e.g. prevent a fail-over if there's such a plugin that 
does fail-over on a regular 502 error).

  was:
When ATS is used as a delivery server for a video live streaming event, it's 
possible that there are a huge number of concurrent requests for the same 
object. Depending on the type of the object being requested, the cache lookup 
for those objects can result in either a stale copy of the object (e.g manifest 
files) or a complete cache miss (e.g segment files). ATS currently supports 
different types of connection collapse (e.g. *read-while-write* functionality - 
*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#read-while-writer*)
 but, in order for this to kick-in, ATS requires the complete response headers 
for the object be received and validated. In other words, until this happens, 
any number of incoming requests for the same object that result in a cache miss 
or a cache stale would be forwarded to the origin. For a scenario such as a 
live event, this leaves a sufficiently significant window, where there could be 
100's of requests being forwarded to the origin for the same object. It has 
been observed during production that this results in significant increase in 
latency for the objects waiting in read-while-write state. 

Note that, there are also a couple of settings 
*proxy.config.http.cache.open_read_retry_time* and 
*proxy.config.http.cache.max_open_read_retries* 
(*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#open-read-retry-timeout*)
 that can alleviate the thundering herd to some extent, by re-trying to get the 
read lock for the object as configured. With these configured, ATS would retry 
to get the read lock for as long and if it's still not available due to the 
write lock being held by the first request that was forwarded to the origin 
(for 

[jira] [Updated] (TS-3550) Segmentation fault (Address not mapped to object

2015-04-22 Thread Leif Hedstrom (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom updated TS-3550:
--
Fix Version/s: 6.0.0

 Segmentation fault (Address not mapped to object 
 -

 Key: TS-3550
 URL: https://issues.apache.org/jira/browse/TS-3550
 Project: Traffic Server
  Issue Type: Bug
  Components: Cache
Affects Versions: 5.2.1
Reporter: daemon
Assignee: Leif Hedstrom
 Fix For: 6.0.0


 traffic_server: Segmentation fault (Address not mapped to object 
 [0x2ae27800300a])traffic_server - STACK TRACE:
 /xxx/trafficserver/bin/traffic_server(_Z19crash_logger_invokeiP7siginfoPv+0x99)[0x49e8f9]
 /lib64/libpthread.so.0(+0xf710)[0x2ae2d6cda710]
 /xxx/trafficserver/bin/traffic_server(_Z26dir_clean_range_interimvolllP15InterimCacheVol+0x8a)[0x6adeca]
 /xxx/trafficserver/bin/traffic_server(_ZN15InterimCacheVol24handle_recover_from_dataEiPv+0x44c)[0x6a37dc]
 /xxx/trafficserver/bin/traffic_server(_ZN19AIOCallbackInternal11io_completeEiPv+0x35)[0x657845]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x125)[0x71dcb5]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread7executeEv+0x57b)[0x71e54b]
 /xxx/trafficserver/bin/traffic_server[0x71d0fa]
 /lib64/libpthread.so.0(+0x79d1)[0x2ae2d6cd29d1]
 /lib64/libc.so.6(clone+0x6d)[0x2ae2d7cc98fd]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3550) Segmentation fault (Address not mapped to object

2015-04-22 Thread Leif Hedstrom (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14508464#comment-14508464
 ] 

Leif Hedstrom commented on TS-3550:
---

I will close this in ~1 week assuming TS-3541 happens.

 Segmentation fault (Address not mapped to object 
 -

 Key: TS-3550
 URL: https://issues.apache.org/jira/browse/TS-3550
 Project: Traffic Server
  Issue Type: Bug
  Components: Cache
Affects Versions: 5.2.1
Reporter: daemon
Assignee: Leif Hedstrom

 traffic_server: Segmentation fault (Address not mapped to object 
 [0x2ae27800300a])traffic_server - STACK TRACE:
 /xxx/trafficserver/bin/traffic_server(_Z19crash_logger_invokeiP7siginfoPv+0x99)[0x49e8f9]
 /lib64/libpthread.so.0(+0xf710)[0x2ae2d6cda710]
 /xxx/trafficserver/bin/traffic_server(_Z26dir_clean_range_interimvolllP15InterimCacheVol+0x8a)[0x6adeca]
 /xxx/trafficserver/bin/traffic_server(_ZN15InterimCacheVol24handle_recover_from_dataEiPv+0x44c)[0x6a37dc]
 /xxx/trafficserver/bin/traffic_server(_ZN19AIOCallbackInternal11io_completeEiPv+0x35)[0x657845]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x125)[0x71dcb5]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread7executeEv+0x57b)[0x71e54b]
 /xxx/trafficserver/bin/traffic_server[0x71d0fa]
 /lib64/libpthread.so.0(+0x79d1)[0x2ae2d6cd29d1]
 /lib64/libc.so.6(clone+0x6d)[0x2ae2d7cc98fd]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (TS-3550) Segmentation fault (Address not mapped to object

2015-04-22 Thread Leif Hedstrom (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom reassigned TS-3550:
-

Assignee: Leif Hedstrom

 Segmentation fault (Address not mapped to object 
 -

 Key: TS-3550
 URL: https://issues.apache.org/jira/browse/TS-3550
 Project: Traffic Server
  Issue Type: Bug
  Components: Cache
Affects Versions: 5.2.1
Reporter: daemon
Assignee: Leif Hedstrom

 traffic_server: Segmentation fault (Address not mapped to object 
 [0x2ae27800300a])traffic_server - STACK TRACE:
 /xxx/trafficserver/bin/traffic_server(_Z19crash_logger_invokeiP7siginfoPv+0x99)[0x49e8f9]
 /lib64/libpthread.so.0(+0xf710)[0x2ae2d6cda710]
 /xxx/trafficserver/bin/traffic_server(_Z26dir_clean_range_interimvolllP15InterimCacheVol+0x8a)[0x6adeca]
 /xxx/trafficserver/bin/traffic_server(_ZN15InterimCacheVol24handle_recover_from_dataEiPv+0x44c)[0x6a37dc]
 /xxx/trafficserver/bin/traffic_server(_ZN19AIOCallbackInternal11io_completeEiPv+0x35)[0x657845]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x125)[0x71dcb5]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread7executeEv+0x57b)[0x71e54b]
 /xxx/trafficserver/bin/traffic_server[0x71d0fa]
 /lib64/libpthread.so.0(+0x79d1)[0x2ae2d6cd29d1]
 /lib64/libc.so.6(clone+0x6d)[0x2ae2d7cc98fd]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3549) configurable option to avoid thundering herd due to concurrent requests for the same object

2015-04-22 Thread Sudheer Vinukonda (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sudheer Vinukonda updated TS-3549:
--
Description: 
When ATS is used as a delivery server for a video live streaming event, it's 
possible that there are a huge number of concurrent requests for the same 
object. Depending on the type of the object being requested, the cache lookup 
for those objects can result in either a stale copy of the object (e.g manifest 
files) or a complete cache miss (e.g segment files). ATS currently supports 
different types of connection collapse (e.g. *read-while-write* functionality - 
*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#read-while-writer*)
 but, in order for this to kick-in, ATS requires the complete response headers 
for the object be received and validated. In other words, until this happens, 
any number of incoming requests for the same object that result in a cache miss 
or a cache stale would be forwarded to the origin. For a scenario such as a 
live event, this leaves a sufficiently significant window, where there could be 
100's of requests being forwarded to the origin for the same object. It has 
been observed during production that this results in significant increase in 
latency for the objects waiting in read-while-write state. 

Note that, there are also a couple of settings 
*proxy.config.http.cache.open_read_retry_time* and 
*proxy.config.http.cache.max_open_read_retries* 
(*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#open-read-retry-timeout*)
 that can alleviate the thundering herd to some extent, by re-trying to get the 
read lock for the object as configured. With these configured, ATS would retry 
to get the read lock for as long and if it's still not available due to the 
write lock being held by the first request that was forwarded to the origin 
(for e.g. the response headers have not been received yet), then all the 
waiting requests would simply be forwarded to the origin (by disabling cache 
for each of them). 

It is almost impossible to get the above settings accurate to help in all 
possible situations (traffic, concurrent connections, network conditions etc). 
Due to this reason, a configurable workaround is proposed below that avoids the 
thundering herd completely. The patch below is mainly from [~jlaue] and 
[~psudaemon] with some additional clean up, configuration control and debug 
headers etc.

Basically, when configured, on failing to obtain a write lock for an object 
(which means, there's another ongoing parallel request for the same object that 
was forwarded to the origin), if it's a cache refresh miss, a stale copy of the 
object is served, while if it's a complete cache miss, a *502* error is 
returned to let the client (e.g. player) to reattempt. The *502* error also 
includes a special internal ATS header named {{@ats-internal-messages}} with 
the appropriate value to allow for custom logging or for plugins to take any 
appropriate actions (e.g. prevent a fail-over if there's such a plugin that 
does fail-over on a regular 502 error).

  was:
When ATS is used as a delivery server for a video live streaming event, it's 
possible that there are a huge number of concurrent requests for the same 
object. Depending on the type of the object being requested, the cache lookup 
for those objects can result in either a stale copy of the object (e.g manifest 
files) or a complete cache miss (e.g segment files). ATS currently supports 
different types of connection collapse (e.g. *read-while-write* functionality - 
*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#read-while-writer*)
 but, in order for this to kick-in, ATS requires the complete response headers 
for the object be received and validated. In other words, until this happens, 
any number of incoming requests for the same object that result in a cache miss 
or a cache stale would be forwarded to the origin. For a scenario such as a 
live event, this leaves a sufficiently significant window, where there could be 
100's of requests being forwarded to the origin for the same object. It has 
been observed during production that this results in significant increase in 
latency for the objects waiting in read-while-write state. 

Note that, there are also a couple of settings 
*proxy.config.http.cache.open_read_retry_time* and 
*proxy.config.http.cache.max_open_read_retries* 
(*https://docs.trafficserver.apache.org/en/latest/admin/http-proxy-caching.en.html#open-read-retry-timeout*)
 that can alleviate the thundering herd to some extent, by re-trying to get the 
read lock for the object as configured. With these configured, ATS would retry 
to get the read lock for as long and if it's still not available due to the 
write lock being held by the first request that was forwarded to the origin 
(for e.g. the response 

[jira] [Comment Edited] (TS-3550) Segmentation fault (Address not mapped to object

2015-04-22 Thread Leif Hedstrom (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14508461#comment-14508461
 ] 

Leif Hedstrom edited comment on TS-3550 at 4/23/15 4:59 AM:


You are using the interim cache? I don't think you will see any fixes for that 
feature, so I'd suggest just getting away from it and use bcache or dm-cache 
etc.

https://issues.apache.org/jira/browse/TS-3541


was (Author: zwoop):
You are using the interim cache? I don't think you will see any fixes for that 
feature, so I'd suggest just getting away from it and use bcache or dm-cache 
etc.

 Segmentation fault (Address not mapped to object 
 -

 Key: TS-3550
 URL: https://issues.apache.org/jira/browse/TS-3550
 Project: Traffic Server
  Issue Type: Bug
  Components: Cache
Affects Versions: 5.2.1
Reporter: daemon

 traffic_server: Segmentation fault (Address not mapped to object 
 [0x2ae27800300a])traffic_server - STACK TRACE:
 /xxx/trafficserver/bin/traffic_server(_Z19crash_logger_invokeiP7siginfoPv+0x99)[0x49e8f9]
 /lib64/libpthread.so.0(+0xf710)[0x2ae2d6cda710]
 /xxx/trafficserver/bin/traffic_server(_Z26dir_clean_range_interimvolllP15InterimCacheVol+0x8a)[0x6adeca]
 /xxx/trafficserver/bin/traffic_server(_ZN15InterimCacheVol24handle_recover_from_dataEiPv+0x44c)[0x6a37dc]
 /xxx/trafficserver/bin/traffic_server(_ZN19AIOCallbackInternal11io_completeEiPv+0x35)[0x657845]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x125)[0x71dcb5]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread7executeEv+0x57b)[0x71e54b]
 /xxx/trafficserver/bin/traffic_server[0x71d0fa]
 /lib64/libpthread.so.0(+0x79d1)[0x2ae2d6cd29d1]
 /lib64/libc.so.6(clone+0x6d)[0x2ae2d7cc98fd]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (TS-3550) Segmentation fault (Address not mapped to object

2015-04-22 Thread Leif Hedstrom (JIRA)

[ 
https://issues.apache.org/jira/browse/TS-3550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14508461#comment-14508461
 ] 

Leif Hedstrom commented on TS-3550:
---

You are using the interim cache? I don't think you will see any fixes for that 
feature, so I'd suggest just getting away from it and use bcache or dm-cache 
etc.

 Segmentation fault (Address not mapped to object 
 -

 Key: TS-3550
 URL: https://issues.apache.org/jira/browse/TS-3550
 Project: Traffic Server
  Issue Type: Bug
  Components: Cache
Affects Versions: 5.2.1
Reporter: daemon

 traffic_server: Segmentation fault (Address not mapped to object 
 [0x2ae27800300a])traffic_server - STACK TRACE:
 /xxx/trafficserver/bin/traffic_server(_Z19crash_logger_invokeiP7siginfoPv+0x99)[0x49e8f9]
 /lib64/libpthread.so.0(+0xf710)[0x2ae2d6cda710]
 /xxx/trafficserver/bin/traffic_server(_Z26dir_clean_range_interimvolllP15InterimCacheVol+0x8a)[0x6adeca]
 /xxx/trafficserver/bin/traffic_server(_ZN15InterimCacheVol24handle_recover_from_dataEiPv+0x44c)[0x6a37dc]
 /xxx/trafficserver/bin/traffic_server(_ZN19AIOCallbackInternal11io_completeEiPv+0x35)[0x657845]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x125)[0x71dcb5]
 /xxx/trafficserver/bin/traffic_server(_ZN7EThread7executeEv+0x57b)[0x71e54b]
 /xxx/trafficserver/bin/traffic_server[0x71d0fa]
 /lib64/libpthread.so.0(+0x79d1)[0x2ae2d6cd29d1]
 /lib64/libc.so.6(clone+0x6d)[0x2ae2d7cc98fd]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (TS-3547) SSLNetVConnection writes each block separately to the socket

2015-04-22 Thread Thomas Jackson (JIRA)
Thomas Jackson created TS-3547:
--

 Summary: SSLNetVConnection writes each block separately to the 
socket
 Key: TS-3547
 URL: https://issues.apache.org/jira/browse/TS-3547
 Project: Traffic Server
  Issue Type: Bug
Reporter: Thomas Jackson


UnixNetVConnection does a vectored write which bunches blocks together until 
the outgoing buffer will fill up. This means we can better fill the packets, 
and should give us a bit of a performance boost to SSL writes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (TS-3547) SSLNetVConnection: switch to a vectored write

2015-04-22 Thread Thomas Jackson (JIRA)

 [ 
https://issues.apache.org/jira/browse/TS-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Jackson updated TS-3547:
---
Summary: SSLNetVConnection: switch to a vectored write  (was: 
SSLNetVConnection writes each block separately to the socket)

 SSLNetVConnection: switch to a vectored write
 -

 Key: TS-3547
 URL: https://issues.apache.org/jira/browse/TS-3547
 Project: Traffic Server
  Issue Type: Bug
Reporter: Thomas Jackson

 UnixNetVConnection does a vectored write which bunches blocks together until 
 the outgoing buffer will fill up. This means we can better fill the packets, 
 and should give us a bit of a performance boost to SSL writes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)