Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify plugins hook dispatch #5077

Merged
merged 1 commit into from Aug 12, 2019
Merged

Conversation

dyrock
Copy link
Contributor

@dyrock dyrock commented Feb 26, 2019

  • AddedHttpHookState class that manages all http hooks. This will be useful for later plugin coordination work.
  • Changed ProxySession and HttpSM to use HttpHookState for hooks dispatch
  • Minor changes to APIHook, APIHooks, and FeatureAPIHooks

This is phase one of the Plugin Coordination project. The early phases will provide mostly debugging support.

@shinrich
Copy link
Member

The debian build problem just looks like a bad git request. Probably just need to retry. But the ubuntu build failure is a core during the regression test. The stack has the hook logic on it which is worrying.

return 0;
}

SCOPED_MUTEX_LOCK(lock, hook->m_cont->mutex, mutex->thread_holding);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You changed the MUTEX_TRY_LOCK to SCOPED_MUTEX_LOCK - I don't think that's a good idea.

Copy link
Contributor Author

@dyrock dyrock Feb 27, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fei made me do it :/

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to guarantee the lock is held when calling invoke. :D

@dragon512
Copy link
Contributor

[approve ci autest]

configure.ac Outdated
#])
#AS_IF([test -d /opt/local/lib], [
# TS_ADDTO(AM_LDFLAGS, [-L/opt/local/lib])
#])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems unrelated to the rest of the PR

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops. That is for compiling on my mac. I'll remove it :/

Copy link
Member

@shinrich shinrich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like good cleanup. My open question is about the change to the configure.

@bryancall bryancall added this to 8.1.0 backports in 8.x releases Mar 11, 2019
@randall
Copy link
Contributor

randall commented Mar 12, 2019

[approve ci autest]

shinrich
shinrich previously approved these changes Apr 22, 2019
@shinrich
Copy link
Member

shinrich commented Jul 9, 2019

[approve ci clang-analyzer]

1 similar comment
@shinrich
Copy link
Member

[approve ci clang-analyzer]

@duke8253
Copy link
Contributor

[approve ci autest]

@duke8253
Copy link
Contributor

[approve ci clang-analyzer]

}

template <typename ID, int N>
void
FeatureAPIHooks<ID, N>::append(ID id, INKContInternal *cont)
{
if (likely(is_valid(id))) {
hooks_p = true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to remove the likely hints? At worst, they are pretty harmless right?

@zwoop
Copy link
Contributor

zwoop commented Jul 14, 2019

Also this looks like an invasive change, with unclear reasons as to why this I needed. We really want this into 9.0 this late in the game ?

@shinrich
Copy link
Member

[approve ci autest]

@shinrich
Copy link
Member

Up to the release manager whether to pull this into 9. We have been running with this code change for several months now.

@duke8253 duke8253 self-assigned this Jul 17, 2019
@SolidWallOfCode
Copy link
Member

It's not so late in the game, the PR has been here for quite a long time. And yes, I definitely want this in ATS 9 because it's a precursor to a lot of other work I want to get done in the ATS 10 time frame. We've been running with this internal for well over 9 months (we started production testing before this PR was created back in Feb).

Copy link
Contributor

@duke8253 duke8253 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Taking responsibilities here.

@duke8253 duke8253 merged commit 3cea219 into apache:master Aug 12, 2019
maskit added a commit to maskit/trafficserver that referenced this pull request Aug 16, 2019
PR apache#5077 broke QUIC build
@maskit maskit mentioned this pull request Aug 16, 2019
maskit added a commit that referenced this pull request Aug 16, 2019
PR #5077 broke QUIC build
ema pushed a commit to ema/trafficserver that referenced this pull request Oct 24, 2019
PR apache#5077 broke QUIC build
@zwoop
Copy link
Contributor

zwoop commented Nov 8, 2019

May I point out that I was right in questioning the sanity of including this in 9.0.x? :-P Thanks to Susan for fixing this bug (#6074), but clearly this was not well tested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants