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

Bad Input Error if pbjs s2s config contains alias configuration for a disabled adapter #3592

Open
muuki88 opened this issue Dec 4, 2024 · 1 comment · May be fixed by zxPhoenix/prebid-server-java#1 or #3650

Comments

@muuki88
Copy link
Contributor

muuki88 commented Dec 4, 2024

Deploying alias configurations for prebid server through prebid.js is dangerous, because if a bidder is being disabled, it can stop the entire monetization of prebid server. Disabled bidders will stop the entire bid requests with a 400 if the alias configuration contains a disabled bidder.

🪄 Steps to reproduce

Prebid.js s2s config

    s2sConfig: [
      // Server side only configuration
      {
        accountId: accountId,
        adapter: 'prebidServer',
        endpoint: { p1Consent: 'https://prebid-server/openrtb2/auction' },
        syncEndpoint: { p1Consent: 'https://prebid-server/cookie_sync' },
        bidders: [ 'bidderA', 'bidderB' ],
        extPrebid: {
          aliases: {
            'bidder_c_alias': 'bidder_c' // note that this bidder isn't even in the bidders array
          }
        }
      }
    ],

and send a request to a prebid server where BidderC is not enabled.

This will cause a 400 with

Invalid request format: request.ext.prebid.aliases.bidder_c_alias refers to disabled bidder: bidder_c

💡 Proposal

We turn the 400 into an error metric. Related to #3209

Related

If the bidder being alias is unknown also a 400 is being returned:

Invalid request format: request.ext.prebid.aliases.bidder_c_alias refers to unknown bidder: bidder_c

which I guess is okaish, but a metric would also be better.

@bretg
Copy link
Collaborator

bretg commented Dec 13, 2024

I guess I had hoped that this sort of situation would have been addressed by prebid/prebid-server#3735, but that issue was more about imp.ext, and didn't deal with aliases clearly enough.

So yes, I'm supportive of changing the disabled bidder behavior in general. Fail-Fast has shown itself to be a little too draconian in the edge cases.

Proposal A: Never hard fail on an unknown bidder. Just warn and log a metric.

This would solve this problem and probably other edge-cases.

Proposal B: Never hard fail on a bidder that exists but is not enabled. Just warn and log a metric.

Does PBS even have this info?

@bretg bretg moved this from Triage to Community Review in Prebid Server Prioritization Dec 13, 2024
zxPhoenix added a commit to zxPhoenix/prebid-server-java that referenced this issue Dec 23, 2024
zxPhoenix added a commit to zxPhoenix/prebid-server-java that referenced this issue Dec 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment