Hi Ron,

I'm a little perplexed by the most recent example. I see it shows both:

com.google.api.ads.adwords.lib.utils.ReportException: *502*: Bad Gateway

and:

Caused by: HTTP Response Code: *400*

Was that a bad copy/paste, or are you actually seeing both 502 and 400 
mentioned within the same error?

Thanks,
Josh, AdWords API Team

On Monday, April 16, 2018 at 11:27:53 AM UTC-4, Ronald Findling wrote:
>
> After adding some more logging, another example that results in a 400 on 
> our side:
>
>
> 19:07:52 [WARN] c.g.a.a.a.lib.utils.report_download Request made: Service: 
> reportdownload Method: POST clientCustomerId: XXX URL: 
> https://adwords.google.com//api/adwords/reportdownload/v201710 Request 
> ID: null ResponseTime(ms): null OperationsCount: null IsFault: true 
> FaultMessage: com.google.api.ads.adwords.lib.utils.ReportException: 502: 
> Bad Gateway
> 2018-04-15 19:07:52 [INFO] c.g.a.a.a.lib.utils.report_download HTTP 
> request:
> accept-encoding: [gzip]
> authorization: REDACTED
> user-agent: [XXX (AwApi-Java, Common-Java/3.12.0, Java/1.8.0_121, maven, 
> ReportDownloader)]
> developertoken: REDACTED
> clientcustomerid: XXX
> includezeroimpressions: false
>
> Content:
> __rdquery: SELECT Conversions,ConversionValue FROM 
> SHOPPING_PERFORMANCE_REPORT WHERE CountryCriteriaId = 2250 DURING 
> 20180316,20180415
> __fmt: XML
>
> Caused by: HTTP Response Code: 400 at 
> com.google.api.ads.adwords.lib.utils.v201710.DetailedReportDownloadResponseException$Builder.build(DetailedReportDownloadResponseException.java:35)
>
> Am Freitag, 30. März 2018 15:15:38 UTC+2 schrieb Josh Radcliff (AdWords 
> API Team):
>>
>> Hi Ron,
>>
>> Sorry, I'm still having trouble locating those requests in our logs. 
>> Would you mind sending over the customer ID where your developer token is 
>> registered? You can send it only to me by clicking *Reply privately to 
>> author*.
>>
>> Regarding the timeout theory, the ReportDownloader won't automatically 
>> retry requests. However, if you think timeouts are the root cause here, you 
>> can adjust the timeout for report downloads programmatically or in your 
>> *ads.properties* file. Check out this section of the ads.properties file 
>> <https://github.com/googleads/googleads-java-lib/blob/master/examples/adwords_axis/src/main/resources/ads.properties#L47>
>>  for 
>> details.
>>
>> Thanks,
>> Josh, AdWords API Team
>>
>> On Wednesday, March 28, 2018 at 8:10:33 AM UTC-4, Ronald Findling wrote:
>>>
>>> Hi Josh,
>>>
>>> I checked the request data that I provided you and they are exactly what 
>>> I can see in my logs. Maybe I should mention that the provided time is the 
>>> time at which the request failed not when it was sent to your servers (that 
>>> time is ~30-40 seconds before).
>>>
>>> Concerning the thread-safety recommendations I'm sure that the 
>>> ReportDownloader and its Session are not used in multiple threads in our 
>>> code.
>>>
>>> Further information: 
>>> Checking our errors I found an interesting pattern, failing requests 
>>> always take at least 30 seconds (usually 30-31) while successful ones are 
>>> most likely to be around 1 second.
>>>
>>> Maybe a stupid thought but could it be a something like the java-library 
>>> timing out after 30 seconds and retrying using the provided 
>>> session/ReportDownloader again which then violates the threadSafety and 
>>> results in invalid requests?
>>>
>>> Best Regards,
>>> Ron
>>>
>>>
>>> Am Dienstag, 27. März 2018 23:05:31 UTC+2 schrieb Josh Radcliff (AdWords 
>>> API Team):
>>>>
>>>> Hi Ronald,
>>>>
>>>> I searched the logs on our side and could not find either of those 
>>>> requests. Are you sure that they were submitted for the account ID you 
>>>> mentioned?
>>>>
>>>> By the way, did you check if you're adhering to the thread safety 
>>>> guidelines I mentioned earlier? I just want to make sure we can rule that 
>>>> out as a possible cause of the errors.
>>>>
>>>> Thanks,
>>>> Josh, AdWords API Team
>>>>
>>>> On Tuesday, March 27, 2018 at 9:53:11 AM UTC-4, Ronald Findling wrote:
>>>>>
>>>>> Hi Josh,
>>>>>
>>>>> thx for the hints.
>>>>> Concerning the requested information I can give you 2 identical 
>>>>> request where one succeeded and the other one failed with a 400 as shown 
>>>>> in 
>>>>> my last message.
>>>>>
>>>>> failed:
>>>>> time: 27.03.18 01:06:08 CEST
>>>>> googleAdwordsAccountId: 685-366-2732
>>>>> SELECT Conversions,ConversionValue FROM SHOPPING_PERFORMANCE_REPORT 
>>>>> WHERE CountryCriteriaId = 2826 DURING 20180225,20180327;
>>>>>
>>>>> succeeded:
>>>>> time: 27.03.18 03:06:30 CEST
>>>>> googleAdwordsAccountId: 685-366-2732
>>>>> SELECT Conversions,ConversionValue FROM SHOPPING_PERFORMANCE_REPORT 
>>>>> WHERE CountryCriteriaId = 2826 DURING 20180225,20180327;
>>>>>
>>>>> Best Regards, Ron
>>>>>
>>>>> Am Dienstag, 20. März 2018 21:54:13 UTC+1 schrieb Josh Radcliff 
>>>>> (AdWords API Team):
>>>>>>
>>>>>> Hi Raneen,
>>>>>>
>>>>>> From our logs, it appears that your requests are most frequently 
>>>>>> failing with the following errors:
>>>>>>
>>>>>>    - ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCH
>>>>>>    - AuthorizationError.USER_PERMISSION_DENIED
>>>>>>    - ReportDefinitionError.INVALID_FIELD_NAME_FOR_REPORT
>>>>>>    
>>>>>> Could you share a report request that failed, with any sensitive 
>>>>>> information removed (developer token, OAuth access token, etc.)?
>>>>>>
>>>>>> Also, I see that you are using the client library for Java. Are you 
>>>>>> adhering to the thread-safety recommendations 
>>>>>> <https://github.com/googleads/googleads-java-lib/wiki/Thread-Safety>? 
>>>>>> For example, you should not use a *ReportDownloader* instance within 
>>>>>> multiple threads. Doing so will produce unpredictable behavior, such as 
>>>>>> malformed requests or issues parsing responses.
>>>>>>
>>>>>> Thanks,
>>>>>> Josh, AdWords API Team
>>>>>>
>>>>>> On Tuesday, March 20, 2018 at 3:06:14 PM UTC-4, Sreelakshmi 
>>>>>> Sasidharan (AdWords API Team) wrote:
>>>>>>>
>>>>>>> Hi Ron, 
>>>>>>>
>>>>>>> The V201702 version of the API is deprecated and all calls made to 
>>>>>>> this version of the API will return an error. v201802 
>>>>>>> <https://googleadsdeveloper.blogspot.com/2018/02/announcing-v201802-of-adwords-api.html>
>>>>>>>  is 
>>>>>>> the most recent version of the API currently available. We strongly 
>>>>>>> recommend that you migrate to this version. For future reference, 
>>>>>>> please 
>>>>>>> find the deprecation schedule 
>>>>>>> <https://developers.google.com/adwords/api/docs/sunset-dates> for 
>>>>>>> various API versions. The resources given below might be helpful for 
>>>>>>> you in 
>>>>>>> migration: 
>>>>>>>
>>>>>>>    - v201802 migration guide 
>>>>>>>    
>>>>>>> <https://developers.google.com/adwords/api/docs/guides/migration/v201802>
>>>>>>>    - v201710 migration guide 
>>>>>>>    
>>>>>>> <https://developers.google.com/adwords/api/docs/guides/migration/v201710>
>>>>>>>    - v201708 migration guide 
>>>>>>>    
>>>>>>> <https://developers.google.com/adwords/api/docs/guides/migration/v201708>
>>>>>>>  (useful 
>>>>>>>    if you are migrating from v201705)
>>>>>>>    - Release notes 
>>>>>>>    <https://developers.google.com/adwords/api/docs/reference/>
>>>>>>>
>>>>>>> You could follow our Google Ads Developer blog 
>>>>>>> <https://googleadsdeveloper.blogspot.com/search/label/adwords_api> or 
>>>>>>> the AdWords API Announcements forum 
>>>>>>> <https://groups.google.com/forum/#!forum/adwordsapi-announcements> to 
>>>>>>> make sure that you are not missing any announcements about the API in 
>>>>>>> the 
>>>>>>> future. Please let me know if you have any further questions. 
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Sreelakshmi, AdWords API Team
>>>>>>>
>>>>>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/f1e9c586-0adf-4587-9493-b03cf4d94438%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to