You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by lianhuiwang <gi...@git.apache.org> on 2015/10/22 18:16:05 UTC

[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

GitHub user lianhuiwang opened a pull request:

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

    [spark-11252][network]ShuffleClient should release connection after fetching blocks had been completed for external shuffle

    with yarn's external shuffle, ExternalShuffleClient of executors reserve its connections for yarn's NodeManager until application has been completed. so it will make NodeManager and executors have many socket connections.
    in order to reduce network pressure of NodeManager's shuffleService, after registerWithShuffleServer or fetchBlocks have been completed in ExternalShuffleClient, connection for NM's shuffleService needs to be closed.@andrewor14 @rxin @vanzin 

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

    $ git pull https://github.com/lianhuiwang/spark spark-11252

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

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

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

    This closes #9227
    
----
commit 6094ad7cfb567d0025b8f369d2365dd089c210ea
Author: Lianhui Wang <li...@gmail.com>
Date:   2015-10-22T16:09:35Z

    release connection for external shuffle

----


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151819613
  
    Test FAILed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44517/
    Test FAILed.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44056308
  
    --- Diff: network/common/src/test/java/org/apache/spark/network/TransportClientFactorySuite.java ---
    @@ -177,4 +177,14 @@ public void closeBlockClientsWithFactory() throws IOException {
         assertFalse(c1.isActive());
         assertFalse(c2.isActive());
       }
    +
    +  @Test
    +  public void closeIdleConnectionForRequestTimeOut() throws IOException, InterruptedException {
    +    TransportClientFactory factory = context.createClientFactory();
    +    TransportClient c1 = factory.createClient(TestUtils.getLocalHost(), server1.getPort());
    +    assertTrue(c1.isActive());
    +    Thread.sleep(conf.connectionTimeoutMs());
    +    assertFalse(c1.isActive());
    --- End diff --
    
    This is flakey. You should check it with a timeout and also use a short connection timeout to make this test fast, such as
    ```Java
      @Test
      public void closeIdleConnectionForRequestTimeOut() throws IOException, InterruptedException {
        TransportConf conf = new TransportConf(new ConfigProvider() {
    
          @Override
          public String get(String name) {
            if ("spark.shuffle.io.connectionTimeout".equals(name)) {
              // We should make sure there is enough time for us to observe the channel is active
              return "1s";
            }
            String value = System.getProperty(name);
            if (value == null) {
              throw new NoSuchElementException(name);
            }
            return value;
          }
        });
        TransportContext context = new TransportContext(conf, new NoOpRpcHandler());
        TransportClientFactory factory = context.createClientFactory();
        try {
          TransportClient c1 = factory.createClient(TestUtils.getLocalHost(), server1.getPort());
          assertTrue(c1.isActive());
          long expiredTime = System.currentTimeMillis() + 10000; // 10 seconds
          while (c1.isActive() && System.currentTimeMillis() < expiredTime) {
            Thread.sleep(10);
          }
          assertFalse(c1.isActive());
        } finally {
          factory.close();
        }
      }
    ```


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r43096749
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/client/TransportClientFactory.java ---
    @@ -158,6 +158,13 @@ public TransportClient createClient(String remoteHost, int remotePort) throws IO
         }
       }
     
    +  /**
    +   * Create a completely new {@link TransportClient} to the given remote host / port */
    +  public TransportClient createNewClient(String remoteHost, int remotePort) throws IOException {
    --- End diff --
    
    I actually wanted to add this method for a different change (no PR yet), so it's welcome. But the javadoc needs to mention that this connection is not pooled, like the ones returned by `createClient`.
    
    Because of that, I'd also name the method `createUnmanagedClient`, and make it clear that it's the caller's responsibility to close it.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-155391700
  
     Merged build triggered.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

Posted by lianhuiwang <gi...@git.apache.org>.
Github user lianhuiwang commented on the pull request:

    https://github.com/apache/spark/pull/9227#issuecomment-151787006
  
    @vanzin i add isCloseIdleConnections to RpcHandler that to decide to close idleconnections.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150282695
  
     Merged build triggered.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151411277
  
    **[Test build #44414 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44414/consoleFull)** for PR 9227 at commit [`9052688`](https://github.com/apache/spark/commit/90526884d1662ca7ebec7b205b856111ae147e6d).


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150277733
  
     Merged build triggered.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

Posted by vanzin <gi...@git.apache.org>.
Github user vanzin commented on the pull request:

    https://github.com/apache/spark/pull/9227#issuecomment-155247552
  
    A couple of small things left, otherwise LGTM.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-154858813
  
     Merged build triggered.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

Posted by vanzin <gi...@git.apache.org>.
Github user vanzin commented on the pull request:

    https://github.com/apache/spark/pull/9227#issuecomment-151188277
  
    I'm with @zsxwing here; especially with authentication and encryption on, connection establishment is actually pretty expensive. A timeout (perhaps on the server side, since it's the party that suffers the most) would be better.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151441611
  
    Merged build finished. Test FAILed.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-155391721
  
    Merged build started.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150307918
  
    Merged build finished. Test FAILed.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151409662
  
     Merged build triggered.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

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


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-154858823
  
    Merged build started.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r43099624
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/client/TransportClientFactory.java ---
    @@ -158,6 +158,13 @@ public TransportClient createClient(String remoteHost, int remotePort) throws IO
         }
       }
     
    +  /**
    +   * Create a completely new {@link TransportClient} to the given remote host / port */
    +  public TransportClient createNewClient(String remoteHost, int remotePort) throws IOException {
    --- End diff --
    
    yes, i will do it as you said.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r43234268
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/server/TransportChannelHandler.java ---
    @@ -109,17 +109,20 @@ public void channelRead0(ChannelHandlerContext ctx, Message request) {
       public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
         if (evt instanceof IdleStateEvent) {
           IdleStateEvent e = (IdleStateEvent) evt;
    -      // See class comment for timeout semantics. In addition to ensuring we only timeout while
    -      // there are outstanding requests, we also do a secondary consistency check to ensure
    -      // there's no race between the idle timeout and incrementing the numOutstandingRequests.
    -      boolean hasInFlightRequests = responseHandler.numOutstandingRequests() > 0;
    +      // While an IdleStateEvent has been triggered, we can close idle connection
    +      // because it has no read/write events for requestTimeoutNs.
           boolean isActuallyOverdue =
             System.nanoTime() - responseHandler.getTimeOfLastRequestNs() > requestTimeoutNs;
    -      if (e.state() == IdleState.ALL_IDLE && hasInFlightRequests && isActuallyOverdue) {
    -        String address = NettyUtils.getRemoteAddress(ctx.channel());
    -        logger.error("Connection to {} has been quiet for {} ms while there are outstanding " +
    -          "requests. Assuming connection is dead; please adjust spark.network.timeout if this " +
    -          "is wrong.", address, requestTimeoutNs / 1000 / 1000);
    +      if (e.state() == IdleState.ALL_IDLE && isActuallyOverdue) {
    +        // In addition to ensuring we only timeout while there are outstanding requests, we also
    --- End diff --
    
    Another approach you can try is to create a new `TransportServerBootstrap` that will install this `IdleStateHandler`. Then you only add that bootstrap in the places where a shuffle server is created.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151441541
  
    **[Test build #44414 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44414/consoleFull)** for PR 9227 at commit [`9052688`](https://github.com/apache/spark/commit/90526884d1662ca7ebec7b205b856111ae147e6d).
     * This patch **fails Spark unit tests**.
     * This patch merges cleanly.
     * This patch adds no public classes.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

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


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

Posted by zsxwing <gi...@git.apache.org>.
Github user zsxwing commented on the pull request:

    https://github.com/apache/spark/pull/9227#issuecomment-151025792
  
    Keeping the connection will avoid the cost of establishing connections. I'm wondering if we can have some timeout mechanism (like http keep-alive), to close idle connections after 1-2 minute.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150307922
  
    Test FAILed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44159/
    Test FAILed.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151790119
  
    **[Test build #44517 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44517/consoleFull)** for PR 9227 at commit [`f6a2c01`](https://github.com/apache/spark/commit/f6a2c01bb06c03a31f5efce5d7bb634ad364d775).


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r43096557
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/server/TransportChannelHandler.java ---
    @@ -109,17 +109,20 @@ public void channelRead0(ChannelHandlerContext ctx, Message request) {
       public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
         if (evt instanceof IdleStateEvent) {
           IdleStateEvent e = (IdleStateEvent) evt;
    -      // See class comment for timeout semantics. In addition to ensuring we only timeout while
    -      // there are outstanding requests, we also do a secondary consistency check to ensure
    -      // there's no race between the idle timeout and incrementing the numOutstandingRequests.
    -      boolean hasInFlightRequests = responseHandler.numOutstandingRequests() > 0;
    +      // While an IdleStateEvent has been triggered, we can close idle connection
    +      // because it has no read/write events for requestTimeoutNs.
           boolean isActuallyOverdue =
             System.nanoTime() - responseHandler.getTimeOfLastRequestNs() > requestTimeoutNs;
    -      if (e.state() == IdleState.ALL_IDLE && hasInFlightRequests && isActuallyOverdue) {
    -        String address = NettyUtils.getRemoteAddress(ctx.channel());
    -        logger.error("Connection to {} has been quiet for {} ms while there are outstanding " +
    -          "requests. Assuming connection is dead; please adjust spark.network.timeout if this " +
    -          "is wrong.", address, requestTimeoutNs / 1000 / 1000);
    +      if (e.state() == IdleState.ALL_IDLE && isActuallyOverdue) {
    +        // In addition to ensuring we only timeout while there are outstanding requests, we also
    --- End diff --
    
    Not sure what's going on here. You're not fixing a race, because there's no synchronization anywhere. And now you're closing the connection anytime the connection is idle, regardless of whether there are outstanding requests. This is not good for the netty-based RpcEnv implementation, which does not like when its sockets are closed (e.g. executors will die and things like that).


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-155417890
  
    **[Test build #45518 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/45518/consoleFull)** for PR 9227 at commit [`e444d11`](https://github.com/apache/spark/commit/e444d119ec46d70b6d319b6bb4c6bc109935d5d5).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

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


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

Posted by lianhuiwang <gi...@git.apache.org>.
Github user lianhuiwang commented on the pull request:

    https://github.com/apache/spark/pull/9227#issuecomment-151409731
  
    @zsxwing @vanzin thanks, i agree with you. now i use IdleStateHandler to monitor idle connection. after idle state event has been triggered, we can close this connection.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-155418011
  
    Merged build finished. Test PASSed.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150318452
  
    Merged build finished. Test PASSed.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150279719
  
    **[Test build #44159 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44159/consoleFull)** for PR 9227 at commit [`6094ad7`](https://github.com/apache/spark/commit/6094ad7cfb567d0025b8f369d2365dd089c210ea).


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

Posted by zsxwing <gi...@git.apache.org>.
Github user zsxwing commented on the pull request:

    https://github.com/apache/spark/pull/9227#issuecomment-154147136
  
    I saw `IdleStateHandler` is already set in `TransportContext.initializePipeline`. Why it doesn't close the idle connections?


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

Posted by vanzin <gi...@git.apache.org>.
Github user vanzin commented on the pull request:

    https://github.com/apache/spark/pull/9227#issuecomment-155525869
  
    LGTM, merging.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151409703
  
    Merged build started.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44222601
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/server/TransportChannelHandler.java ---
    @@ -109,18 +109,22 @@ public void channelRead0(ChannelHandlerContext ctx, Message request) {
       public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
         if (evt instanceof IdleStateEvent) {
           IdleStateEvent e = (IdleStateEvent) evt;
    -      // See class comment for timeout semantics. In addition to ensuring we only timeout while
    -      // there are outstanding requests, we also do a secondary consistency check to ensure
    -      // there's no race between the idle timeout and incrementing the numOutstandingRequests.
    -      boolean hasInFlightRequests = responseHandler.numOutstandingRequests() > 0;
           boolean isActuallyOverdue =
             System.nanoTime() - responseHandler.getTimeOfLastRequestNs() > requestTimeoutNs;
    -      if (e.state() == IdleState.ALL_IDLE && hasInFlightRequests && isActuallyOverdue) {
    -        String address = NettyUtils.getRemoteAddress(ctx.channel());
    -        logger.error("Connection to {} has been quiet for {} ms while there are outstanding " +
    -          "requests. Assuming connection is dead; please adjust spark.network.timeout if this " +
    -          "is wrong.", address, requestTimeoutNs / 1000 / 1000);
    -        ctx.close();
    +      if (e.state() == IdleState.ALL_IDLE && isActuallyOverdue) {
    +        if (responseHandler.numOutstandingRequests() > 0) {
    +          // In addition to ensuring we only timeout while there are outstanding requests, we also
    --- End diff --
    
    i think SPARK-7003 explain the detail about this comment.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151819457
  
    **[Test build #44517 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44517/consoleFull)** for PR 9227 at commit [`f6a2c01`](https://github.com/apache/spark/commit/f6a2c01bb06c03a31f5efce5d7bb634ad364d775).
     * This patch **fails Spark unit tests**.
     * This patch merges cleanly.
     * This patch adds no public classes.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151787724
  
    Merged build started.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r42770704
  
    --- Diff: network/shuffle/src/main/java/org/apache/spark/network/shuffle/ExternalShuffleClient.java ---
    @@ -22,6 +22,7 @@
     
     import com.google.common.base.Preconditions;
     import com.google.common.collect.Lists;
    +import org.apache.spark.network.buffer.ManagedBuffer;
    --- End diff --
    
    nit: ordering


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151819610
  
    Merged build finished. Test FAILed.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150282720
  
    Merged build started.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44057831
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/server/RpcHandler.java ---
    @@ -54,4 +54,11 @@ public abstract void receive(
       public void connectionTerminated(TransportClient client) { }
     
       public void exceptionCaught(Throwable cause, TransportClient client) { }
    +
    +  /**
    +    * Whether to close idle connections
    --- End diff --
    
    nit: alignment is wrong, missing period.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-155393450
  
    **[Test build #45518 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/45518/consoleFull)** for PR 9227 at commit [`e444d11`](https://github.com/apache/spark/commit/e444d119ec46d70b6d319b6bb4c6bc109935d5d5).


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150307779
  
    **[Test build #44159 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44159/consoleFull)** for PR 9227 at commit [`6094ad7`](https://github.com/apache/spark/commit/6094ad7cfb567d0025b8f369d2365dd089c210ea).
     * This patch **fails PySpark unit tests**.
     * This patch merges cleanly.
     * This patch adds no public classes.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151441616
  
    Test FAILed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44414/
    Test FAILed.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

Posted by rxin <gi...@git.apache.org>.
Github user rxin commented on the pull request:

    https://github.com/apache/spark/pull/9227#issuecomment-150460951
  
    cc @zsxwing for review


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44356532
  
    --- Diff: network/shuffle/src/main/java/org/apache/spark/network/shuffle/ExternalShuffleClient.java ---
    @@ -137,9 +137,10 @@ public void registerWithShuffleServer(
           String execId,
           ExecutorShuffleInfo executorInfo) throws IOException {
         checkInit();
    -    TransportClient client = clientFactory.createClient(host, port);
    +    TransportClient client = clientFactory.createUnmanagedClient(host, port);
         byte[] registerMessage = new RegisterExecutor(appId, execId, executorInfo).toByteArray();
         client.sendRpcSync(registerMessage, 5000 /* timeoutMs */);
    +    client.close();
    --- End diff --
    
    You need to add a `try..finally` here, otherwise you may not close the connection.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

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


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150285034
  
    **[Test build #44161 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44161/consoleFull)** for PR 9227 at commit [`416b7a9`](https://github.com/apache/spark/commit/416b7a9573381ac356d91be1fda8de03aaf2cba1).


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44356351
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/server/TransportChannelHandler.java ---
    @@ -55,16 +55,19 @@
       private final TransportResponseHandler responseHandler;
       private final TransportRequestHandler requestHandler;
       private final long requestTimeoutNs;
    +  private final boolean isCloseIdleConnections;
    --- End diff --
    
    nit: drop the `is`


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-154875614
  
    **[Test build #45312 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/45312/consoleFull)** for PR 9227 at commit [`cf0d2c7`](https://github.com/apache/spark/commit/cf0d2c77165bdc80186d0995f1c6ea864b49db23).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150283923
  
    Merged build started.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150318240
  
    **[Test build #44160 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44160/consoleFull)** for PR 9227 at commit [`ad6edb6`](https://github.com/apache/spark/commit/ad6edb60fe30b41fca77c78278f0c9eb6202e480).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150277763
  
    Merged build started.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-154875655
  
    Merged build finished. Test PASSed.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44058739
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/server/TransportChannelHandler.java ---
    @@ -109,18 +109,22 @@ public void channelRead0(ChannelHandlerContext ctx, Message request) {
       public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
         if (evt instanceof IdleStateEvent) {
           IdleStateEvent e = (IdleStateEvent) evt;
    -      // See class comment for timeout semantics. In addition to ensuring we only timeout while
    -      // there are outstanding requests, we also do a secondary consistency check to ensure
    -      // there's no race between the idle timeout and incrementing the numOutstandingRequests.
    -      boolean hasInFlightRequests = responseHandler.numOutstandingRequests() > 0;
           boolean isActuallyOverdue =
             System.nanoTime() - responseHandler.getTimeOfLastRequestNs() > requestTimeoutNs;
    -      if (e.state() == IdleState.ALL_IDLE && hasInFlightRequests && isActuallyOverdue) {
    -        String address = NettyUtils.getRemoteAddress(ctx.channel());
    -        logger.error("Connection to {} has been quiet for {} ms while there are outstanding " +
    -          "requests. Assuming connection is dead; please adjust spark.network.timeout if this " +
    -          "is wrong.", address, requestTimeoutNs / 1000 / 1000);
    -        ctx.close();
    +      if (e.state() == IdleState.ALL_IDLE && isActuallyOverdue) {
    +        if (responseHandler.numOutstandingRequests() > 0) {
    +          // In addition to ensuring we only timeout while there are outstanding requests, we also
    --- End diff --
    
    I think this comment is confusing and we should remove it. It's not clear what's the "secondary check" here and I don't see how this avoids any races.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44053456
  
    --- Diff: network/shuffle/src/main/java/org/apache/spark/network/shuffle/ExternalShuffleClient.java ---
    @@ -137,9 +137,10 @@ public void registerWithShuffleServer(
           String execId,
           ExecutorShuffleInfo executorInfo) throws IOException {
         checkInit();
    -    TransportClient client = clientFactory.createClient(host, port);
    +    TransportClient client = clientFactory.createUnmanagedClient(host, port);
    --- End diff --
    
    I think we don't need this change. Right?


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150317553
  
    **[Test build #44161 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44161/consoleFull)** for PR 9227 at commit [`416b7a9`](https://github.com/apache/spark/commit/416b7a9573381ac356d91be1fda8de03aaf2cba1).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds the following public classes _(experimental)_:\n  * `case class First(child: Expression, ignoreNullsExpr: Expression) extends DeclarativeAggregate `\n  * `case class Last(child: Expression, ignoreNullsExpr: Expression) extends DeclarativeAggregate `\n  * `case class First(`\n  * `case class FirstFunction(`\n  * `case class Last(`\n  * `case class LastFunction(`\n  * `class MutableUnsafeRow(val writer: UnsafeRowWriter) extends GenericMutableRow(null) `\n


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44058978
  
    --- Diff: network/shuffle/src/main/java/org/apache/spark/network/shuffle/ExternalShuffleClient.java ---
    @@ -137,9 +137,10 @@ public void registerWithShuffleServer(
           String execId,
           ExecutorShuffleInfo executorInfo) throws IOException {
         checkInit();
    -    TransportClient client = clientFactory.createClient(host, port);
    +    TransportClient client = clientFactory.createUnmanagedClient(host, port);
    --- End diff --
    
    I think it's fine. This executor won't talk to this particular shuffle service after this, so it can close its connection right away.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r43099407
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/server/TransportChannelHandler.java ---
    @@ -109,17 +109,20 @@ public void channelRead0(ChannelHandlerContext ctx, Message request) {
       public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
         if (evt instanceof IdleStateEvent) {
           IdleStateEvent e = (IdleStateEvent) evt;
    -      // See class comment for timeout semantics. In addition to ensuring we only timeout while
    -      // there are outstanding requests, we also do a secondary consistency check to ensure
    -      // there's no race between the idle timeout and incrementing the numOutstandingRequests.
    -      boolean hasInFlightRequests = responseHandler.numOutstandingRequests() > 0;
    +      // While an IdleStateEvent has been triggered, we can close idle connection
    +      // because it has no read/write events for requestTimeoutNs.
           boolean isActuallyOverdue =
             System.nanoTime() - responseHandler.getTimeOfLastRequestNs() > requestTimeoutNs;
    -      if (e.state() == IdleState.ALL_IDLE && hasInFlightRequests && isActuallyOverdue) {
    -        String address = NettyUtils.getRemoteAddress(ctx.channel());
    -        logger.error("Connection to {} has been quiet for {} ms while there are outstanding " +
    -          "requests. Assuming connection is dead; please adjust spark.network.timeout if this " +
    -          "is wrong.", address, requestTimeoutNs / 1000 / 1000);
    +      if (e.state() == IdleState.ALL_IDLE && isActuallyOverdue) {
    +        // In addition to ensuring we only timeout while there are outstanding requests, we also
    --- End diff --
    
    yes,thanks, i think you are right. in order to be good for netty-based RpcEnv, i will add a conf to TransportConf for IdleStateHandler, example:spark.network.connection.mintor.enable. it is ture for external shuffle, but it is false for netty-based RpcEnv. i think the default value is false.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

Posted by lianhuiwang <gi...@git.apache.org>.
Github user lianhuiwang commented on the pull request:

    https://github.com/apache/spark/pull/9227#issuecomment-154790406
  
    @vanzin @zsxwing i have update it with your comments. thanks.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150317930
  
    Merged build finished. Test PASSed.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

Posted by lianhuiwang <gi...@git.apache.org>.
Github user lianhuiwang commented on the pull request:

    https://github.com/apache/spark/pull/9227#issuecomment-155390950
  
    @vanzin  i have update with your comments. thanks.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44356452
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/server/TransportChannelHandler.java ---
    @@ -109,18 +109,22 @@ public void channelRead0(ChannelHandlerContext ctx, Message request) {
       public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
         if (evt instanceof IdleStateEvent) {
           IdleStateEvent e = (IdleStateEvent) evt;
    -      // See class comment for timeout semantics. In addition to ensuring we only timeout while
    -      // there are outstanding requests, we also do a secondary consistency check to ensure
    -      // there's no race between the idle timeout and incrementing the numOutstandingRequests.
    -      boolean hasInFlightRequests = responseHandler.numOutstandingRequests() > 0;
           boolean isActuallyOverdue =
             System.nanoTime() - responseHandler.getTimeOfLastRequestNs() > requestTimeoutNs;
    -      if (e.state() == IdleState.ALL_IDLE && hasInFlightRequests && isActuallyOverdue) {
    -        String address = NettyUtils.getRemoteAddress(ctx.channel());
    -        logger.error("Connection to {} has been quiet for {} ms while there are outstanding " +
    -          "requests. Assuming connection is dead; please adjust spark.network.timeout if this " +
    -          "is wrong.", address, requestTimeoutNs / 1000 / 1000);
    -        ctx.close();
    +      if (e.state() == IdleState.ALL_IDLE && isActuallyOverdue) {
    +        if (responseHandler.numOutstandingRequests() > 0) {
    +          // In addition to ensuring we only timeout while there are outstanding requests, we also
    --- End diff --
    
    I still think the comment is slightly confusing. But it makes more sense if moved outside the condition, since the condition is the "secondary check" it talks about, I think.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44356293
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/TransportContext.java ---
    @@ -58,15 +58,24 @@
     
       private final TransportConf conf;
       private final RpcHandler rpcHandler;
    +  private final boolean isCloseIdleConnections;
    --- End diff --
    
    nit: `closeIdleConnections` (drop the `is`).


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#discussion_r44058401
  
    --- Diff: network/common/src/main/java/org/apache/spark/network/server/RpcHandler.java ---
    @@ -54,4 +54,11 @@ public abstract void receive(
       public void connectionTerminated(TransportClient client) { }
     
       public void exceptionCaught(Throwable cause, TransportClient client) { }
    +
    +  /**
    +    * Whether to close idle connections
    +    */
    +  public boolean isCloseIdleConnections() {
    --- End diff --
    
    nit: the method name sounds a little weird. maybe just `closeIdleConnections()`.
    
    I'm also a little bit torn about putting this in `RpcHandler`. It's not necessarily tied to RPCs. How about a new constructor argument in `TransportContext`? I'd suggest a configuration, but we don't really want users to configure this (or do we?).


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150283892
  
     Merged build triggered.


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-150283052
  
    **[Test build #44160 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44160/consoleFull)** for PR 9227 at commit [`ad6edb6`](https://github.com/apache/spark/commit/ad6edb60fe30b41fca77c78278f0c9eb6202e480).


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-154858909
  
    **[Test build #45312 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/45312/consoleFull)** for PR 9227 at commit [`cf0d2c7`](https://github.com/apache/spark/commit/cf0d2c77165bdc80186d0995f1c6ea864b49db23).


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

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


[GitHub] spark pull request: [spark-11252][network]ShuffleClient should rel...

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

    https://github.com/apache/spark/pull/9227#issuecomment-151787675
  
     Merged build triggered.


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

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