ASF GitHub Bot commented on BAHIR-110:

Github user emlaver commented on the issue:

    WIP: While running tests against databases with a size > 500 MB, 
`java.lang.OutOfMemoryError: Java heap space` error would occur (even when 
setting `--conf spark.driver.memory=10g`).  I believe this has to do with how 
the HTTP request is setup and called against the `_changes API` in 
    Good news is I've created a test that uses Spark streaming (using 
CloudantReceiver.java) to read all docs from a Cloudant database into a Spark 
DataFrame.  It should work for a SQL Temp Table.  I ran this test without any 
java heap errors against a database size of 1 GB, 1.8 GB, and 14.2 GB.

> Replace use of _all_docs API with _changes API in all receivers
> ---------------------------------------------------------------
>                 Key: BAHIR-110
>                 URL: https://issues.apache.org/jira/browse/BAHIR-110
>             Project: Bahir
>          Issue Type: Improvement
>            Reporter: Esteban Laver
>   Original Estimate: 216h
>  Remaining Estimate: 216h
> Today we use the _changes API for Spark streaming receiver and _all_docs API 
> for non-streaming receiver. _all_docs API supports parallel reads (using 
> offset and range) but performance of _changes API is still better in most 
> cases (even with single threaded support).
> With this ticket we want to:
> a) re-implement all receivers using _changes API
> b) compare performance between the two implementations based on _changes and 
> _all_docs
> Based on the results in b) we could decide to either
> - replace _all_docs implementation with _changes based implementation OR
> - allow customers to pick one (with a solid documentation about pros and 
> cons) 

This message was sent by Atlassian JIRA

Reply via email to