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

handle deferred discriminators when using re-entrant actions #2757

Merged

Conversation

Projects
None yet
3 participants
@mmerickel
Copy link
Member

commented Aug 31, 2016

This PR fixes #2697 as well as re-adding support for resolving conflicts across orders.

This feature was silently dropped in Pyramid 1.4 when deferred discriminators were added.

It is re-introduced such that it's possible to override an action in order X by defining an action in order Y where Y <= X with a non-conflicting includepath.

This also takes special care to avoid undeferring the discriminator for an action until the execution engine is ready to start executing actions of the same order. This gives time for required actions to execute prior, allowing the discriminator to depend on earlier actions.

mmerickel added some commits Aug 5, 2016

re-enable support for resolving conflicts across orders
This feature was silently dropped in Pyramid 1.4 when deferred
discriminators were added.

It is re-introduced such that it's possible to override an action in
order X by defining an action in order Y where Y <= X with a
non-conflicting includepath.

This also takes special care to avoid undeferring the discriminator for
an action until the execution engine is ready to start executing
actions of the same order. This gives time for required actions to
execute prior, allowing the discriminator to depend on earlier actions.

fixes #2697
@tseaver

This comment has been minimized.

Copy link
Member

commented Aug 31, 2016

zope.interface 4.3.0 added a speedup to registerInterface which broke us. Fortunately, @jamadden has just now released 4.3.1 with a fix for that.

@bertjwregeer

This comment has been minimized.

Copy link
Member

commented Aug 31, 2016

I've kicked off the build on Travis again: https://travis-ci.org/Pylons/pyramid/builds/156458741

As well as AppVeyor.

@bertjwregeer

This comment has been minimized.

Copy link
Member

commented Sep 1, 2016

👍

While I will still claim that this configurator deferred discriminators re-entrant stuff is semi-black magic
I am a +1 on that changeset.

  • x58 on IRC

Just quoting myself ;-)

@bertjwregeer

This comment has been minimized.

Copy link
Member

commented Sep 1, 2016

As a secondary note... I am not sure this should be backported to 1.7 because it feels like it is a substantial change, although it does fix a bug in 1.7.

@mmerickel mmerickel merged commit 0f9a564 into Pylons:master Sep 4, 2016

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

mmerickel added a commit that referenced this pull request Sep 4, 2016

@pyup-bot pyup-bot referenced this pull request Jan 25, 2017

Closed

Update pyramid to 1.8.1 #1699

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.