You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by sethah <gi...@git.apache.org> on 2016/06/17 03:58:32 UTC

[GitHub] spark pull request #13729: [SPARK-16008] Remove unnecessary serialization in...

GitHub user sethah opened a pull request:

    https://github.com/apache/spark/pull/13729

    [SPARK-16008] Remove unnecessary serialization in logistic regression

    ## What changes were proposed in this pull request?
    `LogisticAggregator` stores references to two arrays of dimension `numFeatures` which are serialized before the combine op, unnecessarily. This results in the shuffle write being ~3x (for multiclass logistic regression, this number will go up) larger than it should be (in MLlib, for instance, it is 3x smaller).
    
    This patch modifies `LogisticAggregator.add` to accept the two arrays as method parameters which avoids the serialization. 
    
    ## How was this patch tested?
    
    I tested this locally and verified the serialization reduction. 
    
    ![image](https://cloud.githubusercontent.com/assets/7275795/16140387/d2974bac-3404-11e6-94f9-268860c931a2.png)
    
    Additionally, I ran some tests of a 4 node cluster (4x48 cores, 4x128 GB RAM). Data set size of 2M rows and 10k features showed >2x iteration speedup. 


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/sethah/spark lr_improvement

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/13729.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #13729
    
----
commit 2a1e632e747620f6fa0f2fcabce9431c6061e742
Author: sethah <se...@gmail.com>
Date:   2016-06-16T23:24:52Z

    remove unnecessary serialization

commit 86505b75cd083c82a3cdefe1221eb6ed4e9750bb
Author: sethah <se...@gmail.com>
Date:   2016-06-17T01:28:10Z

    comments

commit ef8fdea808052846055979c642b5f47255ee9e3d
Author: sethah <se...@gmail.com>
Date:   2016-06-17T03:45:34Z

    dimension corrections

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    **[Test build #60712 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/60712/consoleFull)** for PR 13729 at commit [`5d668a6`](https://github.com/apache/spark/commit/5d668a6f93859801262393540fe954257f433a35).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by jodersky <gi...@git.apache.org>.
Github user jodersky commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    Hi @dbtsai, I assisted @sethah with some serialization issues during this PR. I know we considered using transient but can't recall exactly why we ended up not.
    My knowledge about the bigger picture of this PR is quite limited, but one explanation that comes to mind is that the `coefficients` and `featuresStd` parameters are only used within the `add` method. So the reasoning was to keep parameters as local as possible.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    Merged build finished. Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    Merged build finished. Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    **[Test build #60681 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/60681/consoleFull)** for PR 13729 at commit [`ef8fdea`](https://github.com/apache/spark/commit/ef8fdea808052846055979c642b5f47255ee9e3d).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #13729: [SPARK-16008][ML] Remove unnecessary serializatio...

Posted by srowen <gi...@git.apache.org>.
Github user srowen commented on a diff in the pull request:

    https://github.com/apache/spark/pull/13729#discussion_r67480171
  
    --- Diff: mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala ---
    @@ -937,50 +937,47 @@ class BinaryLogisticRegressionSummary private[classification] (
      * Two LogisticAggregator can be merged together to have a summary of loss and gradient of
      * the corresponding joint dataset.
      *
    - * @param coefficients The coefficients corresponding to the features.
      * @param numClasses the number of possible outcomes for k classes classification problem in
      *                   Multinomial Logistic Regression.
      * @param fitIntercept Whether to fit an intercept term.
    - * @param featuresStd The standard deviation values of the features.
    - * @param featuresMean The mean values of the features.
      */
     private class LogisticAggregator(
    -    coefficients: Vector,
    +    numFeatures: Int,
         numClasses: Int,
    -    fitIntercept: Boolean,
    -    featuresStd: Array[Double],
    -    featuresMean: Array[Double]) extends Serializable {
    +    fitIntercept: Boolean) extends Serializable {
     
       private var weightSum = 0.0
       private var lossSum = 0.0
     
    -  private val coefficientsArray = coefficients match {
    -    case dv: DenseVector => dv.values
    -    case _ =>
    -      throw new IllegalArgumentException(
    -        s"coefficients only supports dense vector but got type ${coefficients.getClass}.")
    -  }
    -
    -  private val dim = if (fitIntercept) coefficientsArray.length - 1 else coefficientsArray.length
    -
    -  private val gradientSumArray = Array.ofDim[Double](coefficientsArray.length)
    +  private val dim = numFeatures
    --- End diff --
    
    Do you need dim here, or can just reference numFeatures later in the class?
    I had to look twice at the line below to make sure the logic wasn't reversed from before but I see why it works out.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by sethah <gi...@git.apache.org>.
Github user sethah commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    @dbtsai I'll take a look later this week


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #13729: [SPARK-16008][ML] Remove unnecessary serializatio...

Posted by sethah <gi...@git.apache.org>.
Github user sethah commented on a diff in the pull request:

    https://github.com/apache/spark/pull/13729#discussion_r67528647
  
    --- Diff: mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala ---
    @@ -937,50 +937,47 @@ class BinaryLogisticRegressionSummary private[classification] (
      * Two LogisticAggregator can be merged together to have a summary of loss and gradient of
      * the corresponding joint dataset.
      *
    - * @param coefficients The coefficients corresponding to the features.
      * @param numClasses the number of possible outcomes for k classes classification problem in
      *                   Multinomial Logistic Regression.
      * @param fitIntercept Whether to fit an intercept term.
    - * @param featuresStd The standard deviation values of the features.
    - * @param featuresMean The mean values of the features.
      */
     private class LogisticAggregator(
    -    coefficients: Vector,
    +    numFeatures: Int,
         numClasses: Int,
    -    fitIntercept: Boolean,
    -    featuresStd: Array[Double],
    -    featuresMean: Array[Double]) extends Serializable {
    +    fitIntercept: Boolean) extends Serializable {
     
       private var weightSum = 0.0
       private var lossSum = 0.0
     
    -  private val coefficientsArray = coefficients match {
    -    case dv: DenseVector => dv.values
    -    case _ =>
    -      throw new IllegalArgumentException(
    -        s"coefficients only supports dense vector but got type ${coefficients.getClass}.")
    -  }
    -
    -  private val dim = if (fitIntercept) coefficientsArray.length - 1 else coefficientsArray.length
    -
    -  private val gradientSumArray = Array.ofDim[Double](coefficientsArray.length)
    +  private val dim = numFeatures
    --- End diff --
    
    I left it because this logic will likely change when multiclass is added. `dim` is used to check that the overall coefficients array is the correct length, which won't be `numFeatures` for multiclass. Still, I can remove it here if that seems better.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by sethah <gi...@git.apache.org>.
Github user sethah commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    cc @jkbradley @dbtsai 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #13729: [SPARK-16008][ML] Remove unnecessary serializatio...

Posted by sethah <gi...@git.apache.org>.
Github user sethah commented on a diff in the pull request:

    https://github.com/apache/spark/pull/13729#discussion_r67536583
  
    --- Diff: mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala ---
    @@ -937,50 +937,47 @@ class BinaryLogisticRegressionSummary private[classification] (
      * Two LogisticAggregator can be merged together to have a summary of loss and gradient of
      * the corresponding joint dataset.
      *
    - * @param coefficients The coefficients corresponding to the features.
      * @param numClasses the number of possible outcomes for k classes classification problem in
      *                   Multinomial Logistic Regression.
      * @param fitIntercept Whether to fit an intercept term.
    - * @param featuresStd The standard deviation values of the features.
    - * @param featuresMean The mean values of the features.
      */
     private class LogisticAggregator(
    -    coefficients: Vector,
    +    numFeatures: Int,
         numClasses: Int,
    -    fitIntercept: Boolean,
    -    featuresStd: Array[Double],
    -    featuresMean: Array[Double]) extends Serializable {
    +    fitIntercept: Boolean) extends Serializable {
     
       private var weightSum = 0.0
       private var lossSum = 0.0
     
    -  private val coefficientsArray = coefficients match {
    -    case dv: DenseVector => dv.values
    -    case _ =>
    -      throw new IllegalArgumentException(
    -        s"coefficients only supports dense vector but got type ${coefficients.getClass}.")
    -  }
    -
    -  private val dim = if (fitIntercept) coefficientsArray.length - 1 else coefficientsArray.length
    -
    -  private val gradientSumArray = Array.ofDim[Double](coefficientsArray.length)
    +  private val dim = numFeatures
    --- End diff --
    
    On second thought, I like your suggestion. I updated it accordingly.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by srowen <gi...@git.apache.org>.
Github user srowen commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    I think that makes sense.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #13729: [SPARK-16008][ML] Remove unnecessary serializatio...

Posted by srowen <gi...@git.apache.org>.
Github user srowen commented on a diff in the pull request:

    https://github.com/apache/spark/pull/13729#discussion_r67480295
  
    --- Diff: mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala ---
    @@ -990,11 +987,11 @@ private class LogisticAggregator(
                 var sum = 0.0
                 features.foreachActive { (index, value) =>
                   if (featuresStd(index) != 0.0 && value != 0.0) {
    -                sum += localCoefficientsArray(index) * (value / featuresStd(index))
    +                sum += coefficientsArray(index) * (value / featuresStd(index))
    --- End diff --
    
    I could be missing something, but why are the values being normalized by the stdev but not centered by the mean? before, the means were passed in, so I wonder if something was being overlooked before.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #13729: [SPARK-16008][ML] Remove unnecessary serializatio...

Posted by sethah <gi...@git.apache.org>.
Github user sethah commented on a diff in the pull request:

    https://github.com/apache/spark/pull/13729#discussion_r67528031
  
    --- Diff: mllib/src/main/scala/org/apache/spark/ml/classification/LogisticRegression.scala ---
    @@ -990,11 +987,11 @@ private class LogisticAggregator(
                 var sum = 0.0
                 features.foreachActive { (index, value) =>
                   if (featuresStd(index) != 0.0 && value != 0.0) {
    -                sum += localCoefficientsArray(index) * (value / featuresStd(index))
    +                sum += coefficientsArray(index) * (value / featuresStd(index))
    --- End diff --
    
    I believe it is by design and not being overlooked (perhaps the mean was also passed in case future versions decided it was necessary to mean center the data). This comment is from MLlib:
    
    ```
         * Here, if useFeatureScaling is enabled, we will standardize the training features by dividing
         * the variance of each column (without subtracting the mean), and train the model in the
         * scaled space. Then we transform the coefficients from the scaled space to the original scale
         * as GLMNET and LIBSVM do.
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by dbtsai <gi...@git.apache.org>.
Github user dbtsai commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    @sethah Late comment. Great improvement for high dimensional problems. I didn't test it out myself, and I wonder whether `@transient` annotation works in the constructor of `LogisticAggregator`. Thus, the code will be cleaner with using `c.add(instance)`. Thanks.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60681/
    Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60710/
    Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    **[Test build #60710 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/60710/consoleFull)** for PR 13729 at commit [`96b0a45`](https://github.com/apache/spark/commit/96b0a4505b4a43bc254065e084fb9b72b1e4a92b).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #13729: [SPARK-16008][ML] Remove unnecessary serializatio...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/spark/pull/13729


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by dbtsai <gi...@git.apache.org>.
Github user dbtsai commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    Hi @jodersky @sethah
    
    Could you test in Linear Regression, if `@transient` helps the performance for the same serialization issue?
    
    https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/ml/regression/LinearRegression.scala
    
    Thanks.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by sethah <gi...@git.apache.org>.
Github user sethah commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    @srowen Thanks for the review! I responded to your comments, let me know what you think.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    Merged build finished. Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    **[Test build #60712 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/60712/consoleFull)** for PR 13729 at commit [`5d668a6`](https://github.com/apache/spark/commit/5d668a6f93859801262393540fe954257f433a35).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    **[Test build #60681 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/60681/consoleFull)** for PR 13729 at commit [`ef8fdea`](https://github.com/apache/spark/commit/ef8fdea808052846055979c642b5f47255ee9e3d).


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by mengxr <gi...@git.apache.org>.
Github user mengxr commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    Nice catch and LGTM! Merging into master and branch-2.0. Thanks!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60712/
    Test PASSed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #13729: [SPARK-16008][ML] Remove unnecessary serialization in lo...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/13729
  
    **[Test build #60710 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/60710/consoleFull)** for PR 13729 at commit [`96b0a45`](https://github.com/apache/spark/commit/96b0a4505b4a43bc254065e084fb9b72b1e4a92b).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org