[
https://issues.apache.org/jira/browse/BAHIR-110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16064865#comment-16064865
]
ASF GitHub Bot commented on BAHIR-110:
--------------------------------------
Github user emlaver commented on the issue:
https://github.com/apache/bahir/pull/45
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
[JsonStoreDataAccess.scala](https://github.com/apache/bahir/pull/45/files#diff-ab440bd537d48f7cf58cd9cf0ea143b1).
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
(v6.4.14#64029)