spark-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vanzin <...@git.apache.org>
Subject [GitHub] spark pull request: [SPARK-4924] Add a library for launching Spark...
Date Thu, 19 Feb 2015 18:50:28 GMT
Github user vanzin commented on a diff in the pull request:

    https://github.com/apache/spark/pull/3916#discussion_r25013407
  
    --- Diff: launcher/src/main/java/org/apache/spark/launcher/AbstractLauncher.java ---
    @@ -0,0 +1,499 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *    http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +
    +package org.apache.spark.launcher;
    +
    +import java.io.BufferedReader;
    +import java.io.File;
    +import java.io.FileFilter;
    +import java.io.FileInputStream;
    +import java.io.InputStreamReader;
    +import java.io.IOException;
    +import java.util.ArrayList;
    +import java.util.Arrays;
    +import java.util.Collections;
    +import java.util.HashMap;
    +import java.util.List;
    +import java.util.Map;
    +import java.util.Properties;
    +import java.util.jar.JarFile;
    +import java.util.regex.Pattern;
    +
    +/**
    + * Basic functionality for launchers - objects that encapsulate knowledge about how to
build the
    + * commands to run a Spark application or service. This class is not meant to be extended
by user
    + * code.
    + */
    +public abstract class AbstractLauncher<T extends AbstractLauncher> extends LauncherCommon
{
    --- End diff --
    
    So, `CommandLauncher` (in CommandUtils.scala) extends it. This is similar to `SparkSubmitArguments`
extending `SparkSubmitOptionParser`. For those two cases, I can probably play with the package
of those two classes to allow making this package-private. How does that sound?
    
    The other issue is that this actually provides public APIs that uses can call from `SparkLauncher`.
I'm not sure of the exact semantics, but it's weird to expose public methods in a package-private
class if they're meant to be used by code outside the package.
    
    I'll take a stab at turning things around, to see if I can have only `SparkLauncher` be
public and have others build on top of it instead.


---
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


Mime
View raw message