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

Index explicit pass on bid #1406

Merged
merged 2 commits into from
Jul 31, 2017

Conversation

arvending
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
  • Other

Description of change

Other information

@@ -419,6 +426,9 @@ var IndexExchangeAdapter = function IndexExchangeAdapter() {
_IndexRequestData.targetAggregate = {'open': {}, 'private': {}};

if (!utils.hasValidBidRequest(bidArr[0].params, requiredParams, ADAPTER_NAME)) {
for (var i = 0; i < bidArr.length; i++) {
passOnBid(bidArr[i].placementCode);
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can you explain this logic to me of passing on all bids if the first bid is invalid?

Copy link
Contributor

@dugwood dugwood Jul 27, 2017

Choose a reason for hiding this comment

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

I second you on this: bidRequested is called for non valid sizes.

Say I call this adapter with [[728, 90], [1000, 90]], the size 1000x90 is invalid for IX, but I'll get two calls to event bidRequested, when I would expect only one for the size of the adUnit that is accepted by IX.

Copy link
Contributor Author

@arvending arvending Jul 27, 2017

Choose a reason for hiding this comment

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

@snapwich This is an existing behaviour from previous endpoints. It is true that we no longer need this, but this shouldn't block this pull request. We'll fix this issue in the later releases.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@dugwood Referencing: https://github.com/prebid/Prebid.js/blob/master/src/bidmanager.js#L54
bidmanager is expecting the number of bids returned from Index Exchange to match with the number of sizes in the slots.

Copy link
Contributor

Choose a reason for hiding this comment

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

@arvending I've tested the fix, and it works (else this was raising the timeout). But @snapwich is right as the bidRequested event confirms it.

Nevertheless, I'll patch my 0.26.1 release with your fix, so that I can make it work (I've warned your team a while ago about it, so I'm okay with this temporary solution).

Thanks for your patch anyway.

Copy link
Collaborator

@snapwich snapwich Jul 27, 2017

Choose a reason for hiding this comment

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

@arvending the bids array contains multiple bids across different adUnits though. Also, that bid order is pretty much arbitrary (I think it ends up being definition order or something), so why you would want to return NO_BIDs on all bids across all adUnits involved in an auction because one of those arbitrary bids is invalid makes no sense. Maybe I'm missing something with the indexExchange exception that changes things?

@mkendall07 what do you think about this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@snapwich
Our endpoint had changed in this PR - #826. The site id and slot id information from the first slot were treated uniquely in our original endpoint. Now that endpoint had changed, there are no needs to reject all bids if the first slot is invalid. Since this validation is an existing behaviour and introduced no behaviour changes to IX adapter, this issue should not block this particular pull request. In the later release, we will remove this first slot validation logic.

@mkendall07 mkendall07 merged commit 424df94 into prebid:master Jul 31, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Index ignores unsupported sizes, bid manager still expects bid response
5 participants