Coder Social home page Coder Social logo

Comments (5)

mcloonan avatar mcloonan commented on July 19, 2024

From that stack trace it doesn't look like you're actually using this client library. Can you provide some kind of code to reproduce that shows how you're invoking the call through our library?

from google-api-ads-ruby.

saifmahamood avatar saifmahamood commented on July 19, 2024

@mcloonan This is how we're invoking the call through the ruby library:

report_utils = adwords_authentication.report_utils(:v201809)

Log.info("Downloading report for #{@adwords_authentication.customer_id} on #{interval.start_date}")

csv_payload = report_utils.download_report(interval.report_definition)

interval.report_definition is

{:selector=>
  {:fields=>
    ["AdFormat", "AdGroupId", "AdNetworkType1", "CampaignId", "ClickType", "CreativeId", "CriteriaId", "CriteriaParameters", "Date", "Device", "GclId", "Page", "Slot"],
   :date_range=>{:min=>"20210211", :max=>"20210211"}},
 :report_name=>"AdWords Performance Report",
 :report_type=>"CLICK_PERFORMANCE_REPORT",
 :download_format=>"CSV",
 :date_range_type=>"CUSTOM_DATE"}

from google-api-ads-ruby.

saifmahamood avatar saifmahamood commented on July 19, 2024

Production stack trace:

[2021-02-18 00:08:41,537] {pod_launcher.py:136} INFO - Caused by:
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - Zlib::BufError: buffer error
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - org/jruby/ext/zlib/ZStream.java:135:in `finish'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/httpi-2.4.2/lib/httpi/adapter/net_http.rb:70:in `perform'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/httpi-2.4.2/lib/httpi/adapter/net_http.rb:47:in `block in request'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/httpi-2.4.2/lib/httpi/adapter/net_http.rb:87:in `block in do_request'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/httpi-2.4.2/lib/httpi/adapter/net_http.rb:85:in `do_request'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/httpi-2.4.2/lib/httpi/adapter/net_http.rb:38:in `request'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/httpi-2.4.2/lib/httpi.rb:161:in `request'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/httpi-2.4.2/lib/httpi.rb:133:in `post'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/google-ads-common-1.0.2/lib/ads_common/http.rb:59:in `post_response'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/google-adwords-api-1.4.0/lib/adwords_api/report_utils.rb:231:in `make_adhoc_request'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/google-adwords-api-1.4.0/lib/adwords_api/report_utils.rb:209:in `get_report_response'
[2021-02-18 00:08:41,538] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/google-adwords-api-1.4.0/lib/adwords_api/report_utils.rb:56:in `download_report'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /app/lib/longboat/extractors/adwords/adwords_page_fetcher.rb:17:in `fetch'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /app/lib/longboat/api/payload_enumerator.rb:23:in `block in build'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /app/lib/longboat/api/payload_processor.rb:29:in `run'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /app/lib/longboat/extractors/adwords/report_extractor.rb:39:in `block in extract'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /app/lib/longboat/extractors/adwords/report_extractor.rb:17:in `block in extract'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /app/lib/longboat/extractors/adwords/report_extractor.rb:16:in `extract'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /app/lib/longboat/extractor.rb:385:in `block in extract_pipeline'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/statsd-instrument-2.1.0/lib/statsd/instrument.rb:284:in `block in measure'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/statsd-instrument-2.1.0/lib/statsd/instrument.rb:53:in `duration'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/statsd-instrument-2.1.0/lib/statsd/instrument.rb:284:in `measure'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /app/lib/longboat/extractor.rb:384:in `extract_pipeline'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /app/lib/longboat/extractor.rb:568:in `block in run'
[2021-02-18 00:08:41,539] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/statsd-instrument-2.1.0/lib/statsd/instrument.rb:284:in `block in measure'
[2021-02-18 00:08:41,540] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/statsd-instrument-2.1.0/lib/statsd/instrument.rb:53:in `duration'
[2021-02-18 00:08:41,540] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/statsd-instrument-2.1.0/lib/statsd/instrument.rb:284:in `measure'
[2021-02-18 00:08:41,540] {pod_launcher.py:136} INFO - /app/lib/longboat/extractor.rb:565:in `run'
[2021-02-18 00:08:41,540] {pod_launcher.py:136} INFO - /app/lib/longboat.rb:125:in `run_job'
[2021-02-18 00:08:41,540] {pod_launcher.py:136} INFO - /app/lib/longboat.rb:89:in `run_with_manifest'
[2021-02-18 00:08:41,540] {pod_launcher.py:136} INFO - /app/Rakefile:36:in `block in <main>'
[2021-02-18 00:08:41,540] {pod_launcher.py:136} INFO - /artifacts/jruby/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<main>'

from google-api-ads-ruby.

mcloonan avatar mcloonan commented on July 19, 2024

It looks like it's some kind of issue with JRuby's interaction with HTTP requests. Neither our HTTP library nor our library directly uses "zlib" so I'm not really familiar with what might be going wrong here.

I think the easiest way to move forward would actually be to use the new Google Ads API client library instead of this one: https://github.com/googleads/google-ads-ruby

The new API is nearly feature complete with the AdWords API (including this use case) and is fully compatible with this client library (meaning you can use both in the same process without issue during your migration). Additionally, the AdWords API will be shut down at some point in the future, while we plan to support the Google Ads API going forward. So any work done to get this working on the AdWords API would have to be duplicated in the future to move to the Google Ads API.

If you do switch to that library, you could use a query on the click_view resource to fetch equivalent information, and since we're actively developing that library any issues would be a higher priority on our side.

from google-api-ads-ruby.

xaptronic avatar xaptronic commented on July 19, 2024

Hello, I've taken over this issue on our side. The stack trace as you mention is not anything to do with the Google Adwords library, but rather is a "side effect" of limitations with JRuby and how our application was processing the result of the API call.

I have worked around this in our application. You can close this issue.

Thanks

from google-api-ads-ruby.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.