This is an automated email from the ASF dual-hosted git repository.

xiangfu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new 59bf3827db By default start 1 minion for all quickstart (#8682)
59bf3827db is described below

commit 59bf3827dbdf54cdd93ea92cbd0f69e5e1eebba8
Author: Xiang Fu <[email protected]>
AuthorDate: Wed May 11 10:36:29 2022 -0700

    By default start 1 minion for all quickstart (#8682)
---
 .github/workflows/scripts/.pinot_quickstart.sh     |  33 +----
 pinot-tools/pom.xml                                |  10 --
 .../pinot/tools/BatchQuickstartWithMinion.java     |  49 -------
 .../org/apache/pinot/tools/EmptyQuickstart.java    |   2 +-
 .../org/apache/pinot/tools/GenericQuickstart.java  |   2 +-
 .../apache/pinot/tools/GitHubEventsQuickstart.java |   2 +-
 .../org/apache/pinot/tools/HybridQuickstart.java   |   2 +-
 .../org/apache/pinot/tools/JoinQuickStart.java     |   2 +-
 .../apache/pinot/tools/JsonIndexQuickStart.java    |   2 +-
 .../OfflineComplexTypeHandlingQuickStart.java      |   2 +-
 .../pinot/tools/PartialUpsertQuickStart.java       |   2 +-
 .../java/org/apache/pinot/tools/Quickstart.java    |   9 +-
 .../RealtimeComplexTypeHandlingQuickStart.java     |   2 +-
 .../pinot/tools/RealtimeJsonIndexQuickStart.java   |   2 +-
 .../org/apache/pinot/tools/RealtimeQuickStart.java |   2 +-
 .../pinot/tools/TimestampIndexQuickstart.java      |   2 +-
 .../apache/pinot/tools/UpsertJsonQuickStart.java   |   2 +-
 .../org/apache/pinot/tools/UpsertQuickStart.java   |   2 +-
 .../tools/admin/command/QuickstartRunner.java      |  44 ------
 .../tools/admin/command/TestQuickStartCommand.java | 159 +++++++++++----------
 20 files changed, 98 insertions(+), 234 deletions(-)

diff --git a/.github/workflows/scripts/.pinot_quickstart.sh 
b/.github/workflows/scripts/.pinot_quickstart.sh
index 72f93c34f0..f27ecc8dcf 100755
--- a/.github/workflows/scripts/.pinot_quickstart.sh
+++ b/.github/workflows/scripts/.pinot_quickstart.sh
@@ -120,7 +120,8 @@ if [ $? -ne 0 ]; then
 fi
 
 # Ingest Data
-bin/pinot-admin.sh LaunchDataIngestionJob -jobSpecFile 
examples/batch/baseballStats/ingestionJobSpec.yaml
+d=`pwd`
+INSERT_INTO_RES=`curl -X POST --header 'Content-Type: application/json'  -d 
"{\"sql\":\"INSERT INTO baseballStats FROM FILE 
'${d}/examples/batch/baseballStats/rawdata'\",\"trace\":false}" 
http://localhost:8099/query/sql`
 if [ $? -ne 0 ]; then
   echo 'Failed to ingest data for table baseballStats.'
   exit 1
@@ -179,36 +180,6 @@ if [ "${PASS}" -eq 0 ]; then
   exit 1
 fi
 
-# Test quick-start-batch-with-minion
-bin/quick-start-batch-with-minion.sh &
-PID=$!
-
-# Print the JVM settings
-jps -lvm
-
-PASS=0
-
-# Wait for 1 minute for table to be set up, then at most 5 minutes to reach 
the desired state
-sleep 60
-for i in $(seq 1 150)
-do
-  QUERY_RES=`curl -X POST --header 'Accept: application/json'  -d 
'{"sql":"select count(*) from baseballStats limit 1","trace":false}' 
http://localhost:8000/query/sql`
-  if [ $? -eq 0 ]; then
-    COUNT_STAR_RES=`echo "${QUERY_RES}" | jq '.resultTable.rows[0][0]'`
-    if [[ "${COUNT_STAR_RES}" =~ ^[0-9]+$ ]] && [ "${COUNT_STAR_RES}" -eq 
97889 ]; then
-      PASS=1
-      break
-    fi
-  fi
-  sleep 2
-done
-
-cleanup "${PID}"
-if [ "${PASS}" -eq 0 ]; then
-  echo 'Batch Quickstart with Minion failed: Cannot get correct result for 
count star query.'
-  exit 1
-fi
-
 # Test quick-start-streaming
 # TODO: Streaming test is disabled because Meetup RSVP stream is retired. Find 
a replacement and re-enable this test.
 #bin/quick-start-streaming.sh &
diff --git a/pinot-tools/pom.xml b/pinot-tools/pom.xml
index 956d201729..e1e8ca0b94 100644
--- a/pinot-tools/pom.xml
+++ b/pinot-tools/pom.xml
@@ -377,16 +377,6 @@
                 </extraArguments>
               </jvmSettings>
             </program>
-            <program>
-              
<mainClass>org.apache.pinot.tools.BatchQuickstartWithMinion</mainClass>
-              <name>quick-start-batch-with-minion</name>
-              <jvmSettings>
-                <initialMemorySize>4G</initialMemorySize>
-                <extraArguments>
-                  
<extraArgument>-Dlog4j2.configurationFile=conf/quickstart-log4j2.xml</extraArgument>
-                </extraArguments>
-              </jvmSettings>
-            </program>
             <program>
               <mainClass>org.apache.pinot.tools.UpsertQuickStart</mainClass>
               <name>quick-start-upsert-streaming</name>
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/BatchQuickstartWithMinion.java
 
b/pinot-tools/src/main/java/org/apache/pinot/tools/BatchQuickstartWithMinion.java
deleted file mode 100644
index 78dc089716..0000000000
--- 
a/pinot-tools/src/main/java/org/apache/pinot/tools/BatchQuickstartWithMinion.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * 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.pinot.tools;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import org.apache.pinot.tools.admin.PinotAdministrator;
-
-
-public class BatchQuickstartWithMinion extends Quickstart {
-  @Override
-  public List<String> types() {
-    return Arrays.asList("OFFLINE_MINION", "BATCH_MINION", "OFFLINE-MINION", 
"BATCH-MINION");
-  }
-
-  public String getBootstrapDataDir() {
-    return "examples/minions/batch/baseballStats";
-  }
-
-  @Override
-  public int getNumMinions() {
-    return 1;
-  }
-
-  public static void main(String[] args)
-      throws Exception {
-    List<String> arguments = new ArrayList<>();
-    arguments.addAll(Arrays.asList("QuickStart", "-type", "BATCH-MINION"));
-    arguments.addAll(Arrays.asList(args));
-    PinotAdministrator.main(arguments.toArray(new String[arguments.size()]));
-  }
-}
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/EmptyQuickstart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/EmptyQuickstart.java
index 08586ed5d5..d9830a657a 100644
--- a/pinot-tools/src/main/java/org/apache/pinot/tools/EmptyQuickstart.java
+++ b/pinot-tools/src/main/java/org/apache/pinot/tools/EmptyQuickstart.java
@@ -47,7 +47,7 @@ public class EmptyQuickstart extends QuickStartBase {
     }
 
     QuickstartRunner runner =
-        new QuickstartRunner(new ArrayList<>(), 1, 1, 1, 0,
+        new QuickstartRunner(new ArrayList<>(), 1, 1, 1, 1,
             dataDir, true, getAuthToken(), getConfigOverrides(), 
_zkExternalAddress, false);
 
     if (_zkExternalAddress != null) {
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/GenericQuickstart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/GenericQuickstart.java
index 400e58a2a2..b0e8ac3069 100644
--- a/pinot-tools/src/main/java/org/apache/pinot/tools/GenericQuickstart.java
+++ b/pinot-tools/src/main/java/org/apache/pinot/tools/GenericQuickstart.java
@@ -98,7 +98,7 @@ public class GenericQuickstart extends QuickStartBase {
     Preconditions.checkState(tempDir.mkdirs());
     QuickstartTableRequest request = new 
QuickstartTableRequest(_tableDirectory.getAbsolutePath());
     final QuickstartRunner runner =
-        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 0, tempDir, 
getConfigOverrides());
+        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 1, tempDir, 
getConfigOverrides());
 
     printStatus(Color.CYAN, "***** Starting Kafka *****");
     startKafka();
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/GitHubEventsQuickstart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/GitHubEventsQuickstart.java
index 50c162d0fd..47a1a9417f 100644
--- 
a/pinot-tools/src/main/java/org/apache/pinot/tools/GitHubEventsQuickstart.java
+++ 
b/pinot-tools/src/main/java/org/apache/pinot/tools/GitHubEventsQuickstart.java
@@ -124,7 +124,7 @@ public class GitHubEventsQuickstart extends QuickStartBase {
     Preconditions.checkState(tempDir.mkdirs());
     QuickstartTableRequest request = new 
QuickstartTableRequest(quickStartDataDir.getAbsolutePath());
     final QuickstartRunner runner =
-        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 0, tempDir, 
getConfigOverrides());
+        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 1, tempDir, 
getConfigOverrides());
 
     printStatus(Color.CYAN, String.format("***** Starting %s *****", 
streamSourceType));
     startStreamServer();
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/HybridQuickstart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/HybridQuickstart.java
index 61ec1b3a9a..a339292b58 100644
--- a/pinot-tools/src/main/java/org/apache/pinot/tools/HybridQuickstart.java
+++ b/pinot-tools/src/main/java/org/apache/pinot/tools/HybridQuickstart.java
@@ -124,7 +124,7 @@ public class HybridQuickstart extends QuickStartBase {
     Preconditions.checkState(dataDir.mkdirs());
     QuickstartTableRequest bootstrapTableRequest = 
prepareTableRequest(baseDir);
     final QuickstartRunner runner = new 
QuickstartRunner(Lists.newArrayList(bootstrapTableRequest),
-        1, 1, 1, 0, dataDir, getConfigOverrides());
+        1, 1, 1, 1, dataDir, getConfigOverrides());
     printStatus(Color.YELLOW, "***** Starting Kafka  *****");
     startKafka();
     printStatus(Color.YELLOW, "***** Starting airline data stream and 
publishing to Kafka *****");
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/JoinQuickStart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/JoinQuickStart.java
index 3270b6699f..c6d9c3bdd0 100644
--- a/pinot-tools/src/main/java/org/apache/pinot/tools/JoinQuickStart.java
+++ b/pinot-tools/src/main/java/org/apache/pinot/tools/JoinQuickStart.java
@@ -81,7 +81,7 @@ public class JoinQuickStart extends QuickStartBase {
     File tempDir = new File(quickstartTmpDir, "tmp");
     FileUtils.forceMkdir(tempDir);
     QuickstartRunner runner =
-        new QuickstartRunner(Lists.newArrayList(request, dimTableRequest), 1, 
1, 3, 0, tempDir, getConfigOverrides());
+        new QuickstartRunner(Lists.newArrayList(request, dimTableRequest), 1, 
1, 3, 1, tempDir, getConfigOverrides());
 
     printStatus(Quickstart.Color.CYAN, "***** Starting Zookeeper, controller, 
broker and server *****");
     runner.startAll();
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/JsonIndexQuickStart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/JsonIndexQuickStart.java
index 80ec6d4b80..035bee90e4 100644
--- a/pinot-tools/src/main/java/org/apache/pinot/tools/JsonIndexQuickStart.java
+++ b/pinot-tools/src/main/java/org/apache/pinot/tools/JsonIndexQuickStart.java
@@ -64,7 +64,7 @@ public class JsonIndexQuickStart extends QuickStartBase {
 
     QuickstartTableRequest request = new 
QuickstartTableRequest(baseDir.getAbsolutePath());
     final QuickstartRunner runner =
-        new QuickstartRunner(Collections.singletonList(request), 1, 1, 1, 0, 
dataDir, getConfigOverrides());
+        new QuickstartRunner(Collections.singletonList(request), 1, 1, 1, 1, 
dataDir, getConfigOverrides());
 
     printStatus(Color.CYAN, "***** Starting Zookeeper, controller, broker and 
server *****");
     runner.startAll();
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/OfflineComplexTypeHandlingQuickStart.java
 
b/pinot-tools/src/main/java/org/apache/pinot/tools/OfflineComplexTypeHandlingQuickStart.java
index 69f07b6805..c5cd73c819 100644
--- 
a/pinot-tools/src/main/java/org/apache/pinot/tools/OfflineComplexTypeHandlingQuickStart.java
+++ 
b/pinot-tools/src/main/java/org/apache/pinot/tools/OfflineComplexTypeHandlingQuickStart.java
@@ -66,7 +66,7 @@ public class OfflineComplexTypeHandlingQuickStart extends 
QuickStartBase {
 
     QuickstartTableRequest request = new 
QuickstartTableRequest(baseDir.getAbsolutePath());
     final QuickstartRunner runner =
-        new QuickstartRunner(Collections.singletonList(request), 1, 1, 1, 0, 
dataDir, getConfigOverrides());
+        new QuickstartRunner(Collections.singletonList(request), 1, 1, 1, 1, 
dataDir, getConfigOverrides());
 
     printStatus(Color.CYAN, "***** Starting Zookeeper, controller, broker and 
server *****");
     runner.startAll();
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/PartialUpsertQuickStart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/PartialUpsertQuickStart.java
index e9ec4fcc77..19fd63e72b 100644
--- 
a/pinot-tools/src/main/java/org/apache/pinot/tools/PartialUpsertQuickStart.java
+++ 
b/pinot-tools/src/main/java/org/apache/pinot/tools/PartialUpsertQuickStart.java
@@ -73,7 +73,7 @@ public class PartialUpsertQuickStart extends QuickStartBase {
 
     QuickstartTableRequest request = new 
QuickstartTableRequest(bootstrapTableDir.getAbsolutePath());
     final QuickstartRunner runner =
-        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 0, dataDir, 
getConfigOverrides());
+        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 1, dataDir, 
getConfigOverrides());
 
     printStatus(Color.CYAN, "***** Starting Kafka *****");
     final ZkStarter.ZookeeperInstance zookeeperInstance = 
ZkStarter.startLocalZkServer();
diff --git a/pinot-tools/src/main/java/org/apache/pinot/tools/Quickstart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/Quickstart.java
index 01fb8fb716..c3cd2b40ac 100644
--- a/pinot-tools/src/main/java/org/apache/pinot/tools/Quickstart.java
+++ b/pinot-tools/src/main/java/org/apache/pinot/tools/Quickstart.java
@@ -40,7 +40,7 @@ public class Quickstart extends QuickStartBase {
 
   private static final String TAB = "\t\t";
   private static final String NEW_LINE = "\n";
-  private static final String DEFAULT_BOOTSTRAP_DIRECTORY = 
"examples/batch/baseballStats";
+  private static final String DEFAULT_BOOTSTRAP_DIRECTORY = 
"examples/minions/batch/baseballStats";
 
   public enum Color {
     RESET("\u001B[0m"), GREEN("\u001B[32m"), YELLOW("\u001B[33m"), 
CYAN("\u001B[36m");
@@ -56,10 +56,6 @@ public class Quickstart extends QuickStartBase {
     }
   }
 
-  public int getNumMinions() {
-    return 0;
-  }
-
   public String getAuthToken() {
     return null;
   }
@@ -103,8 +99,7 @@ public class Quickstart extends QuickStartBase {
 
     QuickstartTableRequest request = new 
QuickstartTableRequest(baseDir.getAbsolutePath());
     QuickstartRunner runner =
-        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1,
-            getNumMinions(), dataDir, true, getAuthToken(),
+        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 1, dataDir, 
true, getAuthToken(),
             getConfigOverrides(), null, true);
 
     printStatus(Color.CYAN, "***** Starting Zookeeper, controller, broker and 
server *****");
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeComplexTypeHandlingQuickStart.java
 
b/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeComplexTypeHandlingQuickStart.java
index 88106d3612..2d9e6f7d09 100644
--- 
a/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeComplexTypeHandlingQuickStart.java
+++ 
b/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeComplexTypeHandlingQuickStart.java
@@ -75,7 +75,7 @@ public class RealtimeComplexTypeHandlingQuickStart extends 
QuickStartBase {
 
     QuickstartTableRequest request = new 
QuickstartTableRequest(baseDir.getAbsolutePath());
     QuickstartRunner runner =
-        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 0, dataDir, 
getConfigOverrides());
+        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 1, dataDir, 
getConfigOverrides());
 
     printStatus(Color.CYAN, "***** Starting Kafka *****");
     ZkStarter.ZookeeperInstance zookeeperInstance = 
ZkStarter.startLocalZkServer();
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeJsonIndexQuickStart.java
 
b/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeJsonIndexQuickStart.java
index 94aadea9e8..e77d611fb0 100644
--- 
a/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeJsonIndexQuickStart.java
+++ 
b/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeJsonIndexQuickStart.java
@@ -74,7 +74,7 @@ public class RealtimeJsonIndexQuickStart extends 
QuickStartBase {
 
     QuickstartTableRequest request = new 
QuickstartTableRequest(baseDir.getAbsolutePath());
     QuickstartRunner runner =
-        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 0, dataDir, 
getConfigOverrides());
+        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 1, dataDir, 
getConfigOverrides());
 
     printStatus(Color.CYAN, "***** Starting Kafka *****");
     ZkStarter.ZookeeperInstance zookeeperInstance = 
ZkStarter.startLocalZkServer();
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeQuickStart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeQuickStart.java
index 975eeb310b..626961c1ee 100644
--- a/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeQuickStart.java
+++ b/pinot-tools/src/main/java/org/apache/pinot/tools/RealtimeQuickStart.java
@@ -74,7 +74,7 @@ public class RealtimeQuickStart extends QuickStartBase {
 
     QuickstartTableRequest request = new 
QuickstartTableRequest(baseDir.getAbsolutePath());
     final QuickstartRunner runner =
-        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 0, dataDir, 
getConfigOverrides());
+        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 1, dataDir, 
getConfigOverrides());
 
     printStatus(Color.CYAN, "***** Starting Kafka *****");
     final ZkStarter.ZookeeperInstance zookeeperInstance = 
ZkStarter.startLocalZkServer();
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/TimestampIndexQuickstart.java
 
b/pinot-tools/src/main/java/org/apache/pinot/tools/TimestampIndexQuickstart.java
index 95c59f1bd8..a8be24defc 100644
--- 
a/pinot-tools/src/main/java/org/apache/pinot/tools/TimestampIndexQuickstart.java
+++ 
b/pinot-tools/src/main/java/org/apache/pinot/tools/TimestampIndexQuickstart.java
@@ -79,7 +79,7 @@ public class TimestampIndexQuickstart extends QuickStartBase {
     Preconditions.checkState(dataDir.mkdirs());
     QuickstartTableRequest bootstrapTableRequest = 
prepareTableRequest(baseDir);
     final QuickstartRunner runner =
-        new QuickstartRunner(Lists.newArrayList(bootstrapTableRequest), 1, 1, 
1, 0, dataDir, getConfigOverrides());
+        new QuickstartRunner(Lists.newArrayList(bootstrapTableRequest), 1, 1, 
1, 1, dataDir, getConfigOverrides());
     printStatus(Color.YELLOW, "***** Starting Zookeeper, 1 servers, 1 brokers 
and 1 controller *****");
     runner.startAll();
     Runtime.getRuntime().addShutdownHook(new Thread(() -> {
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/UpsertJsonQuickStart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/UpsertJsonQuickStart.java
index b257d491a4..383d2593ec 100644
--- a/pinot-tools/src/main/java/org/apache/pinot/tools/UpsertJsonQuickStart.java
+++ b/pinot-tools/src/main/java/org/apache/pinot/tools/UpsertJsonQuickStart.java
@@ -75,7 +75,7 @@ public class UpsertJsonQuickStart extends QuickStartBase {
 
     QuickstartTableRequest request = new 
QuickstartTableRequest(baseDir.getAbsolutePath());
     QuickstartRunner runner =
-        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 0, dataDir, 
getConfigOverrides());
+        new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 1, dataDir, 
getConfigOverrides());
 
     printStatus(Color.CYAN, "***** Starting Kafka *****");
     ZkStarter.ZookeeperInstance zookeeperInstance = 
ZkStarter.startLocalZkServer();
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/UpsertQuickStart.java 
b/pinot-tools/src/main/java/org/apache/pinot/tools/UpsertQuickStart.java
index e17de70c09..ccf219325d 100644
--- a/pinot-tools/src/main/java/org/apache/pinot/tools/UpsertQuickStart.java
+++ b/pinot-tools/src/main/java/org/apache/pinot/tools/UpsertQuickStart.java
@@ -75,7 +75,7 @@ public class UpsertQuickStart extends QuickStartBase {
 
     QuickstartTableRequest request = new 
QuickstartTableRequest(bootstrapTableDir.getAbsolutePath());
     final QuickstartRunner runner
-        = new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 0, 
dataDir, getConfigOverrides());
+        = new QuickstartRunner(Lists.newArrayList(request), 1, 1, 1, 1, 
dataDir, getConfigOverrides());
 
     printStatus(Color.CYAN, "***** Starting Kafka *****");
     final ZkStarter.ZookeeperInstance zookeeperInstance = 
ZkStarter.startLocalZkServer();
diff --git 
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
 
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
index faa005d936..1f479ed46a 100644
--- 
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
+++ 
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
@@ -20,30 +20,21 @@ package org.apache.pinot.tools.admin.command;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.collect.ImmutableMap;
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
 import java.io.IOException;
-import java.io.Reader;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
 import org.apache.commons.io.FileUtils;
-import org.apache.pinot.spi.config.table.TableType;
 import org.apache.pinot.spi.config.tenant.TenantRole;
 import org.apache.pinot.spi.env.PinotConfiguration;
 import org.apache.pinot.spi.filesystem.PinotFSFactory;
-import org.apache.pinot.spi.ingestion.batch.IngestionJobLauncher;
-import org.apache.pinot.spi.ingestion.batch.spec.SegmentGenerationJobSpec;
 import org.apache.pinot.spi.utils.JsonUtils;
 import org.apache.pinot.tools.BootstrapTableTool;
 import org.apache.pinot.tools.QuickstartTableRequest;
-import org.apache.pinot.tools.utils.JarUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.yaml.snakeyaml.Yaml;
 
 
 public class QuickstartRunner {
@@ -234,41 +225,6 @@ public class QuickstartRunner {
     }
   }
 
-  @Deprecated
-  public void addTable()
-      throws Exception {
-    for (QuickstartTableRequest request : _tableRequests) {
-      new 
AddTableCommand().setSchemaFile(request.getSchemaFile().getAbsolutePath())
-          .setTableConfigFile(request.getTableRequestFile().getAbsolutePath())
-          
.setControllerPort(String.valueOf(_controllerPorts.get(0))).setExecute(true).execute();
-    }
-  }
-
-  @Deprecated
-  public void launchDataIngestionJob()
-      throws Exception {
-    for (QuickstartTableRequest request : _tableRequests) {
-      if (request.getTableType() == TableType.OFFLINE) {
-        try (Reader reader = new BufferedReader(new 
FileReader(request.getIngestionJobFile().getAbsolutePath()))) {
-          SegmentGenerationJobSpec spec = new Yaml().loadAs(reader, 
SegmentGenerationJobSpec.class);
-          String inputDirURI = spec.getInputDirURI();
-          if (!new File(inputDirURI).exists()) {
-            URL resolvedInputDirURI = 
QuickstartRunner.class.getClassLoader().getResource(inputDirURI);
-            if (resolvedInputDirURI.getProtocol().equals("jar")) {
-              String[] splits = resolvedInputDirURI.getFile().split("!");
-              String inputDir = new File(_tempDir, "inputData").toString();
-              JarUtils.copyResourcesToDirectory(splits[0], 
splits[1].substring(1), inputDir);
-              spec.setInputDirURI(inputDir);
-            } else {
-              spec.setInputDirURI(resolvedInputDirURI.toString());
-            }
-          }
-          IngestionJobLauncher.runIngestionJob(spec);
-        }
-      }
-    }
-  }
-
   public JsonNode runQuery(String query)
       throws Exception {
     int brokerPort = _brokerPorts.get(RANDOM.nextInt(_brokerPorts.size()));
diff --git 
a/pinot-tools/src/test/java/org/apache/pinot/tools/admin/command/TestQuickStartCommand.java
 
b/pinot-tools/src/test/java/org/apache/pinot/tools/admin/command/TestQuickStartCommand.java
index 62f0c6accb..e15f07344f 100644
--- 
a/pinot-tools/src/test/java/org/apache/pinot/tools/admin/command/TestQuickStartCommand.java
+++ 
b/pinot-tools/src/test/java/org/apache/pinot/tools/admin/command/TestQuickStartCommand.java
@@ -19,7 +19,6 @@
 package org.apache.pinot.tools.admin.command;
 
 import java.lang.reflect.InvocationTargetException;
-import org.apache.pinot.tools.BatchQuickstartWithMinion;
 import org.apache.pinot.tools.EmptyQuickstart;
 import org.apache.pinot.tools.HybridQuickstart;
 import org.apache.pinot.tools.JoinQuickStart;
@@ -31,89 +30,91 @@ import 
org.apache.pinot.tools.RealtimeComplexTypeHandlingQuickStart;
 import org.apache.pinot.tools.RealtimeJsonIndexQuickStart;
 import org.apache.pinot.tools.RealtimeQuickStart;
 import org.apache.pinot.tools.RealtimeQuickStartWithMinion;
+import org.apache.pinot.tools.TimestampIndexQuickstart;
 import org.apache.pinot.tools.UpsertJsonQuickStart;
 import org.apache.pinot.tools.UpsertQuickStart;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
+
 public class TestQuickStartCommand {
 
-    @Test(expectedExceptions = UnsupportedOperationException.class,
-            expectedExceptionsMessageRegExp = "^No QuickStart type provided. 
Valid types are: \\[.*\\]$")
-    public void testNoArg() throws Exception {
-        QuickStartCommand quickStartCommand = new QuickStartCommand();
-        quickStartCommand.execute();
-    }
-
-    @Test(expectedExceptions = UnsupportedOperationException.class,
-            expectedExceptionsMessageRegExp = "^Unsupported QuickStart type: 
foo. Valid types are: \\[.*\\]$")
-    public void testInvalidQuickStart() throws Exception {
-        QuickStartCommand quickStartCommand = new QuickStartCommand();
-        quickStartCommand.setType("foo");
-        quickStartCommand.execute();
-    }
-
-    @Test
-    public void testMatchStringToCommand()
-            throws InvocationTargetException, NoSuchMethodException, 
InstantiationException, IllegalAccessException {
-        Assert.assertEquals(quickStartClassFor("OFFLINE"), Quickstart.class);
-        Assert.assertEquals(quickStartClassFor("offline"), Quickstart.class);
-        Assert.assertEquals(quickStartClassFor("BATCH"), Quickstart.class);
-
-        Assert.assertEquals(quickStartClassFor("EMPTY"), 
EmptyQuickstart.class);
-        Assert.assertEquals(quickStartClassFor("DEFAULT"), 
EmptyQuickstart.class);
-
-        Assert.assertEquals(quickStartClassFor("OFFLINE_MINION"), 
BatchQuickstartWithMinion.class);
-        Assert.assertEquals(quickStartClassFor("BATCH_MINION"), 
BatchQuickstartWithMinion.class);
-        Assert.assertEquals(quickStartClassFor("OFFLINE-MINION"), 
BatchQuickstartWithMinion.class);
-        Assert.assertEquals(quickStartClassFor("BATCH-MINION"), 
BatchQuickstartWithMinion.class);
-
-        Assert.assertEquals(quickStartClassFor("REALTIME_MINION"), 
RealtimeQuickStartWithMinion.class);
-        Assert.assertEquals(quickStartClassFor("REALTIME-MINION"), 
RealtimeQuickStartWithMinion.class);
-
-        Assert.assertEquals(quickStartClassFor("REALTIME"), 
RealtimeQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("REALTIME"), 
RealtimeQuickStart.class);
-
-        Assert.assertEquals(quickStartClassFor("HYBRID"), 
HybridQuickstart.class);
-
-        Assert.assertEquals(quickStartClassFor("JOIN"), JoinQuickStart.class);
-
-        Assert.assertEquals(quickStartClassFor("UPSERT"), 
UpsertQuickStart.class);
-
-        Assert.assertEquals(quickStartClassFor("OFFLINE_JSON_INDEX"), 
JsonIndexQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("OFFLINE-JSON-INDEX"), 
JsonIndexQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("BATCH_JSON_INDEX"), 
JsonIndexQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("BATCH-JSON-INDEX"), 
JsonIndexQuickStart.class);
-
-        Assert.assertEquals(quickStartClassFor("REALTIME_JSON_INDEX"), 
RealtimeJsonIndexQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("REALTIME-JSON-INDEX"), 
RealtimeJsonIndexQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("STREAM_JSON_INDEX"), 
RealtimeJsonIndexQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("STREAM-JSON-INDEX"), 
RealtimeJsonIndexQuickStart.class);
-
-        Assert.assertEquals(quickStartClassFor("UPSERT_JSON_INDEX"), 
UpsertJsonQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("UPSERT-JSON-INDEX"), 
UpsertJsonQuickStart.class);
-
-        Assert.assertEquals(quickStartClassFor("OFFLINE_COMPLEX_TYPE"),
-                OfflineComplexTypeHandlingQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("OFFLINE-COMPLEX-TYPE"),
-                OfflineComplexTypeHandlingQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("BATCH_COMPLEX_TYPE"),
-                OfflineComplexTypeHandlingQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("BATCH-COMPLEX-TYPE"),
-                OfflineComplexTypeHandlingQuickStart.class);
-
-        Assert.assertEquals(quickStartClassFor("REALTIME_COMPLEX_TYPE"),
-                RealtimeComplexTypeHandlingQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("REALTIME-COMPLEX-TYPE"),
-                RealtimeComplexTypeHandlingQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("STREAM_COMPLEX_TYPE"),
-                RealtimeComplexTypeHandlingQuickStart.class);
-        Assert.assertEquals(quickStartClassFor("STREAM-COMPLEX-TYPE"),
-                RealtimeComplexTypeHandlingQuickStart.class);
-    }
-
-    private Class<? extends QuickStartBase> quickStartClassFor(String offline)
-            throws InvocationTargetException, NoSuchMethodException, 
InstantiationException, IllegalAccessException {
-        return QuickStartCommand.selectQuickStart(offline).getClass();
-    }
+  @Test(expectedExceptions = UnsupportedOperationException.class,
+      expectedExceptionsMessageRegExp = "^No QuickStart type provided. Valid 
types are: \\[.*\\]$")
+  public void testNoArg()
+      throws Exception {
+    QuickStartCommand quickStartCommand = new QuickStartCommand();
+    quickStartCommand.execute();
+  }
+
+  @Test(expectedExceptions = UnsupportedOperationException.class,
+      expectedExceptionsMessageRegExp = "^Unsupported QuickStart type: foo. 
Valid types are: \\[.*\\]$")
+  public void testInvalidQuickStart()
+      throws Exception {
+    QuickStartCommand quickStartCommand = new QuickStartCommand();
+    quickStartCommand.setType("foo");
+    quickStartCommand.execute();
+  }
+
+  @Test
+  public void testMatchStringToCommand()
+      throws InvocationTargetException, NoSuchMethodException, 
InstantiationException, IllegalAccessException {
+    Assert.assertEquals(quickStartClassFor("OFFLINE"), Quickstart.class);
+    Assert.assertEquals(quickStartClassFor("offline"), Quickstart.class);
+    Assert.assertEquals(quickStartClassFor("BATCH"), Quickstart.class);
+
+    Assert.assertEquals(quickStartClassFor("EMPTY"), EmptyQuickstart.class);
+    Assert.assertEquals(quickStartClassFor("DEFAULT"), EmptyQuickstart.class);
+
+    Assert.assertEquals(quickStartClassFor("REALTIME_MINION"), 
RealtimeQuickStartWithMinion.class);
+    Assert.assertEquals(quickStartClassFor("REALTIME-MINION"), 
RealtimeQuickStartWithMinion.class);
+
+    Assert.assertEquals(quickStartClassFor("REALTIME"), 
RealtimeQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("REALTIME"), 
RealtimeQuickStart.class);
+
+    Assert.assertEquals(quickStartClassFor("HYBRID"), HybridQuickstart.class);
+
+    Assert.assertEquals(quickStartClassFor("JOIN"), JoinQuickStart.class);
+
+    Assert.assertEquals(quickStartClassFor("UPSERT"), UpsertQuickStart.class);
+
+    Assert.assertEquals(quickStartClassFor("OFFLINE_JSON_INDEX"), 
JsonIndexQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("OFFLINE-JSON-INDEX"), 
JsonIndexQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("BATCH_JSON_INDEX"), 
JsonIndexQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("BATCH-JSON-INDEX"), 
JsonIndexQuickStart.class);
+
+    Assert.assertEquals(quickStartClassFor("REALTIME_JSON_INDEX"), 
RealtimeJsonIndexQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("REALTIME-JSON-INDEX"), 
RealtimeJsonIndexQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("STREAM_JSON_INDEX"), 
RealtimeJsonIndexQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("STREAM-JSON-INDEX"), 
RealtimeJsonIndexQuickStart.class);
+
+    Assert.assertEquals(quickStartClassFor("UPSERT_JSON_INDEX"), 
UpsertJsonQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("UPSERT-JSON-INDEX"), 
UpsertJsonQuickStart.class);
+
+    Assert.assertEquals(quickStartClassFor("OFFLINE_COMPLEX_TYPE"),
+        OfflineComplexTypeHandlingQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("OFFLINE-COMPLEX-TYPE"),
+        OfflineComplexTypeHandlingQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("BATCH_COMPLEX_TYPE"),
+        OfflineComplexTypeHandlingQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("BATCH-COMPLEX-TYPE"),
+        OfflineComplexTypeHandlingQuickStart.class);
+
+    Assert.assertEquals(quickStartClassFor("REALTIME_COMPLEX_TYPE"),
+        RealtimeComplexTypeHandlingQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("REALTIME-COMPLEX-TYPE"),
+        RealtimeComplexTypeHandlingQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("STREAM_COMPLEX_TYPE"),
+        RealtimeComplexTypeHandlingQuickStart.class);
+    Assert.assertEquals(quickStartClassFor("STREAM-COMPLEX-TYPE"),
+        RealtimeComplexTypeHandlingQuickStart.class);
+
+    Assert.assertEquals(quickStartClassFor("TIMESTAMP"),
+        TimestampIndexQuickstart.class);
+  }
+
+  private Class<? extends QuickStartBase> quickStartClassFor(String offline)
+      throws InvocationTargetException, NoSuchMethodException, 
InstantiationException, IllegalAccessException {
+    return QuickStartCommand.selectQuickStart(offline).getClass();
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to