search cancel

Odata connection unable to pass plus sign (+) in the URL params after Tableau upgrade

book

Article ID: 229004

calendar_today

Updated On:

Products

Clarity PPM SaaS

Issue/Introduction

After having an issue with OData connections the Tableau support team responded with some actions for Broadcom OData team to take on the OData Database side. Below is the OData URL request that was found to be changed in each minor version of 2020.4 Tableau Desktop version: 

2020.4.0- Encoded
GET https://services.odata.org/v4/TripPinServiceRW/People%20 HTTP/1.1

2020.4.4- Encoded
GET https://services.odata.org/v4/TripPinServiceRW/People%20 HTTP/1.1

2020.4.5- Encoded
GET https://services.odata.org/v4/TripPinServiceRW/People%20 HTTP/1.1

2020.4.6- Encoded
GET https://services.odata.org/v4/TripPinServiceRW/People%20 HTTP/1.1

2020.4.7- Unencoded
GET https://services.odata.org/v4/TripPinServiceRW/People+ HTTP/1.1

2020.4.10- Unencoded
GET https://services.odata.org/v4/TripPinServiceRW/People+ HTTP/1.1

Based on the information above, starting in version 2020.4.7+ the URL sent from Tableau to OData has a '+' symbol ('+' symbol is not encoded).

Environment

Component : CLARITY DATA WAREHOUSE/ODATA

Resolution

Tableau Development team has determined this behavior to be by design. The issue is currently with the Tableau as a feature request - Unable to pass plus sign in the URL params after Tableau upgrade 2020.4.1+ Request # 1239079 has been passed to Tableau Development team for their consideration of changing the behavior - Filtering from a URL query string would not respect the URL-encoded "+" sign: https://www.tableau.com/support/releases/server/2020.4.6

This is resolved in 16.0.3 with the release of HDP 4.6.1.

Workaround: Encode the plus sign with a tool like https://www.urlencoder.org. To encode the URL, change + to %2B. The GCP SaaS OData logs have similar cases where the URL's have the + symbol and it is encoded.

Example URL:

"GET /api/odata/cppmxxxxxdatasource/DWH_FIN_PLAN_PERIOD_FACTS?$skiptoken=kgBP3qJ%2BciFLASHe5Rc/5sMEQFAbpWZ5dVTGfPKqP70v98Ra2b789dyMRLkO%2BVBS&$select=actual_cost,actual_revenue,actual_units,billing_plan_cost,billing_plan_revenue,dw_updated_date,fcst_cost,fcst_revenue,fcst_units,investment_key,period_key,plan_actual_cost_var,plan_actual_revenue_var,plan_actual_units_var,plan_cost,plan_detail_key,plan_fcst_cost_var,plan_fcst_revenue_var,plan_fcst_units_var,plan_key,plan_revenue,plan_units"