Skip to content

Commit

Permalink
Merge branch 'master' into add-new-BoldwinX-bidder
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/test/resources/org/prebid/server/it/test-application.properties
  • Loading branch information
SerhiiNahornyi committed May 22, 2024
2 parents c9ce16b + 88ba248 commit 988a8ea
Show file tree
Hide file tree
Showing 948 changed files with 10,071 additions and 47,092 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# From https://github.com/microsoft/vscode-dev-containers/blob/master/containers/go/.devcontainer/Dockerfile
ARG VARIANT="17-jdk-bookworm"
ARG VARIANT="21-jdk-bookworm"
FROM mcr.microsoft.com/vscode/devcontainers/java:${VARIANT}
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"dockerfile": "Dockerfile",
"args": {
// Update the VARIANT arg to pick a version of Java
"VARIANT": "17-jdk-bookworm",
"VARIANT": "21-jdk-bookworm",
}
},
"containerEnv": {
Expand Down
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ ij_java_for_statement_wrap = off
ij_java_generate_final_locals = false
ij_java_generate_final_parameters = false
ij_java_if_brace_force = never
ij_java_imports_layout = *,|,javax.**,java.**,|,$*
ij_java_imports_layout = *,|,javax.**,jakarta.**,java.**,|,$*
ij_java_indent_case_from_switch = true
ij_java_insert_inner_class_imports = false
ij_java_insert_override_annotation = true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-image-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
packages: write
strategy:
matrix:
java: [ 17 ]
java: [ 21 ]
dockerfile-path: [Dockerfile, extra/Dockerfile]
include:
- dockerfile-path: Dockerfile
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-functional-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

strategy:
matrix:
java: [ 17 ]
java: [ 21 ]

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-java-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

strategy:
matrix:
java: [ 17 ]
java: [ 21 ]

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-module-functional-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

strategy:
matrix:
java: [ 17 ]
java: [ 21 ]

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-asset-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ 17 ]
java: [ 21 ]
steps:
- uses: actions/checkout@v4
- name: Set up JDK
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM amazoncorretto:17
FROM amazoncorretto:21

WORKDIR /app/prebid-server

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-modules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM amazoncorretto:17
FROM amazoncorretto:21

WORKDIR /app/prebid-server

Expand Down
2 changes: 1 addition & 1 deletion checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
</module>
<module name="ImportOrder">
<property name="option" value="bottom"/>
<property name="groups" value="*,/^java/"/>
<property name="groups" value="*,/^java|^jakarta/"/>
<property name="ordered" value="false"/>
<property name="separated" value="true"/>
<property name="caseSensitive" value="true"/>
Expand Down
93 changes: 20 additions & 73 deletions docs/config-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ This parameter exists to allow to change the location of the directory Vert.x wi
- `server.jks-password` - password for the keystore (if ssl is enabled).

## HTTP Server
- `http.max-headers-size` - set the maximum length of all headers, deprecated(use server.max-headers-size instead).
- `http.ssl` - enable SSL/TLS support, deprecated(use server.ssl instead).
- `http.jks-path` - path to the java keystore (if ssl is enabled), deprecated(use server.jks-path instead).
- `http.jks-password` - password for the keystore (if ssl is enabled), deprecated(use server.jks-password instead).
- `server.max-headers-size` - set the maximum length of all headers, deprecated(use server.max-headers-size instead).
- `server.ssl` - enable SSL/TLS support, deprecated(use server.ssl instead).
- `server.jks-path` - path to the java keystore (if ssl is enabled), deprecated(use server.jks-path instead).
- `server.jks-password` - password for the keystore (if ssl is enabled), deprecated(use server.jks-password instead).
- `server.http.server-instances` - how many http server instances should be created.
This parameter affects how many CPU cores will be utilized by the application. Rough assumption - one http server instance will keep 1 CPU core busy.
- `server.http.enabled` - if set to `true` enables http server
Expand Down Expand Up @@ -75,9 +75,8 @@ Removes and downloads file again if depending service cant process probably corr
- `default-request.file.path` - path to a JSON file containing the default request

## Auction (OpenRTB)
- `auction.blacklisted-accounts` - comma separated list of blacklisted account IDs.
- `auction.blacklisted-apps` - comma separated list of blacklisted applications IDs, requests from which should not be processed.
- `auction.max-timeout-ms` - maximum operation timeout for OpenRTB Auction requests. Deprecated.
- `auction.blocklisted-accounts` - comma separated list of blocklisted account IDs.
- `auction.blocklisted-apps` - comma separated list of blocklisted applications IDs, requests from which should not be processed.
- `auction.biddertmax.min` - minimum operation timeout for OpenRTB Auction requests.
- `auction.biddertmax.max` - maximum operation timeout for OpenRTB Auction requests.
- `auction.biddertmax.percent` - adjustment factor for `request.tmax` for bidders.
Expand All @@ -104,7 +103,7 @@ Removes and downloads file again if depending service cant process probably corr

## Video
- `auction.video.stored-required` - flag forces to merge with stored request
- `auction.blacklisted-accounts` - comma separated list of blacklisted account IDs.
- `auction.blocklisted-accounts` - comma separated list of blocklisted account IDs.
- `video.stored-requests-timeout-ms` - timeout for stored requests fetching.
- `auction.ad-server-currency` - default currency for video auction, if its value was not specified in request. Important note: PBS uses ISO-4217 codes for the representation of currencies.
- `auction.video.escape-log-cache-regex` - regex to remove from cache debug log xml.
Expand Down Expand Up @@ -202,33 +201,13 @@ Also, each bidder could have its own bidder-specific options.
- `admin-endpoints.tracelog.enabled` - if equals to `true` the endpoint will be available.
- `admin-endpoints.tracelog.path` - the server context path where the endpoint will be accessible.
- `admin-endpoints.tracelog.on-application-port` - when equals to `false` endpoint will be bound to `admin.port`.
- `admin-endpoints.tracelog.protected` - when equals to `true` endpoint will be protected by basic authentication configured in `admin-endpoints.credentials`

- `admin-endpoints.deals-status.enabled` - if equals to `true` the endpoint will be available.
- `admin-endpoints.deals-status.path` - the server context path where the endpoint will be accessible.
- `admin-endpoints.deals-status.on-application-port` - when equals to `false` endpoint will be bound to `admin.port`.
- `admin-endpoints.deals-status.protected` - when equals to `true` endpoint will be protected by basic authentication configured in `admin-endpoints.credentials`

- `admin-endpoints.lineitem-status.enabled` - if equals to `true` the endpoint will be available.
- `admin-endpoints.lineitem-status.path` - the server context path where the endpoint will be accessible.
- `admin-endpoints.lineitem-status.on-application-port` - when equals to `false` endpoint will be bound to `admin.port`.
- `admin-endpoints.lineitem-status.protected` - when equals to `true` endpoint will be protected by basic authentication configured in `admin-endpoints.credentials`

- `admin-endpoints.e2eadmin.enabled` - if equals to `true` the endpoint will be available.
- `admin-endpoints.e2eadmin.path` - the server context path where the endpoint will be accessible.
- `admin-endpoints.e2eadmin.on-application-port` - when equals to `false` endpoint will be bound to `admin.port`.
- `admin-endpoints.e2eadmin.protected` - when equals to `true` endpoint will be protected by basic authentication configured in `admin-endpoints.credentials`
- `admin-endpoints.tracelog.protected` - when equals to `true` endpoint will be protected by basic authentication configured in `admin-endpoints.credentials`

- `admin-endpoints.collected-metrics.enabled` - if equals to `true` the endpoint will be available.
- `admin-endpoints.collected-metrics.path` - the server context path where the endpoint will be accessible.
- `admin-endpoints.collected-metrics.on-application-port` - when equals to `false` endpoint will be bound to `admin.port`.
- `admin-endpoints.collected-metrics.protected` - when equals to `true` endpoint will be protected by basic authentication configured in `admin-endpoints.credentials`

- `admin-endpoints.force-deals-update.enabled` - if equals to `true` the endpoint will be available.
- `admin-endpoints.force-deals-update.path` - the server context path where the endpoint will be accessible.
- `admin-endpoints.force-deals-update.on-application-port` - when equals to `false` endpoint will be bound to `admin.port`.
- `admin-endpoints.force-deals-update.protected` - when equals to `true` endpoint will be protected by basic authentication configured in `admin-endpoints.credentials`

- `admin-endpoints.credentials` - user and password for access to admin endpoints if `admin-endpoints.[NAME].protected` is true`.

## Metrics
Expand Down Expand Up @@ -309,8 +288,10 @@ For database data source available next options:
- `settings.database.user` - database user.
- `settings.database.password` - database password.
- `settings.database.pool-size` - set the initial/min/max pool size of database connections.
- `settings.database.idle-connection-timeout` - Set the idle timeout, time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed and get back to the pool if no data is received nor sent within the timeout.
- `settings.database.enable-prepared-statement-caching` - Enable caching of the prepared statements so that they can be reused. Defaults to `false`. Please be vary of the DB server limitations as cache instances is per-database-connection.
- `settings.database.max-prepared-statement-cache-size` - Set the maximum size of the prepared statement cache. Defaults to `256`. Has any effect only when `settings.database.enable-prepared-statement-caching` is set to `true`. Please note that the cache size is multiplied by `settings.database.pool-size`.
- `settings.database.account-query` - the SQL query to fetch account.
- `settings.database.provider-class` - type of connection pool to be used: `hikari` or `c3p0`.
- `settings.database.stored-requests-query` - the SQL query to fetch stored requests.
- `settings.database.amp-stored-requests-query` - the SQL query to fetch AMP stored requests.
- `settings.database.stored-responses-query` - the SQL query to fetch stored responses.
Expand Down Expand Up @@ -353,6 +334,7 @@ See [application settings](application-settings.md) for full reference of availa
For caching available next options:
- `settings.in-memory-cache.ttl-seconds` - how long (in seconds) data will be available in LRU cache.
- `settings.in-memory-cache.cache-size` - the size of LRU cache.
- `settings.in-memory-cache.jitter-seconds` - jitter (in seconds) for `settings.in-memory-cache.ttl-seconds` parameter.
- `settings.in-memory-cache.notification-endpoints-enabled` - if equals to `true` two additional endpoints will be
available: [/storedrequests/openrtb2](endpoints/storedrequests/openrtb2.md) and [/storedrequests/amp](endpoints/storedrequests/amp.md).
- `settings.in-memory-cache.account-invalidation-enabled` - if equals to `true` additional admin protected endpoints will be
Expand All @@ -361,14 +343,14 @@ available: `/cache/invalidate?account={accountId}` which remove account from the
- `settings.in-memory-cache.http-update.amp-endpoint` - the url to fetch AMP stored request updates.
- `settings.in-memory-cache.http-update.refresh-rate` - refresh period in ms for stored request updates.
- `settings.in-memory-cache.http-update.timeout` - timeout for obtaining stored request updates.
- `settings.in-memory-cache.jdbc-update.init-query` - initial query for fetching all stored requests at the startup.
- `settings.in-memory-cache.jdbc-update.update-query` - a query for periodical update of stored requests, that should
contain 'WHERE last_updated > ?' to fetch only the records that were updated since previous check.
- `settings.in-memory-cache.jdbc-update.amp-init-query` - initial query for fetching all AMP stored requests at the startup.
- `settings.in-memory-cache.jdbc-update.amp-update-query` - a query for periodical update of AMP stored requests, that should
contain 'WHERE last_updated > ?' to fetch only the records that were updated since previous check.
- `settings.in-memory-cache.jdbc-update.refresh-rate` - refresh period in ms for stored request updates.
- `settings.in-memory-cache.jdbc-update.timeout` - timeout for obtaining stored request updates.
- `settings.in-memory-cache.database-update.init-query` - initial query for fetching all stored requests at the startup.
- `settings.in-memory-cache.database-update.update-query` - a query for periodical update of stored requests, that should
contain 'WHERE last_updated > ?' for MySQL and 'WHERE last_updated > $1' for Postgresql to fetch only the records that were updated since previous check.
- `settings.in-memory-cache.database-update.amp-init-query` - initial query for fetching all AMP stored requests at the startup.
- `settings.in-memory-cache.database-update.amp-update-query` - a query for periodical update of AMP stored requests, that should
contain 'WHERE last_updated > ?' for MySQL and 'WHERE last_updated > $1' for Postgresql to fetch only the records that were updated since previous check.
- `settings.in-memory-cache.database-update.refresh-rate` - refresh period in ms for stored request updates.
- `settings.in-memory-cache.database-update.timeout` - timeout for obtaining stored request updates.

For targeting available next options:
- `settings.targeting.truncate-attr-chars` - set the max length for names of targeting keywords (0 means no truncation).
Expand Down Expand Up @@ -442,41 +424,6 @@ If not defined in config all other Health Checkers would be disabled and endpoin
- `analytics.pubstack.buffers.count` - threshold in events count for buffer to send events
- `analytics.pubstack.buffers.report-ttl-ms` - max period between two reports.

## Programmatic Guaranteed Delivery
- `deals.planner.plan-endpoint` - planner endpoint to get plans from.
- `deals.planner.update-period` - cron expression to start job for requesting Line Item metadata updates from the Planner.
- `deals.planner.plan-advance-period` - cron expression to start job for advancing Line Items to the next plan.
- `deals.planner.retry-period-sec` - how long (in seconds) to wait before re-sending a request to the Planner that previously failed with 5xx HTTP error code.
- `deals.planner.timeout-ms` - default operation timeout for requests to planner's endpoints.
- `deals.planner.register-endpoint` - register endpoint to get plans from.
- `deals.planner.register-period-sec` - time period (in seconds) to send register request to the Planner.
- `deals.planner.username` - username for planner BasicAuth.
- `deals.planner.password` - password for planner BasicAuth.
- `deals.delivery-stats.delivery-period` - cron expression to start job for sending delivery progress to planner.
- `deals.delivery-stats.cached-reports-number` - how many reports to cache while planner is unresponsive.
- `deals.delivery-stats.timeout-ms` - default operation timeout for requests to delivery progress endpoints.
- `deals.delivery-stats.username` - username for delivery progress BasicAuth.
- `deals.delivery-stats.password` - password for delivery progress BasicAuth.
- `deals.delivery-stats.line-items-per-report` - max number of line items in each report to split for batching. Default is 25.
- `deals.delivery-stats.reports-interval-ms` - interval in ms between consecutive reports. Default is 0.
- `deals.delivery-stats.batches-interval-ms` - interval in ms between consecutive batches. Default is 1000.
- `deals.delivery-stats.request-compression-enabled` - enables request gzip compression when set to true.
- `deals.delivery-progress.line-item-status-ttl-sec` - how long to store line item's metrics after it was expired.
- `deals.delivery-progress.cached-plans-number` - how many plans to store in metrics per line item.
- `deals.delivery-progress.report-reset-period`- cron expression to start job for closing current delivery progress and starting new one.
- `deals.delivery-progress-report.competitors-number`- number of line items top competitors to send in delivery progress report.
- `deals.user-data.user-details-endpoint` - user Data Store endpoint to get user details from.
- `deals.user-data.win-event-endpoint` - user Data Store endpoint to which win events should be sent.
- `deals.user-data.timeout` - time to wait (in milliseconds) for User Data Service response.
- `deals.user-data.user-ids` - list of Rules for determining user identifiers to send to User Data Store.
- `deals.max-deals-per-bidder` - maximum number of deals to send to each bidder.
- `deals.alert-proxy.enabled` - enable alert proxy service if `true`.
- `deals.alert-proxy.url` - alert service endpoint to send alerts to.
- `deals.alert-proxy.timeout-sec` - default operation timeout for requests to alert service endpoint.
- `deals.alert-proxy.username` - username for alert proxy BasicAuth.
- `deals.alert-proxy.password` - password for alert proxy BasicAuth.
- `deals.alert-proxy.alert-types` - key value pair of alert type and sampling factor to send high priority alert.

## Debugging
- `debug.override-token` - special string token for overriding Prebid Server account and/or adapter debug information presence in the auction response.

Expand Down
Loading

0 comments on commit 988a8ea

Please sign in to comment.