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

fix bidTimeout event (#3583) #3696

Merged
merged 2 commits into from
Apr 9, 2019
Merged

fix bidTimeout event (#3583) #3696

merged 2 commits into from
Apr 9, 2019

Conversation

thewizarodofoz
Copy link
Contributor

Type of change

  • Bugfix
  • Feature
  • New bidder adapter
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Does this change affect user-facing APIs or examples documented on http://prebid.org?
  • Other

Description of change

In Prebid 2.x the BID_TIMEOUT event was emitted for bidders which responded in time but yielded no bids. This is now fixed - a bidder which responded in time is considered a timely bidder, even if it responded with no bids.

This fixes #3583 .

NOTE: When a bidder responds, we assume that it responded to all its bid requests in the auction. This might not be 100% desired behaviour, but it was the behaviour in 1.x so I decided to keep it this way.

NOTE2: Even an error response is considered a timely response.

@GLStephen
Copy link
Collaborator

GLStephen commented Mar 30, 2019

@thewizarodofoz I don't think there is enough detail in the timeout event to distinguish the sub requests for a particular adunit auction. Does this distinguish between ad units though? A timeout of one adunit's bid requests versus another is valuable diagnostically and not all bidders bundle their requests into one. I think this fix without that is better than the current behavior, but adunit level differentation is implied in the data model of the event.

@thewizarodofoz
Copy link
Contributor Author

@GLStephen I agree. I couldn't find a way to distinguish between ad units currently, because a bidder gets all the ad units' params as a bundle, and the breaking down into one or more requests is up to the bidder. Then the bidder informs the auction object only about valid bid responses. Meaning that no bid on an ad unit is just like no response at all.

Obviously anything is possible, but as far as I can see, in order to distinguish between ad units, bidders will need to inform the auction about the result of each request (wether it has a bid or not). It will require a pretty dramatic change and an update of all bidders.

Maybe @mkendall07 or @jsnellbaker will have better ideas about this.

@harpere harpere added needs 2nd review Core module updates require two approvals from the core team needs review labels Apr 5, 2019
@jsnellbaker jsnellbaker self-requested a review April 5, 2019 14:39
@jsnellbaker
Copy link
Collaborator

@thewizarodofoz Can you please resolve the code conflicts?

Copy link
Collaborator

@jsnellbaker jsnellbaker left a comment

Choose a reason for hiding this comment

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

I think this is okay given the way bids/adapters are treated today. Like what was mentioned above, could maybe stand another look at later if we were doing some more intensive redesign.

@jaiminpanchal27 jaiminpanchal27 merged commit ac2ef45 into prebid:master Apr 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs review needs 2nd review Core module updates require two approvals from the core team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bidTimeout event seems to be broken after 1.24
5 participants