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

mmerickel
Copy link
Member

@mmerickel mmerickel 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.

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 Pylons#2697
@tseaver
Copy link
Member

tseaver 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.

@digitalresistor
Copy link
Member

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

As well as AppVeyor.

@digitalresistor
Copy link
Member

digitalresistor 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 ;-)

@digitalresistor
Copy link
Member

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
mmerickel added a commit that referenced this pull request Sep 4, 2016
@mmerickel mmerickel deleted the fix/reentrant-deferred-discriminators branch November 29, 2020 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cannot add_route in PHASE0_CONFIG if using view derivers
3 participants