Hi,
We are trying to upload pii data to create the user lists in Google Ads manager and face the CONCURRENT_MODIFICATION error.
When we read the following paragraph from the doc, our understanding is that as long as we run one job, we should not run into the CONCURRENT_MODIFICATION issue. So we added the requests concurrently to the same job, and submitted the job for only once. However, we still saw this error.
Could you help us address following concerns?
Here I’m pasting how we tested the API again.
Following work flow is implemented to upload data to Google in parallel.
1. Created 'google_client' using access tokens
2. Created 'user_list' (we at Epsilon refer it as audience)
3. Created 'offline_user_data_job' using 'OfflineUserDataJobService' service
4. Create a function which takes the 'google_client', 'user_list', 'offline_user_data_job' and small portion of dataframe to be uploaded. This function is called in parallel by spark.
5. Within this function,
5.1 Create request for 'AddOfflineUserDataJobOperations'
5.2 Initialize the request with 'offline_user_data_job' ( This will tag a request to job.
5.3 Create operations using the input data. and assign to request.operations
5.4 submit the 'AddOfflineUserDataJobOperations' request
5.5 Repeat step 5.1 to 5.4 till all data is submitted to Google.
6. On submitting all the 'AddOfflineUserDataJobOperations' request, finally call 'run_offline_user_data_job' which triggers the upload.
Issue details:
We are facing 'database_error: CONCURRENT_MODIFICATION' error when we are submitting "'AddOfflineUserDataJobOperations' request" in parallel. ( Step 5.4)
(<_InactiveRpcError of RPC that terminated with:\n\tstatus = StatusCode.INVALID_ARGUMENT\n\tdetails = "Request contains an invalid argument."\n\tdebug_error_string = "
{
"created": "@1647967680.852767877",
"description": "Error received from peer ipv4:172.253.122.95:443",
"file": "src/core/lib/surface/call.cc",
"file_line": 903,
"grpc_message": "Request contains an invalid argument.",
"grpc_status": 3
}
"\n>, <_InactiveRpcError of RPC that terminated with:\n\tstatus = StatusCode.INVALID_ARGUMENT\n\tdetails = "Request contains an invalid argument."\n\tdebug_error_string = "
{
"created": "@1647967680.852767877",
"description": "Error received from peer ipv4:172.253.122.95:443",
"file": "src/core/lib/surface/call.cc",
"file_line": 903,
"grpc_message": "Request contains an invalid argument.",
"grpc_status": 3
}
"\n>, errors {\n error_code {\n database_error: CONCURRENT_MODIFICATION\n }\n message: "Multiple requests were attempting to modify the same resource at once. Please retry the request."\n}\nrequest_id: "jUsAGBf4dnPrg6XQX8TEbA"\n, \'jUsAGBf4dnPrg6XQX8TEbA\')',)
|
||||||
|
||||||