[ 
https://issues.apache.org/jira/browse/BAHIR-154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16315683#comment-16315683
 ] 

ASF GitHub Bot commented on BAHIR-154:
--------------------------------------

Github user emlaver commented on a diff in the pull request:

    https://github.com/apache/bahir/pull/61#discussion_r160077380
  
    --- Diff: 
sql-cloudant/src/main/scala/org/apache/bahir/cloudant/common/JsonStoreRDD.scala 
---
    @@ -191,20 +199,30 @@ class JsonStoreRDD(sc: SparkContext, config: 
CloudantConfig)
        (0 until totalPartition).map(i => {
           val skip = i * limitPerPartition
           new JsonStoreRDDPartition(url, skip, limitPerPartition, i,
    -          config, selector, fields, queryUsed).asInstanceOf[Partition]
    +          config, selector, fields, queryUsed)
    +        .asInstanceOf[Partition]
         }).toArray
       }
     
       override def compute(splitIn: Partition, context: TaskContext):
           Iterator[String] = {
         val myPartition = splitIn.asInstanceOf[JsonStoreRDDPartition]
         implicit val postData : String = {
    +      val jsonObject = new JsonObject
           if (myPartition.queryUsed && myPartition.fields != null) {
    -        Json.stringify(Json.obj("selector" -> myPartition.selector, 
"fields" -> myPartition.fields,
    -            "limit" -> myPartition.limit, "skip" -> myPartition.skip))
    +        // Json.stringify(Json.obj("selector" -> myPartition.selector, 
"fields" ->
    +        // myPartition.fields, "limit" -> myPartition.limit, "skip" -> 
myPartition.skip))
    +        jsonObject.add("selector", myPartition.selector)
    +        jsonObject.add("fields", myPartition.fields)
    +        jsonObject.addProperty("skip", myPartition.skip)
    +        jsonObject.toString
           } else if (myPartition.queryUsed) {
    -        Json.stringify(Json.obj("selector" -> myPartition.selector, 
"limit" -> myPartition.limit,
    -            "skip" -> myPartition.skip))
    +        // Json.stringify(Json.obj("selector" -> myPartition.selector,
    +        // "limit" -> myPartition.limit, "skip" -> myPartition.skip))
    +        jsonObject.add("selector", myPartition.selector)
    --- End diff --
    
    Fixed in 55cc844.


> Refactor sql-cloudant to use Cloudant's java-cloudant features
> --------------------------------------------------------------
>
>                 Key: BAHIR-154
>                 URL: https://issues.apache.org/jira/browse/BAHIR-154
>             Project: Bahir
>          Issue Type: Improvement
>    Affects Versions: Spark-2.2.0
>            Reporter: Esteban Laver
>            Assignee: Esteban Laver
>
> Cloudant's java-cloudant library (which is currently used for testing) 
> contains several features that sql-cloudant can benefit from:
> - HTTP 429 backoff
> - View builder API to potentially simplify loading for _all_docs/views
> - Improved exception handling when executing HTTP requests
> - Future support for IAM API key
> Would need to replace current scala HTTP library with OkHttp library, and 
> also replace play-json with GSON library.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to