[GitHub] [spark] maropu commented on a change in pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


maropu commented on a change in pull request #28463:
URL: https://github.com/apache/spark/pull/28463#discussion_r422454936



##
File path: core/src/main/scala/org/apache/spark/util/ClosureCleaner.scala
##
@@ -414,6 +434,296 @@ private[spark] object ClosureCleaner extends Logging {
   }
 }
 
+private[spark] object IndylambdaScalaClosures extends Logging {
+  // internal name of java.lang.invoke.LambdaMetafactory
+  val LambdaMetafactoryClassName = "java/lang/invoke/LambdaMetafactory"
+  // the method that Scala indylambda use for bootstrap method
+  val LambdaMetafactoryMethodName = "altMetafactory"
+  val LambdaMetafactoryMethodDesc = "(Ljava/lang/invoke/MethodHandles$Lookup;" 
+
+"Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)" +
+"Ljava/lang/invoke/CallSite;"
+
+  /**
+   * Check if the given reference is a indylambda style Scala closure.
+   * If so (e.g. for Scala 2.12+ closures), return a non-empty serialization 
proxy
+   * (SerializedLambda) of the closure;
+   * otherwise (e.g. for Scala 2.11 closures) return None.
+   *
+   * @param maybeClosure the closure to check.
+   */
+  def getSerializationProxy(maybeClosure: AnyRef): Option[SerializedLambda] = {
+def isClosureCandidate(cls: Class[_]): Boolean = {
+  // TODO: maybe lift this restriction to support other functional 
interfaces in the future
+  val implementedInterfaces = ClassUtils.getAllInterfaces(cls).asScala
+  implementedInterfaces.exists(_.getName.startsWith("scala.Function"))
+}
+
+maybeClosure.getClass match {
+  // shortcut the fast check:
+  // 1. indylambda closure classes are generated by Java's 
LambdaMetafactory, and they're
+  //always synthetic.
+  // 2. We only care about Serializable closures, so let's check that as 
well
+  case c if !c.isSynthetic || !maybeClosure.isInstanceOf[Serializable] => 
None
+
+  case c if isClosureCandidate(c) =>
+try {
+  Option(inspect(maybeClosure)).filter(isIndylambdaScalaClosure)
+} catch {
+  case e: Exception =>
+logDebug("The given reference is not an indylambda Scala 
closure.", e)
+None
+}
+
+  case _ => None
+}
+  }
+
+  def isIndylambdaScalaClosure(lambdaProxy: SerializedLambda): Boolean = {
+lambdaProxy.getImplMethodKind == MethodHandleInfo.REF_invokeStatic &&
+  lambdaProxy.getImplMethodName.contains("$anonfun$")
+  }
+
+  def inspect(closure: AnyRef): SerializedLambda = {
+val writeReplace = closure.getClass.getDeclaredMethod("writeReplace")
+writeReplace.setAccessible(true)
+writeReplace.invoke(closure).asInstanceOf[SerializedLambda]
+  }
+
+  /**
+   * Check if the handle represents the LambdaMetafactory that indylambda 
Scala closures
+   * use for creating the lambda class and getting a closure instance.
+   */
+  def isLambdaMetafactory(bsmHandle: Handle): Boolean = {
+bsmHandle.getOwner == LambdaMetafactoryClassName &&
+  bsmHandle.getName == LambdaMetafactoryMethodName &&
+  bsmHandle.getDesc == LambdaMetafactoryMethodDesc
+  }
+
+  /**
+   * Check if the handle represents a target method that is:
+   * - a STATIC method that implements a Scala lambda body in the indylambda 
style
+   * - captures the enclosing `this`, i.e. the first argument is a reference 
to the same type as
+   *   the owning class.
+   * Returns true if both criteria above are met.
+   */
+  def isLambdaBodyCapturingOuter(handle: Handle, ownerInternalName: String): 
Boolean = {
+handle.getTag == H_INVOKESTATIC &&
+  handle.getName.contains("$anonfun$") &&
+  handle.getOwner == ownerInternalName &&
+  handle.getDesc.startsWith(s"(L$ownerInternalName;")
+  }
+
+  /**
+   * Check if the callee of a call site is a inner class constructor.
+   * - A constructor has to be invoked via INVOKESPECIAL
+   * - A constructor's internal name is "init" and the return type is 
"V" (void)
+   * - An inner class' first argument in the signature has to be a reference 
to the
+   *   enclosing "this", aka `$outer` in Scala.
+   */
+  def isInnerClassCtorCapturingOuter(
+  op: Int, owner: String, name: String, desc: String, callerInternalName: 
String): Boolean = {
+op == INVOKESPECIAL && name == "" && 
desc.startsWith(s"(L$callerInternalName;")
+  }
+
+  /**
+   * Scans an indylambda Scala closure, along with its lexically nested 
closures, and populate
+   * the accessed fields info on which fields on the outer object are accessed.
+   *
+   * This is equivalent to getInnerClosureClasses() + InnerClosureFinder + 
FieldAccessFinder fused
+   * into one for processing indylambda closures. The traversal order along 
the call graph is the
+   * same for all three combined, so they can be fused together easily while 
maintaining the same
+   * ordering as the existing implementation.
+   *
+   * Precondition: this function expects the `accessedFields` to be populated 
with all known
+   *   

[GitHub] [spark] AmplabJenkins removed a comment on pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28208:
URL: https://github.com/apache/spark/pull/28208#issuecomment-626106782







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28208:
URL: https://github.com/apache/spark/pull/28208#issuecomment-626106782







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #28208:
URL: https://github.com/apache/spark/pull/28208#issuecomment-626075775


   **[Test build #122457 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122457/testReport)**
 for PR 28208 at commit 
[`c0660b1`](https://github.com/apache/spark/commit/c0660b124b0a14cc0fd8ef4d602a471894c4304d).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


SparkQA commented on pull request #28208:
URL: https://github.com/apache/spark/pull/28208#issuecomment-626106604


   **[Test build #122457 has 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122457/testReport)**
 for PR 28208 at commit 
[`c0660b1`](https://github.com/apache/spark/commit/c0660b124b0a14cc0fd8ef4d602a471894c4304d).
* This patch passes all tests.
* This patch merges cleanly.
* This patch adds no public classes.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] MaxGekk commented on pull request #28481: [SPARK-31665][SQL][TESTS] Check parquet dictionary encoding of random dates/timestamps

2020-05-08 Thread GitBox


MaxGekk commented on pull request #28481:
URL: https://github.com/apache/spark/pull/28481#issuecomment-626106419


   The roundtrip test RowEncoderSuite.encode/decode fails 
https://github.com/apache/spark/pull/28481#issuecomment-626034381 on 1000-02-29 
because the date doesn't exist in Proleptic Gregorian calendar, and Spark 
shifts it to the next valid date 1000-03-01. The test didn't fail before so 
often because the probability of generating this date was pretty low.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28391: [SPARK-31593][SS] Remove unnecessary streaming query progress update

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28391:
URL: https://github.com/apache/spark/pull/28391#issuecomment-626104977


   Test FAILed.
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122460/
   Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #28391: [SPARK-31593][SS] Remove unnecessary streaming query progress update

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #28391:
URL: https://github.com/apache/spark/pull/28391#issuecomment-626104807


   **[Test build #122460 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122460/testReport)**
 for PR 28391 at commit 
[`4a55b25`](https://github.com/apache/spark/commit/4a55b25b76066e4fac009479fa59a67305f81440).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28391: [SPARK-31593][SS] Remove unnecessary streaming query progress update

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28391:
URL: https://github.com/apache/spark/pull/28391#issuecomment-626104974


   Merged build finished. Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28391: [SPARK-31593][SS] Remove unnecessary streaming query progress update

2020-05-08 Thread GitBox


SparkQA commented on pull request #28391:
URL: https://github.com/apache/spark/pull/28391#issuecomment-626104971


   **[Test build #122460 has 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122460/testReport)**
 for PR 28391 at commit 
[`4a55b25`](https://github.com/apache/spark/commit/4a55b25b76066e4fac009479fa59a67305f81440).
* This patch **fails Scala style tests**.
* This patch merges cleanly.
* This patch adds no public classes.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28391: [SPARK-31593][SS] Remove unnecessary streaming query progress update

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28391:
URL: https://github.com/apache/spark/pull/28391#issuecomment-626104918







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28391: [SPARK-31593][SS] Remove unnecessary streaming query progress update

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28391:
URL: https://github.com/apache/spark/pull/28391#issuecomment-626104918







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28391: [SPARK-31593][SS] Remove unnecessary streaming query progress update

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28391:
URL: https://github.com/apache/spark/pull/28391#issuecomment-626104974







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28391: [SPARK-31593][SS] Remove unnecessary streaming query progress update

2020-05-08 Thread GitBox


SparkQA commented on pull request #28391:
URL: https://github.com/apache/spark/pull/28391#issuecomment-626104807


   **[Test build #122460 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122460/testReport)**
 for PR 28391 at commit 
[`4a55b25`](https://github.com/apache/spark/commit/4a55b25b76066e4fac009479fa59a67305f81440).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28463:
URL: https://github.com/apache/spark/pull/28463#issuecomment-626103293







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28463:
URL: https://github.com/apache/spark/pull/28463#issuecomment-626103293







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #28463:
URL: https://github.com/apache/spark/pull/28463#issuecomment-626086408


   **[Test build #122458 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122458/testReport)**
 for PR 28463 at commit 
[`978e60e`](https://github.com/apache/spark/commit/978e60e171e35b01ee166e00c4f63da3db877aad).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


SparkQA commented on pull request #28463:
URL: https://github.com/apache/spark/pull/28463#issuecomment-626103105


   **[Test build #122458 has 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122458/testReport)**
 for PR 28463 at commit 
[`978e60e`](https://github.com/apache/spark/commit/978e60e171e35b01ee166e00c4f63da3db877aad).
* This patch passes all tests.
* This patch merges cleanly.
* This patch adds the following public classes _(experimental)_:
 * `//   starting closure (in class T)`
 * `// we need to track calls from \"inner closure\" to outer classes 
relative to it (class T, A, B)`
 * `logDebug(s\"found inner class $ownerExternalName\")`



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626102197


   Test FAILed.
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122459/
   Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626102192


   Merged build finished. Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626087389


   **[Test build #122459 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122459/testReport)**
 for PR 28482 at commit 
[`a07b9d0`](https://github.com/apache/spark/commit/a07b9d0edf25fefc8b2bfce4b38c730f97fce2b5).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626102192







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626102092


   **[Test build #122459 has 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122459/testReport)**
 for PR 28482 at commit 
[`a07b9d0`](https://github.com/apache/spark/commit/a07b9d0edf25fefc8b2bfce4b38c730f97fce2b5).
* This patch **fails Spark unit tests**.
* This patch merges cleanly.
* This patch adds no public classes.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] Ngone51 edited a comment on pull request #26440: [SPARK-20628][CORE][K8S] Start to improve Spark decommissioning & preemption support

2020-05-08 Thread GitBox


Ngone51 edited a comment on pull request #26440:
URL: https://github.com/apache/spark/pull/26440#issuecomment-626088865


   thanks @holdenk . It was me trying to understand the whole story. I can 
image how decommission performs in Standalone now if the signal is somehow 
controlled manually.
   
   (At the beginning, I was thinking if SIGPWR is from hard-ware failure, then 
no one could escape and even impossible to do decommission.)



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] Ngone51 commented on pull request #26440: [SPARK-20628][CORE][K8S] Start to improve Spark decommissioning & preemption support

2020-05-08 Thread GitBox


Ngone51 commented on pull request #26440:
URL: https://github.com/apache/spark/pull/26440#issuecomment-626088865


   thanks @holdenk . It was me trying to get understand the whole story. I can 
image how decommission performs in Standalone now if the signal is somehow 
controlled manually.
   
   (At the beginning, I was thinking if SIGPWR is from hard-ware failure, then 
no one could escape and even impossible to do decommission.)



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626087577







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626087577







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626087389


   **[Test build #122459 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122459/testReport)**
 for PR 28482 at commit 
[`a07b9d0`](https://github.com/apache/spark/commit/a07b9d0edf25fefc8b2bfce4b38c730f97fce2b5).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] rednaxelafx commented on a change in pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


rednaxelafx commented on a change in pull request #28463:
URL: https://github.com/apache/spark/pull/28463#discussion_r422440085



##
File path: core/src/main/scala/org/apache/spark/util/ClosureCleaner.scala
##
@@ -414,6 +434,296 @@ private[spark] object ClosureCleaner extends Logging {
   }
 }
 
+private[spark] object IndylambdaScalaClosures extends Logging {
+  // internal name of java.lang.invoke.LambdaMetafactory
+  val LambdaMetafactoryClassName = "java/lang/invoke/LambdaMetafactory"
+  // the method that Scala indylambda use for bootstrap method
+  val LambdaMetafactoryMethodName = "altMetafactory"
+  val LambdaMetafactoryMethodDesc = "(Ljava/lang/invoke/MethodHandles$Lookup;" 
+
+"Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)" +
+"Ljava/lang/invoke/CallSite;"
+
+  /**
+   * Check if the given reference is a indylambda style Scala closure.
+   * If so (e.g. for Scala 2.12+ closures), return a non-empty serialization 
proxy
+   * (SerializedLambda) of the closure;
+   * otherwise (e.g. for Scala 2.11 closures) return None.
+   *
+   * @param maybeClosure the closure to check.
+   */
+  def getSerializationProxy(maybeClosure: AnyRef): Option[SerializedLambda] = {
+def isClosureCandidate(cls: Class[_]): Boolean = {
+  // TODO: maybe lift this restriction to support other functional 
interfaces in the future
+  val implementedInterfaces = ClassUtils.getAllInterfaces(cls).asScala
+  implementedInterfaces.exists(_.getName.startsWith("scala.Function"))
+}
+
+maybeClosure.getClass match {
+  // shortcut the fast check:
+  // 1. indylambda closure classes are generated by Java's 
LambdaMetafactory, and they're
+  //always synthetic.
+  // 2. We only care about Serializable closures, so let's check that as 
well
+  case c if !c.isSynthetic || !maybeClosure.isInstanceOf[Serializable] => 
None
+
+  case c if isClosureCandidate(c) =>
+try {
+  Option(inspect(maybeClosure)).filter(isIndylambdaScalaClosure)
+} catch {
+  case e: Exception =>
+logDebug("The given reference is not an indylambda Scala 
closure.", e)
+None
+}
+
+  case _ => None
+}
+  }
+
+  def isIndylambdaScalaClosure(lambdaProxy: SerializedLambda): Boolean = {
+lambdaProxy.getImplMethodKind == MethodHandleInfo.REF_invokeStatic &&
+  lambdaProxy.getImplMethodName.contains("$anonfun$")
+  }
+
+  def inspect(closure: AnyRef): SerializedLambda = {
+val writeReplace = closure.getClass.getDeclaredMethod("writeReplace")
+writeReplace.setAccessible(true)
+writeReplace.invoke(closure).asInstanceOf[SerializedLambda]
+  }
+
+  /**
+   * Check if the handle represents the LambdaMetafactory that indylambda 
Scala closures
+   * use for creating the lambda class and getting a closure instance.
+   */
+  def isLambdaMetafactory(bsmHandle: Handle): Boolean = {
+bsmHandle.getOwner == LambdaMetafactoryClassName &&
+  bsmHandle.getName == LambdaMetafactoryMethodName &&
+  bsmHandle.getDesc == LambdaMetafactoryMethodDesc
+  }
+
+  /**
+   * Check if the handle represents a target method that is:
+   * - a STATIC method that implements a Scala lambda body in the indylambda 
style
+   * - captures the enclosing `this`, i.e. the first argument is a reference 
to the same type as
+   *   the owning class.
+   * Returns true if both criteria above are met.
+   */
+  def isLambdaBodyCapturingOuter(handle: Handle, ownerInternalName: String): 
Boolean = {
+handle.getTag == H_INVOKESTATIC &&
+  handle.getName.contains("$anonfun$") &&
+  handle.getOwner == ownerInternalName &&
+  handle.getDesc.startsWith(s"(L$ownerInternalName;")
+  }
+
+  /**
+   * Check if the callee of a call site is a inner class constructor.
+   * - A constructor has to be invoked via INVOKESPECIAL
+   * - A constructor's internal name is "init" and the return type is 
"V" (void)
+   * - An inner class' first argument in the signature has to be a reference 
to the
+   *   enclosing "this", aka `$outer` in Scala.
+   */
+  def isInnerClassCtorCapturingOuter(
+  op: Int, owner: String, name: String, desc: String, callerInternalName: 
String): Boolean = {
+op == INVOKESPECIAL && name == "" && 
desc.startsWith(s"(L$callerInternalName;")
+  }
+
+  /**
+   * Scans an indylambda Scala closure, along with its lexically nested 
closures, and populate
+   * the accessed fields info on which fields on the outer object are accessed.
+   *
+   * This is equivalent to getInnerClosureClasses() + InnerClosureFinder + 
FieldAccessFinder fused
+   * into one for processing indylambda closures. The traversal order along 
the call graph is the
+   * same for all three combined, so they can be fused together easily while 
maintaining the same
+   * ordering as the existing implementation.
+   *
+   * Precondition: this function expects the `accessedFields` to be populated 
with all known
+   *  

[GitHub] [spark] rednaxelafx commented on a change in pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


rednaxelafx commented on a change in pull request #28463:
URL: https://github.com/apache/spark/pull/28463#discussion_r422440034



##
File path: core/src/main/scala/org/apache/spark/util/ClosureCleaner.scala
##
@@ -414,6 +434,296 @@ private[spark] object ClosureCleaner extends Logging {
   }
 }
 
+private[spark] object IndylambdaScalaClosures extends Logging {
+  // internal name of java.lang.invoke.LambdaMetafactory
+  val LambdaMetafactoryClassName = "java/lang/invoke/LambdaMetafactory"
+  // the method that Scala indylambda use for bootstrap method
+  val LambdaMetafactoryMethodName = "altMetafactory"
+  val LambdaMetafactoryMethodDesc = "(Ljava/lang/invoke/MethodHandles$Lookup;" 
+
+"Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)" +
+"Ljava/lang/invoke/CallSite;"
+
+  /**
+   * Check if the given reference is a indylambda style Scala closure.
+   * If so (e.g. for Scala 2.12+ closures), return a non-empty serialization 
proxy
+   * (SerializedLambda) of the closure;
+   * otherwise (e.g. for Scala 2.11 closures) return None.
+   *
+   * @param maybeClosure the closure to check.
+   */
+  def getSerializationProxy(maybeClosure: AnyRef): Option[SerializedLambda] = {
+def isClosureCandidate(cls: Class[_]): Boolean = {
+  // TODO: maybe lift this restriction to support other functional 
interfaces in the future
+  val implementedInterfaces = ClassUtils.getAllInterfaces(cls).asScala
+  implementedInterfaces.exists(_.getName.startsWith("scala.Function"))
+}
+
+maybeClosure.getClass match {
+  // shortcut the fast check:
+  // 1. indylambda closure classes are generated by Java's 
LambdaMetafactory, and they're
+  //always synthetic.
+  // 2. We only care about Serializable closures, so let's check that as 
well
+  case c if !c.isSynthetic || !maybeClosure.isInstanceOf[Serializable] => 
None
+
+  case c if isClosureCandidate(c) =>
+try {
+  Option(inspect(maybeClosure)).filter(isIndylambdaScalaClosure)
+} catch {
+  case e: Exception =>
+logDebug("The given reference is not an indylambda Scala 
closure.", e)
+None
+}
+
+  case _ => None
+}
+  }
+
+  def isIndylambdaScalaClosure(lambdaProxy: SerializedLambda): Boolean = {
+lambdaProxy.getImplMethodKind == MethodHandleInfo.REF_invokeStatic &&
+  lambdaProxy.getImplMethodName.contains("$anonfun$")
+  }
+
+  def inspect(closure: AnyRef): SerializedLambda = {
+val writeReplace = closure.getClass.getDeclaredMethod("writeReplace")
+writeReplace.setAccessible(true)
+writeReplace.invoke(closure).asInstanceOf[SerializedLambda]
+  }
+
+  /**
+   * Check if the handle represents the LambdaMetafactory that indylambda 
Scala closures
+   * use for creating the lambda class and getting a closure instance.
+   */
+  def isLambdaMetafactory(bsmHandle: Handle): Boolean = {
+bsmHandle.getOwner == LambdaMetafactoryClassName &&
+  bsmHandle.getName == LambdaMetafactoryMethodName &&
+  bsmHandle.getDesc == LambdaMetafactoryMethodDesc
+  }
+
+  /**
+   * Check if the handle represents a target method that is:
+   * - a STATIC method that implements a Scala lambda body in the indylambda 
style
+   * - captures the enclosing `this`, i.e. the first argument is a reference 
to the same type as
+   *   the owning class.
+   * Returns true if both criteria above are met.
+   */
+  def isLambdaBodyCapturingOuter(handle: Handle, ownerInternalName: String): 
Boolean = {
+handle.getTag == H_INVOKESTATIC &&
+  handle.getName.contains("$anonfun$") &&
+  handle.getOwner == ownerInternalName &&
+  handle.getDesc.startsWith(s"(L$ownerInternalName;")
+  }
+
+  /**
+   * Check if the callee of a call site is a inner class constructor.
+   * - A constructor has to be invoked via INVOKESPECIAL
+   * - A constructor's internal name is "init" and the return type is 
"V" (void)
+   * - An inner class' first argument in the signature has to be a reference 
to the
+   *   enclosing "this", aka `$outer` in Scala.
+   */
+  def isInnerClassCtorCapturingOuter(
+  op: Int, owner: String, name: String, desc: String, callerInternalName: 
String): Boolean = {
+op == INVOKESPECIAL && name == "" && 
desc.startsWith(s"(L$callerInternalName;")
+  }
+
+  /**
+   * Scans an indylambda Scala closure, along with its lexically nested 
closures, and populate
+   * the accessed fields info on which fields on the outer object are accessed.
+   *
+   * This is equivalent to getInnerClosureClasses() + InnerClosureFinder + 
FieldAccessFinder fused
+   * into one for processing indylambda closures. The traversal order along 
the call graph is the
+   * same for all three combined, so they can be fused together easily while 
maintaining the same
+   * ordering as the existing implementation.
+   *
+   * Precondition: this function expects the `accessedFields` to be populated 
with all known
+   *  

[GitHub] [spark] AmplabJenkins commented on pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28463:
URL: https://github.com/apache/spark/pull/28463#issuecomment-626086585


   Test PASSed.
   Refer to this link for build results (access rights to CI server needed): 
   
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/27119/
   Test PASSed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28463:
URL: https://github.com/apache/spark/pull/28463#issuecomment-626086580







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28463:
URL: https://github.com/apache/spark/pull/28463#issuecomment-626086580


   Merged build finished. Test PASSed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


SparkQA commented on pull request #28463:
URL: https://github.com/apache/spark/pull/28463#issuecomment-626086408


   **[Test build #122458 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122458/testReport)**
 for PR 28463 at commit 
[`978e60e`](https://github.com/apache/spark/commit/978e60e171e35b01ee166e00c4f63da3db877aad).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AngersZhuuuu commented on pull request #28107: [SPARK-31334][SQL] Don't ResolveReference/ResolveMissingReference when Filter condition with aggregate expression

2020-05-08 Thread GitBox


AngersZh commented on pull request #28107:
URL: https://github.com/apache/spark/pull/28107#issuecomment-626084066


   @cloud-fan 
   https://github.com/apache/spark/pull/28294 can fix this issue. Close this pr.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] rednaxelafx commented on a change in pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


rednaxelafx commented on a change in pull request #28463:
URL: https://github.com/apache/spark/pull/28463#discussion_r422434842



##
File path: core/src/main/scala/org/apache/spark/util/ClosureCleaner.scala
##
@@ -414,6 +434,296 @@ private[spark] object ClosureCleaner extends Logging {
   }
 }
 
+private[spark] object IndylambdaScalaClosures extends Logging {
+  // internal name of java.lang.invoke.LambdaMetafactory
+  val LambdaMetafactoryClassName = "java/lang/invoke/LambdaMetafactory"
+  // the method that Scala indylambda use for bootstrap method
+  val LambdaMetafactoryMethodName = "altMetafactory"
+  val LambdaMetafactoryMethodDesc = "(Ljava/lang/invoke/MethodHandles$Lookup;" 
+
+"Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)" +
+"Ljava/lang/invoke/CallSite;"
+
+  /**
+   * Check if the given reference is a indylambda style Scala closure.
+   * If so (e.g. for Scala 2.12+ closures), return a non-empty serialization 
proxy
+   * (SerializedLambda) of the closure;
+   * otherwise (e.g. for Scala 2.11 closures) return None.
+   *
+   * @param maybeClosure the closure to check.
+   */
+  def getSerializationProxy(maybeClosure: AnyRef): Option[SerializedLambda] = {
+def isClosureCandidate(cls: Class[_]): Boolean = {
+  // TODO: maybe lift this restriction to support other functional 
interfaces in the future
+  val implementedInterfaces = ClassUtils.getAllInterfaces(cls).asScala
+  implementedInterfaces.exists(_.getName.startsWith("scala.Function"))
+}
+
+maybeClosure.getClass match {
+  // shortcut the fast check:
+  // 1. indylambda closure classes are generated by Java's 
LambdaMetafactory, and they're
+  //always synthetic.
+  // 2. We only care about Serializable closures, so let's check that as 
well
+  case c if !c.isSynthetic || !maybeClosure.isInstanceOf[Serializable] => 
None
+
+  case c if isClosureCandidate(c) =>
+try {
+  Option(inspect(maybeClosure)).filter(isIndylambdaScalaClosure)
+} catch {
+  case e: Exception =>
+logDebug("The given reference is not an indylambda Scala 
closure.", e)
+None
+}
+
+  case _ => None
+}
+  }
+
+  def isIndylambdaScalaClosure(lambdaProxy: SerializedLambda): Boolean = {
+lambdaProxy.getImplMethodKind == MethodHandleInfo.REF_invokeStatic &&
+  lambdaProxy.getImplMethodName.contains("$anonfun$")
+  }
+
+  def inspect(closure: AnyRef): SerializedLambda = {
+val writeReplace = closure.getClass.getDeclaredMethod("writeReplace")
+writeReplace.setAccessible(true)
+writeReplace.invoke(closure).asInstanceOf[SerializedLambda]
+  }
+
+  /**
+   * Check if the handle represents the LambdaMetafactory that indylambda 
Scala closures
+   * use for creating the lambda class and getting a closure instance.
+   */
+  def isLambdaMetafactory(bsmHandle: Handle): Boolean = {
+bsmHandle.getOwner == LambdaMetafactoryClassName &&
+  bsmHandle.getName == LambdaMetafactoryMethodName &&
+  bsmHandle.getDesc == LambdaMetafactoryMethodDesc
+  }
+
+  /**
+   * Check if the handle represents a target method that is:
+   * - a STATIC method that implements a Scala lambda body in the indylambda 
style
+   * - captures the enclosing `this`, i.e. the first argument is a reference 
to the same type as
+   *   the owning class.
+   * Returns true if both criteria above are met.
+   */
+  def isLambdaBodyCapturingOuter(handle: Handle, ownerInternalName: String): 
Boolean = {
+handle.getTag == H_INVOKESTATIC &&
+  handle.getName.contains("$anonfun$") &&
+  handle.getOwner == ownerInternalName &&
+  handle.getDesc.startsWith(s"(L$ownerInternalName;")
+  }
+
+  /**
+   * Check if the callee of a call site is a inner class constructor.
+   * - A constructor has to be invoked via INVOKESPECIAL
+   * - A constructor's internal name is "init" and the return type is 
"V" (void)
+   * - An inner class' first argument in the signature has to be a reference 
to the
+   *   enclosing "this", aka `$outer` in Scala.
+   */
+  def isInnerClassCtorCapturingOuter(
+  op: Int, owner: String, name: String, desc: String, callerInternalName: 
String): Boolean = {
+op == INVOKESPECIAL && name == "" && 
desc.startsWith(s"(L$callerInternalName;")
+  }
+
+  /**
+   * Scans an indylambda Scala closure, along with its lexically nested 
closures, and populate
+   * the accessed fields info on which fields on the outer object are accessed.
+   *
+   * This is equivalent to getInnerClosureClasses() + InnerClosureFinder + 
FieldAccessFinder fused
+   * into one for processing indylambda closures. The traversal order along 
the call graph is the
+   * same for all three combined, so they can be fused together easily while 
maintaining the same
+   * ordering as the existing implementation.
+   *
+   * Precondition: this function expects the `accessedFields` to be populated 
with all known
+   *  

[GitHub] [spark] rednaxelafx commented on a change in pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


rednaxelafx commented on a change in pull request #28463:
URL: https://github.com/apache/spark/pull/28463#discussion_r422434304



##
File path: core/src/main/scala/org/apache/spark/util/ClosureCleaner.scala
##
@@ -414,6 +434,296 @@ private[spark] object ClosureCleaner extends Logging {
   }
 }
 
+private[spark] object IndylambdaScalaClosures extends Logging {
+  // internal name of java.lang.invoke.LambdaMetafactory
+  val LambdaMetafactoryClassName = "java/lang/invoke/LambdaMetafactory"
+  // the method that Scala indylambda use for bootstrap method
+  val LambdaMetafactoryMethodName = "altMetafactory"
+  val LambdaMetafactoryMethodDesc = "(Ljava/lang/invoke/MethodHandles$Lookup;" 
+
+"Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)" +
+"Ljava/lang/invoke/CallSite;"
+
+  /**
+   * Check if the given reference is a indylambda style Scala closure.
+   * If so (e.g. for Scala 2.12+ closures), return a non-empty serialization 
proxy
+   * (SerializedLambda) of the closure;
+   * otherwise (e.g. for Scala 2.11 closures) return None.
+   *
+   * @param maybeClosure the closure to check.
+   */
+  def getSerializationProxy(maybeClosure: AnyRef): Option[SerializedLambda] = {
+def isClosureCandidate(cls: Class[_]): Boolean = {
+  // TODO: maybe lift this restriction to support other functional 
interfaces in the future
+  val implementedInterfaces = ClassUtils.getAllInterfaces(cls).asScala
+  implementedInterfaces.exists(_.getName.startsWith("scala.Function"))
+}
+
+maybeClosure.getClass match {
+  // shortcut the fast check:
+  // 1. indylambda closure classes are generated by Java's 
LambdaMetafactory, and they're
+  //always synthetic.
+  // 2. We only care about Serializable closures, so let's check that as 
well
+  case c if !c.isSynthetic || !maybeClosure.isInstanceOf[Serializable] => 
None
+
+  case c if isClosureCandidate(c) =>
+try {
+  Option(inspect(maybeClosure)).filter(isIndylambdaScalaClosure)
+} catch {
+  case e: Exception =>
+logDebug("The given reference is not an indylambda Scala 
closure.", e)
+None
+}
+
+  case _ => None
+}
+  }
+
+  def isIndylambdaScalaClosure(lambdaProxy: SerializedLambda): Boolean = {
+lambdaProxy.getImplMethodKind == MethodHandleInfo.REF_invokeStatic &&
+  lambdaProxy.getImplMethodName.contains("$anonfun$")
+  }
+
+  def inspect(closure: AnyRef): SerializedLambda = {
+val writeReplace = closure.getClass.getDeclaredMethod("writeReplace")
+writeReplace.setAccessible(true)
+writeReplace.invoke(closure).asInstanceOf[SerializedLambda]
+  }
+
+  /**
+   * Check if the handle represents the LambdaMetafactory that indylambda 
Scala closures
+   * use for creating the lambda class and getting a closure instance.
+   */
+  def isLambdaMetafactory(bsmHandle: Handle): Boolean = {
+bsmHandle.getOwner == LambdaMetafactoryClassName &&
+  bsmHandle.getName == LambdaMetafactoryMethodName &&
+  bsmHandle.getDesc == LambdaMetafactoryMethodDesc
+  }
+
+  /**
+   * Check if the handle represents a target method that is:
+   * - a STATIC method that implements a Scala lambda body in the indylambda 
style
+   * - captures the enclosing `this`, i.e. the first argument is a reference 
to the same type as
+   *   the owning class.
+   * Returns true if both criteria above are met.
+   */
+  def isLambdaBodyCapturingOuter(handle: Handle, ownerInternalName: String): 
Boolean = {
+handle.getTag == H_INVOKESTATIC &&
+  handle.getName.contains("$anonfun$") &&
+  handle.getOwner == ownerInternalName &&
+  handle.getDesc.startsWith(s"(L$ownerInternalName;")
+  }
+
+  /**
+   * Check if the callee of a call site is a inner class constructor.
+   * - A constructor has to be invoked via INVOKESPECIAL
+   * - A constructor's internal name is "init" and the return type is 
"V" (void)
+   * - An inner class' first argument in the signature has to be a reference 
to the
+   *   enclosing "this", aka `$outer` in Scala.
+   */
+  def isInnerClassCtorCapturingOuter(
+  op: Int, owner: String, name: String, desc: String, callerInternalName: 
String): Boolean = {
+op == INVOKESPECIAL && name == "" && 
desc.startsWith(s"(L$callerInternalName;")
+  }
+
+  /**
+   * Scans an indylambda Scala closure, along with its lexically nested 
closures, and populate
+   * the accessed fields info on which fields on the outer object are accessed.
+   *
+   * This is equivalent to getInnerClosureClasses() + InnerClosureFinder + 
FieldAccessFinder fused
+   * into one for processing indylambda closures. The traversal order along 
the call graph is the
+   * same for all three combined, so they can be fused together easily while 
maintaining the same
+   * ordering as the existing implementation.
+   *
+   * Precondition: this function expects the `accessedFields` to be populated 
with all known
+   *  

[GitHub] [spark] maropu commented on a change in pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


maropu commented on a change in pull request #28463:
URL: https://github.com/apache/spark/pull/28463#discussion_r422433941



##
File path: core/src/main/scala/org/apache/spark/util/ClosureCleaner.scala
##
@@ -414,6 +434,296 @@ private[spark] object ClosureCleaner extends Logging {
   }
 }
 
+private[spark] object IndylambdaScalaClosures extends Logging {
+  // internal name of java.lang.invoke.LambdaMetafactory
+  val LambdaMetafactoryClassName = "java/lang/invoke/LambdaMetafactory"
+  // the method that Scala indylambda use for bootstrap method
+  val LambdaMetafactoryMethodName = "altMetafactory"
+  val LambdaMetafactoryMethodDesc = "(Ljava/lang/invoke/MethodHandles$Lookup;" 
+
+"Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)" +
+"Ljava/lang/invoke/CallSite;"
+
+  /**
+   * Check if the given reference is a indylambda style Scala closure.
+   * If so (e.g. for Scala 2.12+ closures), return a non-empty serialization 
proxy
+   * (SerializedLambda) of the closure;
+   * otherwise (e.g. for Scala 2.11 closures) return None.
+   *
+   * @param maybeClosure the closure to check.
+   */
+  def getSerializationProxy(maybeClosure: AnyRef): Option[SerializedLambda] = {
+def isClosureCandidate(cls: Class[_]): Boolean = {
+  // TODO: maybe lift this restriction to support other functional 
interfaces in the future
+  val implementedInterfaces = ClassUtils.getAllInterfaces(cls).asScala
+  implementedInterfaces.exists(_.getName.startsWith("scala.Function"))
+}
+
+maybeClosure.getClass match {
+  // shortcut the fast check:
+  // 1. indylambda closure classes are generated by Java's 
LambdaMetafactory, and they're
+  //always synthetic.
+  // 2. We only care about Serializable closures, so let's check that as 
well
+  case c if !c.isSynthetic || !maybeClosure.isInstanceOf[Serializable] => 
None
+
+  case c if isClosureCandidate(c) =>
+try {
+  Option(inspect(maybeClosure)).filter(isIndylambdaScalaClosure)
+} catch {
+  case e: Exception =>
+logDebug("The given reference is not an indylambda Scala 
closure.", e)
+None
+}
+
+  case _ => None
+}
+  }
+
+  def isIndylambdaScalaClosure(lambdaProxy: SerializedLambda): Boolean = {
+lambdaProxy.getImplMethodKind == MethodHandleInfo.REF_invokeStatic &&
+  lambdaProxy.getImplMethodName.contains("$anonfun$")
+  }
+
+  def inspect(closure: AnyRef): SerializedLambda = {
+val writeReplace = closure.getClass.getDeclaredMethod("writeReplace")
+writeReplace.setAccessible(true)
+writeReplace.invoke(closure).asInstanceOf[SerializedLambda]
+  }
+
+  /**
+   * Check if the handle represents the LambdaMetafactory that indylambda 
Scala closures
+   * use for creating the lambda class and getting a closure instance.
+   */
+  def isLambdaMetafactory(bsmHandle: Handle): Boolean = {
+bsmHandle.getOwner == LambdaMetafactoryClassName &&
+  bsmHandle.getName == LambdaMetafactoryMethodName &&
+  bsmHandle.getDesc == LambdaMetafactoryMethodDesc
+  }
+
+  /**
+   * Check if the handle represents a target method that is:
+   * - a STATIC method that implements a Scala lambda body in the indylambda 
style
+   * - captures the enclosing `this`, i.e. the first argument is a reference 
to the same type as
+   *   the owning class.
+   * Returns true if both criteria above are met.
+   */
+  def isLambdaBodyCapturingOuter(handle: Handle, ownerInternalName: String): 
Boolean = {
+handle.getTag == H_INVOKESTATIC &&
+  handle.getName.contains("$anonfun$") &&
+  handle.getOwner == ownerInternalName &&
+  handle.getDesc.startsWith(s"(L$ownerInternalName;")
+  }
+
+  /**
+   * Check if the callee of a call site is a inner class constructor.
+   * - A constructor has to be invoked via INVOKESPECIAL
+   * - A constructor's internal name is "init" and the return type is 
"V" (void)
+   * - An inner class' first argument in the signature has to be a reference 
to the
+   *   enclosing "this", aka `$outer` in Scala.
+   */
+  def isInnerClassCtorCapturingOuter(
+  op: Int, owner: String, name: String, desc: String, callerInternalName: 
String): Boolean = {
+op == INVOKESPECIAL && name == "" && 
desc.startsWith(s"(L$callerInternalName;")
+  }
+
+  /**
+   * Scans an indylambda Scala closure, along with its lexically nested 
closures, and populate
+   * the accessed fields info on which fields on the outer object are accessed.
+   *
+   * This is equivalent to getInnerClosureClasses() + InnerClosureFinder + 
FieldAccessFinder fused
+   * into one for processing indylambda closures. The traversal order along 
the call graph is the
+   * same for all three combined, so they can be fused together easily while 
maintaining the same
+   * ordering as the existing implementation.
+   *
+   * Precondition: this function expects the `accessedFields` to be populated 
with all known
+   *   

[GitHub] [spark] AmplabJenkins removed a comment on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626078292


   Test PASSed.
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122456/
   Test PASSed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626078404


   Test FAILed.
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122453/
   Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626078404







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626055662


   **[Test build #122453 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122453/testReport)**
 for PR 28482 at commit 
[`e12a992`](https://github.com/apache/spark/commit/e12a9926efe2a86ec33dc1f2c8c3ac4516995f0a).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626078289


   Merged build finished. Test PASSed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626078292







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626078271


   **[Test build #122453 has 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122453/testReport)**
 for PR 28482 at commit 
[`e12a992`](https://github.com/apache/spark/commit/e12a9926efe2a86ec33dc1f2c8c3ac4516995f0a).
* This patch **fails Spark unit tests**.
* This patch merges cleanly.
* This patch adds no public classes.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] rednaxelafx commented on a change in pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


rednaxelafx commented on a change in pull request #28463:
URL: https://github.com/apache/spark/pull/28463#discussion_r422432843



##
File path: core/src/main/scala/org/apache/spark/util/ClosureCleaner.scala
##
@@ -414,6 +434,296 @@ private[spark] object ClosureCleaner extends Logging {
   }
 }
 
+private[spark] object IndylambdaScalaClosures extends Logging {
+  // internal name of java.lang.invoke.LambdaMetafactory
+  val LambdaMetafactoryClassName = "java/lang/invoke/LambdaMetafactory"
+  // the method that Scala indylambda use for bootstrap method
+  val LambdaMetafactoryMethodName = "altMetafactory"
+  val LambdaMetafactoryMethodDesc = "(Ljava/lang/invoke/MethodHandles$Lookup;" 
+
+"Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)" +
+"Ljava/lang/invoke/CallSite;"
+
+  /**
+   * Check if the given reference is a indylambda style Scala closure.
+   * If so (e.g. for Scala 2.12+ closures), return a non-empty serialization 
proxy
+   * (SerializedLambda) of the closure;
+   * otherwise (e.g. for Scala 2.11 closures) return None.
+   *
+   * @param maybeClosure the closure to check.
+   */
+  def getSerializationProxy(maybeClosure: AnyRef): Option[SerializedLambda] = {
+def isClosureCandidate(cls: Class[_]): Boolean = {
+  // TODO: maybe lift this restriction to support other functional 
interfaces in the future
+  val implementedInterfaces = ClassUtils.getAllInterfaces(cls).asScala
+  implementedInterfaces.exists(_.getName.startsWith("scala.Function"))
+}
+
+maybeClosure.getClass match {
+  // shortcut the fast check:
+  // 1. indylambda closure classes are generated by Java's 
LambdaMetafactory, and they're
+  //always synthetic.
+  // 2. We only care about Serializable closures, so let's check that as 
well
+  case c if !c.isSynthetic || !maybeClosure.isInstanceOf[Serializable] => 
None
+
+  case c if isClosureCandidate(c) =>
+try {
+  Option(inspect(maybeClosure)).filter(isIndylambdaScalaClosure)
+} catch {
+  case e: Exception =>
+logDebug("The given reference is not an indylambda Scala 
closure.", e)
+None
+}
+
+  case _ => None
+}
+  }
+
+  def isIndylambdaScalaClosure(lambdaProxy: SerializedLambda): Boolean = {
+lambdaProxy.getImplMethodKind == MethodHandleInfo.REF_invokeStatic &&
+  lambdaProxy.getImplMethodName.contains("$anonfun$")
+  }
+
+  def inspect(closure: AnyRef): SerializedLambda = {
+val writeReplace = closure.getClass.getDeclaredMethod("writeReplace")
+writeReplace.setAccessible(true)
+writeReplace.invoke(closure).asInstanceOf[SerializedLambda]
+  }
+
+  /**
+   * Check if the handle represents the LambdaMetafactory that indylambda 
Scala closures
+   * use for creating the lambda class and getting a closure instance.
+   */
+  def isLambdaMetafactory(bsmHandle: Handle): Boolean = {
+bsmHandle.getOwner == LambdaMetafactoryClassName &&
+  bsmHandle.getName == LambdaMetafactoryMethodName &&
+  bsmHandle.getDesc == LambdaMetafactoryMethodDesc
+  }
+
+  /**
+   * Check if the handle represents a target method that is:
+   * - a STATIC method that implements a Scala lambda body in the indylambda 
style
+   * - captures the enclosing `this`, i.e. the first argument is a reference 
to the same type as
+   *   the owning class.
+   * Returns true if both criteria above are met.
+   */
+  def isLambdaBodyCapturingOuter(handle: Handle, ownerInternalName: String): 
Boolean = {
+handle.getTag == H_INVOKESTATIC &&
+  handle.getName.contains("$anonfun$") &&
+  handle.getOwner == ownerInternalName &&
+  handle.getDesc.startsWith(s"(L$ownerInternalName;")
+  }
+
+  /**
+   * Check if the callee of a call site is a inner class constructor.
+   * - A constructor has to be invoked via INVOKESPECIAL
+   * - A constructor's internal name is "init" and the return type is 
"V" (void)
+   * - An inner class' first argument in the signature has to be a reference 
to the
+   *   enclosing "this", aka `$outer` in Scala.
+   */
+  def isInnerClassCtorCapturingOuter(
+  op: Int, owner: String, name: String, desc: String, callerInternalName: 
String): Boolean = {
+op == INVOKESPECIAL && name == "" && 
desc.startsWith(s"(L$callerInternalName;")
+  }
+
+  /**
+   * Scans an indylambda Scala closure, along with its lexically nested 
closures, and populate
+   * the accessed fields info on which fields on the outer object are accessed.
+   *
+   * This is equivalent to getInnerClosureClasses() + InnerClosureFinder + 
FieldAccessFinder fused
+   * into one for processing indylambda closures. The traversal order along 
the call graph is the
+   * same for all three combined, so they can be fused together easily while 
maintaining the same
+   * ordering as the existing implementation.
+   *
+   * Precondition: this function expects the `accessedFields` to be populated 
with all known
+   *  

[GitHub] [spark] WeichenXu123 commented on pull request #28413: [SPARK-31610][ML] Expose hashFunc property in HashingTF

2020-05-08 Thread GitBox


WeichenXu123 commented on pull request #28413:
URL: https://github.com/apache/spark/pull/28413#issuecomment-626077923


   @srowen 
   I thought again. Current implementation, if we use spark 3.0 to load a spark 
2.0 saved HashingTF transformer, and then save it again, and then load it 
again, the hashing function will be changed. It should be treated as a bug.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28208:
URL: https://github.com/apache/spark/pull/28208#issuecomment-626075953







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28208:
URL: https://github.com/apache/spark/pull/28208#issuecomment-626075953







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


SparkQA commented on pull request #28208:
URL: https://github.com/apache/spark/pull/28208#issuecomment-626075775


   **[Test build #122457 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122457/testReport)**
 for PR 28208 at commit 
[`c0660b1`](https://github.com/apache/spark/commit/c0660b124b0a14cc0fd8ef4d602a471894c4304d).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626074696







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] manuzhang commented on pull request #28416: [SPARK-31611][YARN] Register NettyMemoryMetrics into Node Manager's metrics system

2020-05-08 Thread GitBox


manuzhang commented on pull request #28416:
URL: https://github.com/apache/spark/pull/28416#issuecomment-626074660


   @dongjoon-hyun thanks for the nice advice. That's unexpected but somehow I 
got the emails mixed up. Thanks.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


SparkQA commented on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626074494


   **[Test build #122456 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122456/testReport)**
 for PR 28483 at commit 
[`bc4cdf6`](https://github.com/apache/spark/commit/bc4cdf6a74ebc8c09c565f1998d6155c6b6631a4).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] erenavsarogullari commented on a change in pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


erenavsarogullari commented on a change in pull request #28208:
URL: https://github.com/apache/spark/pull/28208#discussion_r422429297



##
File path: 
sql/core/src/main/scala/org/apache/spark/sql/execution/ui/SQLAppStatusStore.scala
##
@@ -146,4 +146,6 @@ class SparkPlanGraphNodeWrapper(
 case class SQLPlanMetric(
 name: String,
 accumulatorId: Long,
-metricType: String)
+metricType: String,
+nodeId: Option[Long] = None,

Review comment:
   Both `nodeId: Option[Long] = None` and `nodeName: Option[String] = None` 
were removed from `SQLPlanMetric` and provided both `nodeId` and `nodeName` by 
`sqlStore.planGraph(executionId)` instead.





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] erenavsarogullari commented on a change in pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


erenavsarogullari commented on a change in pull request #28208:
URL: https://github.com/apache/spark/pull/28208#discussion_r422429297



##
File path: 
sql/core/src/main/scala/org/apache/spark/sql/execution/ui/SQLAppStatusStore.scala
##
@@ -146,4 +146,6 @@ class SparkPlanGraphNodeWrapper(
 case class SQLPlanMetric(
 name: String,
 accumulatorId: Long,
-metricType: String)
+metricType: String,
+nodeId: Option[Long] = None,

Review comment:
   Both `nodeId: Option[Long] = None` and `nodeName: Option[String] = None` 
were removed from `SQLPlanMetric` and provided by 
`sqlStore.planGraph(executionId)` instead.





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28208:
URL: https://github.com/apache/spark/pull/28208#issuecomment-626073179


   Merged build finished. Test PASSed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28208: [SPARK-31440][SQL] Improve SQL Rest API

2020-05-08 Thread GitBox


SparkQA commented on pull request #28208:
URL: https://github.com/apache/spark/pull/28208#issuecomment-626073008


   **[Test build #122455 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122455/testReport)**
 for PR 28208 at commit 
[`6e9b55f`](https://github.com/apache/spark/commit/6e9b55f4e2d9d4522d2b3dd4e46e87c49a81fe86).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] maropu commented on a change in pull request #28463: [SPARK-31399][CORE] Support indylambda Scala closure in ClosureCleaner

2020-05-08 Thread GitBox


maropu commented on a change in pull request #28463:
URL: https://github.com/apache/spark/pull/28463#discussion_r422425889



##
File path: core/src/main/scala/org/apache/spark/util/ClosureCleaner.scala
##
@@ -414,6 +434,296 @@ private[spark] object ClosureCleaner extends Logging {
   }
 }
 
+private[spark] object IndylambdaScalaClosures extends Logging {
+  // internal name of java.lang.invoke.LambdaMetafactory
+  val LambdaMetafactoryClassName = "java/lang/invoke/LambdaMetafactory"
+  // the method that Scala indylambda use for bootstrap method
+  val LambdaMetafactoryMethodName = "altMetafactory"
+  val LambdaMetafactoryMethodDesc = "(Ljava/lang/invoke/MethodHandles$Lookup;" 
+
+"Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)" +
+"Ljava/lang/invoke/CallSite;"
+
+  /**
+   * Check if the given reference is a indylambda style Scala closure.
+   * If so (e.g. for Scala 2.12+ closures), return a non-empty serialization 
proxy
+   * (SerializedLambda) of the closure;
+   * otherwise (e.g. for Scala 2.11 closures) return None.
+   *
+   * @param maybeClosure the closure to check.
+   */
+  def getSerializationProxy(maybeClosure: AnyRef): Option[SerializedLambda] = {
+def isClosureCandidate(cls: Class[_]): Boolean = {
+  // TODO: maybe lift this restriction to support other functional 
interfaces in the future
+  val implementedInterfaces = ClassUtils.getAllInterfaces(cls).asScala
+  implementedInterfaces.exists(_.getName.startsWith("scala.Function"))
+}
+
+maybeClosure.getClass match {
+  // shortcut the fast check:
+  // 1. indylambda closure classes are generated by Java's 
LambdaMetafactory, and they're
+  //always synthetic.
+  // 2. We only care about Serializable closures, so let's check that as 
well
+  case c if !c.isSynthetic || !maybeClosure.isInstanceOf[Serializable] => 
None
+
+  case c if isClosureCandidate(c) =>
+try {
+  Option(inspect(maybeClosure)).filter(isIndylambdaScalaClosure)
+} catch {
+  case e: Exception =>
+logDebug("The given reference is not an indylambda Scala 
closure.", e)
+None
+}
+
+  case _ => None
+}
+  }
+
+  def isIndylambdaScalaClosure(lambdaProxy: SerializedLambda): Boolean = {
+lambdaProxy.getImplMethodKind == MethodHandleInfo.REF_invokeStatic &&
+  lambdaProxy.getImplMethodName.contains("$anonfun$")
+  }
+
+  def inspect(closure: AnyRef): SerializedLambda = {
+val writeReplace = closure.getClass.getDeclaredMethod("writeReplace")
+writeReplace.setAccessible(true)
+writeReplace.invoke(closure).asInstanceOf[SerializedLambda]
+  }
+
+  /**
+   * Check if the handle represents the LambdaMetafactory that indylambda 
Scala closures
+   * use for creating the lambda class and getting a closure instance.
+   */
+  def isLambdaMetafactory(bsmHandle: Handle): Boolean = {
+bsmHandle.getOwner == LambdaMetafactoryClassName &&
+  bsmHandle.getName == LambdaMetafactoryMethodName &&
+  bsmHandle.getDesc == LambdaMetafactoryMethodDesc
+  }
+
+  /**
+   * Check if the handle represents a target method that is:
+   * - a STATIC method that implements a Scala lambda body in the indylambda 
style
+   * - captures the enclosing `this`, i.e. the first argument is a reference 
to the same type as
+   *   the owning class.
+   * Returns true if both criteria above are met.
+   */
+  def isLambdaBodyCapturingOuter(handle: Handle, ownerInternalName: String): 
Boolean = {
+handle.getTag == H_INVOKESTATIC &&
+  handle.getName.contains("$anonfun$") &&
+  handle.getOwner == ownerInternalName &&
+  handle.getDesc.startsWith(s"(L$ownerInternalName;")
+  }
+
+  /**
+   * Check if the callee of a call site is a inner class constructor.
+   * - A constructor has to be invoked via INVOKESPECIAL
+   * - A constructor's internal name is "init" and the return type is 
"V" (void)
+   * - An inner class' first argument in the signature has to be a reference 
to the
+   *   enclosing "this", aka `$outer` in Scala.
+   */
+  def isInnerClassCtorCapturingOuter(
+  op: Int, owner: String, name: String, desc: String, callerInternalName: 
String): Boolean = {
+op == INVOKESPECIAL && name == "" && 
desc.startsWith(s"(L$callerInternalName;")
+  }
+
+  /**
+   * Scans an indylambda Scala closure, along with its lexically nested 
closures, and populate
+   * the accessed fields info on which fields on the outer object are accessed.
+   *
+   * This is equivalent to getInnerClosureClasses() + InnerClosureFinder + 
FieldAccessFinder fused
+   * into one for processing indylambda closures. The traversal order along 
the call graph is the
+   * same for all three combined, so they can be fused together easily while 
maintaining the same
+   * ordering as the existing implementation.
+   *
+   * Precondition: this function expects the `accessedFields` to be populated 
with all known
+   *   

[GitHub] [spark] github-actions[bot] commented on pull request #26272: [SPARK-27736][Core][SHUFFLE] Improve handling of FetchFailures caused by ExternalShuffleService losing track of executor registra

2020-05-08 Thread GitBox


github-actions[bot] commented on pull request #26272:
URL: https://github.com/apache/spark/pull/26272#issuecomment-626071188


   We're closing this PR because it hasn't been updated in a while. This isn't 
a judgement on the merit of the PR in any way. It's just a way of keeping the 
PR queue manageable.
   If you'd like to revive this PR, please reopen it and ask a committer to 
remove the Stale tag!



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] github-actions[bot] commented on pull request #27311: [SPARK-27996][WEBUI] Send HTTP redirect using the correct protocol when Spark History server is deployed behind the reverse proxy

2020-05-08 Thread GitBox


github-actions[bot] commented on pull request #27311:
URL: https://github.com/apache/spark/pull/27311#issuecomment-626071177


   We're closing this PR because it hasn't been updated in a while. This isn't 
a judgement on the merit of the PR in any way. It's just a way of keeping the 
PR queue manageable.
   If you'd like to revive this PR, please reopen it and ask a committer to 
remove the Stale tag!



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626063496


   Test FAILed.
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122454/
   Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626056026







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626055662


   **[Test build #122453 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122453/testReport)**
 for PR 28482 at commit 
[`e12a992`](https://github.com/apache/spark/commit/e12a9926efe2a86ec33dc1f2c8c3ac4516995f0a).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] holdenk commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


holdenk commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626054922


   Jenkins retest this please



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] holdenk commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


holdenk commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626054825


   CI issue seems to be fetching certificate problems.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626054239


   Test FAILed.
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122452/
   Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626054233


   Merged build finished. Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626053737


   **[Test build #122452 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122452/testReport)**
 for PR 28482 at commit 
[`e12a992`](https://github.com/apache/spark/commit/e12a9926efe2a86ec33dc1f2c8c3ac4516995f0a).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626054091







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626054233







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626054228


   **[Test build #122452 has 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122452/testReport)**
 for PR 28482 at commit 
[`e12a992`](https://github.com/apache/spark/commit/e12a9926efe2a86ec33dc1f2c8c3ac4516995f0a).
* This patch **fails build dependency tests**.
* This patch merges cleanly.
* This patch adds no public classes.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626054091







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] dongjoon-hyun commented on pull request #28416: [SPARK-31611][YARN] Register NettyMemoryMetrics into Node Manager's metrics system

2020-05-08 Thread GitBox


dongjoon-hyun commented on pull request #28416:
URL: https://github.com/apache/spark/pull/28416#issuecomment-626053671


   BTW, @manuzhang . You can add `tianlzh...@ebay.com` to your GitHub Action 
additional email. Currently, you are using two emails differently. 
   - tianlzhang 
   - manuzhang 
   
   If you add that, your commit will be listed together here.
   - https://github.com/apache/spark/commits?author=manuzhang



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626053737


   **[Test build #122452 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122452/testReport)**
 for PR 28482 at commit 
[`e12a992`](https://github.com/apache/spark/commit/e12a9926efe2a86ec33dc1f2c8c3ac4516995f0a).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] dongjoon-hyun commented on a change in pull request #28416: [SPARK-31611][YARN] Register NettyMemoryMetrics into Node Manager's metrics system

2020-05-08 Thread GitBox


dongjoon-hyun commented on a change in pull request #28416:
URL: https://github.com/apache/spark/pull/28416#discussion_r422409727



##
File path: 
resource-managers/yarn/src/test/scala/org/apache/spark/network/yarn/YarnShuffleServiceSuite.scala
##
@@ -402,7 +402,9 @@ class YarnShuffleServiceSuite extends SparkFunSuite with 
Matchers with BeforeAnd
   "numRegisteredConnections",
   "openBlockRequestLatencyMillis",
   "registeredExecutorsSize",
-  "registerExecutorRequestLatencyMillis"
+  "registerExecutorRequestLatencyMillis",
+  "shuffle-server.usedDirectMemory",
+  "shuffle-server.usedHeapMemory"

Review comment:
   Got it. Thanks.





This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626047430


   Test FAILed.
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122451/
   Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626044299


   **[Test build #122451 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122451/testReport)**
 for PR 28483 at commit 
[`d214117`](https://github.com/apache/spark/commit/d214117ab97bcadadefcc9b6f4ebbf1ff7e1d1b6).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626047422


   Merged build finished. Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


SparkQA commented on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626047354


   **[Test build #122451 has 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122451/testReport)**
 for PR 28483 at commit 
[`d214117`](https://github.com/apache/spark/commit/d214117ab97bcadadefcc9b6f4ebbf1ff7e1d1b6).
* This patch **fails PySpark unit tests**.
* This patch merges cleanly.
* This patch adds no public classes.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626047422







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626044656







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626044656







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28483: [SPARK-31667][ML][PySpark] Python side flatten the result dataframe of ANOVATest/ChisqTest/FValueTest

2020-05-08 Thread GitBox


SparkQA commented on pull request #28483:
URL: https://github.com/apache/spark/pull/28483#issuecomment-626044299


   **[Test build #122451 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122451/testReport)**
 for PR 28483 at commit 
[`d214117`](https://github.com/apache/spark/commit/d214117ab97bcadadefcc9b6f4ebbf1ff7e1d1b6).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626041208


   Test FAILed.
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122447/
   Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626041200







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626041200


   Merged build finished. Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-625989875


   **[Test build #122447 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122447/testReport)**
 for PR 28482 at commit 
[`90f569f`](https://github.com/apache/spark/commit/90f569fb5b580815fa57d352512af38203edff47).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28482: [DONOTMERGE][DEBUG] Debug the test issues in SPARK-20732

2020-05-08 Thread GitBox


SparkQA commented on pull request #28482:
URL: https://github.com/apache/spark/pull/28482#issuecomment-626040793


   **[Test build #122447 has 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122447/testReport)**
 for PR 28482 at commit 
[`90f569f`](https://github.com/apache/spark/commit/90f569fb5b580815fa57d352512af38203edff47).
* This patch **fails Spark unit tests**.
* This patch merges cleanly.
* This patch adds no public classes.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28481: [SPARK-31665][SQL][TESTS] Check parquet dictionary encoding of random dates/timestamps

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28481:
URL: https://github.com/apache/spark/pull/28481#issuecomment-626034665


   Test FAILed.
   Refer to this link for build results (access rights to CI server needed): 
   https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/122446/
   Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28481: [SPARK-31665][SQL][TESTS] Check parquet dictionary encoding of random dates/timestamps

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28481:
URL: https://github.com/apache/spark/pull/28481#issuecomment-626034659


   Merged build finished. Test FAILed.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28481: [SPARK-31665][SQL][TESTS] Check parquet dictionary encoding of random dates/timestamps

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28481:
URL: https://github.com/apache/spark/pull/28481#issuecomment-626034659







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #28481: [SPARK-31665][SQL][TESTS] Check parquet dictionary encoding of random dates/timestamps

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #28481:
URL: https://github.com/apache/spark/pull/28481#issuecomment-625967064


   **[Test build #122446 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122446/testReport)**
 for PR 28481 at commit 
[`68cbb37`](https://github.com/apache/spark/commit/68cbb37c847dd2566783e5a2c9b99fbded4be692).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #28474: [SPARK-31658][SQL] Fix SQL UI not showing write commands of AQE plan

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #28474:
URL: https://github.com/apache/spark/pull/28474#issuecomment-626034316







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #28474: [SPARK-31658][SQL] Fix SQL UI not showing write commands of AQE plan

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #28474:
URL: https://github.com/apache/spark/pull/28474#issuecomment-626034316







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28481: [SPARK-31665][SQL][TESTS] Check parquet dictionary encoding of random dates/timestamps

2020-05-08 Thread GitBox


SparkQA commented on pull request #28481:
URL: https://github.com/apache/spark/pull/28481#issuecomment-626034381


   **[Test build #122446 has 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122446/testReport)**
 for PR 28481 at commit 
[`68cbb37`](https://github.com/apache/spark/commit/68cbb37c847dd2566783e5a2c9b99fbded4be692).
* This patch **fails Spark unit tests**.
* This patch merges cleanly.
* This patch adds no public classes.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #28474: [SPARK-31658][SQL] Fix SQL UI not showing write commands of AQE plan

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #28474:
URL: https://github.com/apache/spark/pull/28474#issuecomment-625920763


   **[Test build #122443 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122443/testReport)**
 for PR 28474 at commit 
[`9111ceb`](https://github.com/apache/spark/commit/9111ceb3d15edbeaa55ac2135bb53c955ae935c0).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA commented on pull request #28474: [SPARK-31658][SQL] Fix SQL UI not showing write commands of AQE plan

2020-05-08 Thread GitBox


SparkQA commented on pull request #28474:
URL: https://github.com/apache/spark/pull/28474#issuecomment-626033481


   **[Test build #122443 has 
finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122443/testReport)**
 for PR 28474 at commit 
[`9111ceb`](https://github.com/apache/spark/commit/9111ceb3d15edbeaa55ac2135bb53c955ae935c0).
* This patch passes all tests.
* This patch merges cleanly.
* This patch adds no public classes.



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins commented on pull request #25870: [SPARK-27936][K8S] Support python deps

2020-05-08 Thread GitBox


AmplabJenkins commented on pull request #25870:
URL: https://github.com/apache/spark/pull/25870#issuecomment-626031586







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] AmplabJenkins removed a comment on pull request #25870: [SPARK-27936][K8S] Support python deps

2020-05-08 Thread GitBox


AmplabJenkins removed a comment on pull request #25870:
URL: https://github.com/apache/spark/pull/25870#issuecomment-626031586







This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



[GitHub] [spark] SparkQA removed a comment on pull request #25870: [SPARK-27936][K8S] Support python deps

2020-05-08 Thread GitBox


SparkQA removed a comment on pull request #25870:
URL: https://github.com/apache/spark/pull/25870#issuecomment-625960303


   **[Test build #122445 has 
started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/122445/testReport)**
 for PR 25870 at commit 
[`a9f055b`](https://github.com/apache/spark/commit/a9f055b4642d487b724a628c4d6f682c71fd2d2c).



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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



  1   2   3   4   >