This is an automated email from the ASF dual-hosted git repository.
jackie 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 f141cd21d8 supporting additional headers (#13417)
f141cd21d8 is described below
commit f141cd21d88ff983ac557865b1398f327e2d96dd
Author: hubert <[email protected]>
AuthorDate: Fri Aug 9 13:32:20 2024 -0400
supporting additional headers (#13417)
---
.../command/AbstractDatabaseBaseAdminCommand.java | 148 +++++++++++++++++++++
.../tools/admin/command/AddSchemaCommand.java | 90 ++-----------
.../pinot/tools/admin/command/AddTableCommand.java | 110 ++-------------
.../tools/admin/command/DeleteSchemaCommand.java | 82 +-----------
.../tools/admin/command/DeleteTableCommand.java | 88 +-----------
5 files changed, 175 insertions(+), 343 deletions(-)
diff --git
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AbstractDatabaseBaseAdminCommand.java
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AbstractDatabaseBaseAdminCommand.java
new file mode 100644
index 0000000000..5cd303aa5b
--- /dev/null
+++
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AbstractDatabaseBaseAdminCommand.java
@@ -0,0 +1,148 @@
+/**
+ * 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.admin.command;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import javax.net.ssl.SSLContext;
+import org.apache.hc.core5.http.Header;
+import org.apache.hc.core5.http.message.BasicHeader;
+import org.apache.pinot.common.auth.AuthProviderUtils;
+import org.apache.pinot.common.utils.ClientSSLContextGenerator;
+import org.apache.pinot.spi.auth.AuthProvider;
+import org.apache.pinot.spi.env.PinotConfiguration;
+import org.apache.pinot.spi.utils.CommonConstants;
+import org.apache.pinot.tools.Command;
+import picocli.CommandLine;
+
+
+public abstract class AbstractDatabaseBaseAdminCommand extends
AbstractBaseAdminCommand implements Command {
+ @CommandLine.Option(names = {"-controllerHost"}, required = false,
description = "Host name for controller.")
+ protected String _controllerHost;
+
+ @CommandLine.Option(names = {"-controllerPort"}, required = false,
description = "Port number for controller.")
+ protected String _controllerPort = DEFAULT_CONTROLLER_PORT;
+
+ @CommandLine.Option(names = {"-controllerProtocol"}, required = false,
description = "Protocol for controller.")
+ protected String _controllerProtocol = CommonConstants.HTTP_PROTOCOL;
+
+ @CommandLine.Option(names = {"-user"}, required = false, description =
"Username for basic auth.")
+ protected String _user;
+
+ @CommandLine.Option(names = {"-password"}, required = false, description =
"Password for basic auth.")
+ protected String _password;
+
+ @CommandLine.Option(names = {"-authToken"}, required = false, description =
"Http auth token.")
+ protected String _authToken;
+
+ @CommandLine.Option(names = {"-authTokenUrl"}, required = false, description
= "Http auth token url.")
+ protected String _authTokenUrl;
+
+ protected AuthProvider _authProvider;
+
+ @CommandLine.Option(names = {"-exec"}, required = false, description =
"Execute the command.")
+ protected boolean _exec;
+
+ @CommandLine.Option(names = {"-skipControllerCertValidation"}, required =
false, description = "Whether to skip"
+ + " controller certification validation.")
+ private boolean _skipControllerCertValidation = false;
+
+ @CommandLine.Option(names = {"-database"}, required = false, description =
"Corresponding database.")
+ protected String _database;
+
+ @CommandLine.Option(names = {"-help", "-h", "--h", "--help"}, required =
false, help = true, description = "Print "
+ + "this message.")
+ private boolean _help = false;
+
+ public AbstractDatabaseBaseAdminCommand setControllerHost(String
controllerHost) {
+ _controllerHost = controllerHost;
+ return this;
+ }
+
+ public AbstractDatabaseBaseAdminCommand setControllerPort(String
controllerPort) {
+ _controllerPort = controllerPort;
+ return this;
+ }
+
+ public AbstractDatabaseBaseAdminCommand setControllerProtocol(String
controllerProtocol) {
+ _controllerProtocol = controllerProtocol;
+ return this;
+ }
+
+ public AbstractDatabaseBaseAdminCommand setUser(String user) {
+ _user = user;
+ return this;
+ }
+
+ public AbstractDatabaseBaseAdminCommand setPassword(String password) {
+ _password = password;
+ return this;
+ }
+
+ public AbstractDatabaseBaseAdminCommand setAuthProvider(AuthProvider
authProvider) {
+ _authProvider = authProvider;
+ return this;
+ }
+
+ public AbstractDatabaseBaseAdminCommand setDatabase(String database) {
+ _database = database;
+ return this;
+ }
+
+ protected SSLContext makeTrustAllSSLContext() {
+ if (_skipControllerCertValidation) {
+ PinotConfiguration trustAllSslConfig = new PinotConfiguration();
+ return new ClientSSLContextGenerator(trustAllSslConfig).generate();
+ } else {
+ return null;
+ }
+ }
+
+ protected List<Header> getHeaders() {
+ List<Header> headers = AuthProviderUtils.makeAuthHeaders(
+ AuthProviderUtils.makeAuthProvider(_authProvider, _authTokenUrl,
_authToken, _user, _password));
+ headers.add(new BasicHeader("database", _database));
+ return headers;
+ }
+
+ protected Map<String, String> getHeadersAsMap() {
+ return getHeaders().stream().collect(Collectors.toMap(Header::getName,
Header::getValue));
+ }
+
+ public AbstractDatabaseBaseAdminCommand setExecute(boolean exec) {
+ _exec = exec;
+ return this;
+ }
+
+ @Override
+ public boolean getHelp() {
+ return _help;
+ }
+
+ @Override
+ public String toString() {
+ String retString =
+ (" -controllerProtocol " + _controllerProtocol + " -controllerHost " +
_controllerHost + " -controllerPort "
+ + _controllerPort + " -controllerProtocol " + _controllerProtocol
+ " -database " + _database + " -user "
+ + _user + " -password " + "[hidden]");
+
+ return ((_exec) ? (retString + " -exec") : retString);
+ }
+}
diff --git
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AddSchemaCommand.java
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AddSchemaCommand.java
index 10c7e92e7b..acfc1979d0 100644
---
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AddSchemaCommand.java
+++
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AddSchemaCommand.java
@@ -22,31 +22,18 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.net.URI;
import java.util.Collections;
-import org.apache.pinot.common.auth.AuthProviderUtils;
import org.apache.pinot.common.utils.FileUploadDownloadClient;
-import org.apache.pinot.spi.auth.AuthProvider;
import org.apache.pinot.spi.data.Schema;
-import org.apache.pinot.spi.utils.CommonConstants;
import org.apache.pinot.spi.utils.NetUtils;
-import org.apache.pinot.tools.Command;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import picocli.CommandLine;
@CommandLine.Command(name = "AddSchema")
-public class AddSchemaCommand extends AbstractBaseAdminCommand implements
Command {
+public class AddSchemaCommand extends AbstractDatabaseBaseAdminCommand {
private static final Logger LOGGER =
LoggerFactory.getLogger(AddSchemaCommand.class);
- @CommandLine.Option(names = {"-controllerHost"}, required = false,
description = "Host name for controller.")
- private String _controllerHost;
-
- @CommandLine.Option(names = {"-controllerPort"}, required = false,
description = "Port number for controller.")
- private String _controllerPort = DEFAULT_CONTROLLER_PORT;
-
- @CommandLine.Option(names = {"-controllerProtocol"}, required = false,
description = "Protocol for controller.")
- private String _controllerProtocol = CommonConstants.HTTP_PROTOCOL;
-
@CommandLine.Option(names = {"-schemaFile"}, required = true, description =
"Path to schema file.")
private String _schemaFile = null;
@@ -58,32 +45,6 @@ public class AddSchemaCommand extends
AbstractBaseAdminCommand implements Comman
+ "the schema exists.")
private boolean _force = false;
- @CommandLine.Option(names = {"-exec"}, required = false, description =
"Execute the command.")
- private boolean _exec;
-
- @CommandLine.Option(names = {"-user"}, required = false, description =
"Username for basic auth.")
- private String _user;
-
- @CommandLine.Option(names = {"-password"}, required = false, description =
"Password for basic auth.")
- private String _password;
-
- @CommandLine.Option(names = {"-authToken"}, required = false, description =
"Http auth token.")
- private String _authToken;
-
- @CommandLine.Option(names = {"-authTokenUrl"}, required = false, description
= "Http auth token url.")
- private String _authTokenUrl;
-
- @CommandLine.Option(names = {"-help", "-h", "--h", "--help"}, required =
false, help = true,
- description = "Print this message.")
- private boolean _help = false;
-
- private AuthProvider _authProvider;
-
- @Override
- public boolean getHelp() {
- return _help;
- }
-
@Override
public String description() {
return "Add schema specified in the schema file to the controller";
@@ -96,32 +57,16 @@ public class AddSchemaCommand extends
AbstractBaseAdminCommand implements Comman
@Override
public String toString() {
- String retString = ("AddSchema -controllerProtocol " + _controllerProtocol
+ " -controllerHost " + _controllerHost
- + " -controllerPort " + _controllerPort + " -schemaFile " +
_schemaFile + " -override " + _override + " _force "
- + _force + " -user " + _user + " -password " + "[hidden]");
+ String retString = (getName() + " -schemaFile " + _schemaFile + "
-override " + _override + " _force " + _force
+ + super.toString());
- return ((_exec) ? (retString + " -exec") : retString);
+ return retString;
}
@Override
public void cleanup() {
}
- public AddSchemaCommand setControllerHost(String controllerHost) {
- _controllerHost = controllerHost;
- return this;
- }
-
- public AddSchemaCommand setControllerPort(String controllerPort) {
- _controllerPort = controllerPort;
- return this;
- }
-
- public AddSchemaCommand setControllerProtocol(String controllerProtocol) {
- _controllerProtocol = controllerProtocol;
- return this;
- }
-
public AddSchemaCommand setSchemaFilePath(String schemaFilePath) {
_schemaFile = schemaFilePath;
return this;
@@ -137,23 +82,6 @@ public class AddSchemaCommand extends
AbstractBaseAdminCommand implements Comman
return this;
}
- public void setUser(String user) {
- _user = user;
- }
-
- public void setPassword(String password) {
- _password = password;
- }
-
- public void setAuthProvider(AuthProvider authProvider) {
- _authProvider = authProvider;
- }
-
- public AddSchemaCommand setExecute(boolean exec) {
- _exec = exec;
- return this;
- }
-
@Override
public boolean execute()
throws Exception {
@@ -175,13 +103,11 @@ public class AddSchemaCommand extends
AbstractBaseAdminCommand implements Comman
Schema schema = Schema.fromFile(schemaFile);
try (FileUploadDownloadClient fileUploadDownloadClient = new
FileUploadDownloadClient()) {
- URI schemaURI = FileUploadDownloadClient
- .getUploadSchemaURI(_controllerProtocol, _controllerHost,
Integer.parseInt(_controllerPort));
+ URI schemaURI =
FileUploadDownloadClient.getUploadSchemaURI(_controllerProtocol,
_controllerHost,
+ Integer.parseInt(_controllerPort));
schemaURI = new URI(schemaURI + "?override=" + _override + "&force=" +
_force);
- fileUploadDownloadClient.addSchema(schemaURI,
- schema.getSchemaName(), schemaFile,
AuthProviderUtils.makeAuthHeaders(
- AuthProviderUtils.makeAuthProvider(_authProvider, _authTokenUrl,
_authToken,
- _user, _password)), Collections.emptyList());
+ fileUploadDownloadClient.addSchema(schemaURI, schema.getSchemaName(),
schemaFile, getHeaders(),
+ Collections.emptyList());
} catch (Exception e) {
LOGGER.error("Got Exception to upload Pinot Schema: {}",
schema.getSchemaName(), e);
return false;
diff --git
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AddTableCommand.java
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AddTableCommand.java
index 078196b29d..389a1463f6 100644
---
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AddTableCommand.java
+++
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/AddTableCommand.java
@@ -23,21 +23,14 @@ import com.google.common.base.Preconditions;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.Callable;
-import javax.net.ssl.SSLContext;
-import org.apache.pinot.common.auth.AuthProviderUtils;
-import org.apache.pinot.common.utils.ClientSSLContextGenerator;
-import org.apache.pinot.spi.auth.AuthProvider;
import org.apache.pinot.spi.config.TableConfigs;
import org.apache.pinot.spi.config.table.TableConfig;
import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.Schema;
-import org.apache.pinot.spi.env.PinotConfiguration;
-import org.apache.pinot.spi.utils.CommonConstants;
import org.apache.pinot.spi.utils.JsonUtils;
import org.apache.pinot.spi.utils.NetUtils;
import org.apache.pinot.spi.utils.builder.ControllerRequestURLBuilder;
import org.apache.pinot.spi.utils.builder.TableNameBuilder;
-import org.apache.pinot.tools.Command;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import picocli.CommandLine;
@@ -48,7 +41,7 @@ import picocli.CommandLine;
*
*/
@CommandLine.Command(name = "AddTable")
-public class AddTableCommand extends AbstractBaseAdminCommand implements
Command {
+public class AddTableCommand extends AbstractDatabaseBaseAdminCommand {
private static final Logger LOGGER =
LoggerFactory.getLogger(AddTableCommand.class);
@CommandLine.Option(names = {"-tableConfigFile", "-tableConf",
"-tableConfig", "-filePath"}, description = "Path to"
@@ -69,51 +62,12 @@ public class AddTableCommand extends
AbstractBaseAdminCommand implements Command
+ " table schema file.")
private String _schemaFile = null;
- @CommandLine.Option(names = {"-controllerHost"}, required = false,
description = "Host name for controller.")
- private String _controllerHost;
-
- @CommandLine.Option(names = {"-controllerPort"}, required = false,
description = "Port number for controller.")
- private String _controllerPort = DEFAULT_CONTROLLER_PORT;
-
- @CommandLine.Option(names = {"-controllerProtocol"}, required = false,
description = "Protocol for controller.")
- private String _controllerProtocol = CommonConstants.HTTP_PROTOCOL;
-
@CommandLine.Option(names = {"-update"}, required = false, description =
"Update the existing table instead of "
+ "creating new one")
private boolean _update = false;
- @CommandLine.Option(names = {"-exec"}, required = false, description =
"Execute the command.")
- private boolean _exec;
-
- @CommandLine.Option(names = {"-skipControllerCertValidation"}, required =
false, description = "Whether to skip"
- + " controller certification validation.")
- private boolean _skipControllerCertValidation = false;
-
- @CommandLine.Option(names = {"-user"}, required = false, description =
"Username for basic auth.")
- private String _user;
-
- @CommandLine.Option(names = {"-password"}, required = false, description =
"Password for basic auth.")
- private String _password;
-
- @CommandLine.Option(names = {"-authToken"}, required = false, description =
"Http auth token.")
- private String _authToken;
-
- @CommandLine.Option(names = {"-authTokenUrl"}, required = false, description
= "Http auth token url.")
- private String _authTokenUrl;
-
- @CommandLine.Option(names = {"-help", "-h", "--h", "--help"}, required =
false, help = true, description = "Print "
- + "this message.")
- private boolean _help = false;
-
private String _controllerAddress;
- private AuthProvider _authProvider;
-
- @Override
- public boolean getHelp() {
- return _help;
- }
-
@Override
public String getName() {
return "AddTable";
@@ -126,10 +80,12 @@ public class AddTableCommand extends
AbstractBaseAdminCommand implements Command
@Override
public String toString() {
- return "AddTable -tableConfigFile " + _tableConfigFile + "
-offlineTableConfigFile " + _offlineTableConfigFile
- + " -realtimeTableConfigFile " + _realtimeTableConfigFile + "
-schemaFile " + _schemaFile
- + " -controllerProtocol " + _controllerProtocol + " -controllerHost "
+ _controllerHost + " -controllerPort "
- + _controllerPort + " -user " + _user + " -password [hidden]" + (_exec
? " -exec" : "");
+ String retString =
+ (getName() + " -tableConfigFile " + _tableConfigFile + "
-offlineTableConfigFile " + _offlineTableConfigFile
+ + " -realtimeTableConfigFile " + _realtimeTableConfigFile + "
-schemaFile " + _schemaFile
+ + super.toString());
+
+ return retString;
}
@Override
@@ -156,47 +112,10 @@ public class AddTableCommand extends
AbstractBaseAdminCommand implements Command
return this;
}
- public AddTableCommand setControllerHost(String controllerHost) {
- _controllerHost = controllerHost;
- return this;
- }
-
- public AddTableCommand setControllerPort(String controllerPort) {
- _controllerPort = controllerPort;
- return this;
- }
-
- public AddTableCommand setControllerProtocol(String controllerProtocol) {
- _controllerProtocol = controllerProtocol;
- return this;
- }
-
- public AddTableCommand setUser(String user) {
- _user = user;
- return this;
- }
-
- public AddTableCommand setPassword(String password) {
- _password = password;
- return this;
- }
-
- public AddTableCommand setExecute(boolean exec) {
- _exec = exec;
- return this;
- }
-
- public AddTableCommand setAuthProvider(AuthProvider authProvider) {
- _authProvider = authProvider;
- return this;
- }
-
public boolean sendTableCreationRequest(JsonNode node)
throws IOException {
String res = AbstractBaseAdminCommand.sendRequest("POST",
-
ControllerRequestURLBuilder.baseUrl(_controllerAddress).forTableConfigsCreate(),
node.toString(),
- AuthProviderUtils.makeAuthHeaders(
- AuthProviderUtils.makeAuthProvider(_authProvider, _authTokenUrl,
_authToken, _user, _password)),
+
ControllerRequestURLBuilder.baseUrl(_controllerAddress).forTableConfigsCreate(),
node.toString(), getHeaders(),
makeTrustAllSSLContext());
LOGGER.info(res);
return res.contains("successfully added");
@@ -206,22 +125,11 @@ public class AddTableCommand extends
AbstractBaseAdminCommand implements Command
throws IOException {
String res = AbstractBaseAdminCommand.sendRequest("PUT",
ControllerRequestURLBuilder.baseUrl(_controllerAddress).forTableConfigsUpdate(tableName),
node.toString(),
- AuthProviderUtils.makeAuthHeaders(
- AuthProviderUtils.makeAuthProvider(_authProvider, _authTokenUrl,
_authToken, _user, _password)),
- makeTrustAllSSLContext());
+ getHeaders(), makeTrustAllSSLContext());
LOGGER.info(res);
return res.contains("TableConfigs updated");
}
- private SSLContext makeTrustAllSSLContext() {
- if (_skipControllerCertValidation) {
- PinotConfiguration trustAllSslConfig = new PinotConfiguration();
- return new ClientSSLContextGenerator(trustAllSslConfig).generate();
- } else {
- return null;
- }
- }
-
@Override
public boolean execute()
throws Exception {
diff --git
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/DeleteSchemaCommand.java
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/DeleteSchemaCommand.java
index c0dd09c3ff..437111e5d3 100644
---
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/DeleteSchemaCommand.java
+++
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/DeleteSchemaCommand.java
@@ -18,60 +18,21 @@
*/
package org.apache.pinot.tools.admin.command;
-import java.util.Collections;
import org.apache.pinot.common.auth.AuthProviderUtils;
import org.apache.pinot.common.utils.FileUploadDownloadClient;
-import org.apache.pinot.spi.auth.AuthProvider;
-import org.apache.pinot.spi.utils.CommonConstants;
import org.apache.pinot.spi.utils.NetUtils;
-import org.apache.pinot.tools.Command;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import picocli.CommandLine;
@CommandLine.Command(name = "DeleteSchema")
-public class DeleteSchemaCommand extends AbstractBaseAdminCommand implements
Command {
+public class DeleteSchemaCommand extends AbstractDatabaseBaseAdminCommand {
private static final Logger LOGGER =
LoggerFactory.getLogger(DeleteSchemaCommand.class);
- @CommandLine.Option(names = {"-controllerHost"}, required = false,
description = "Host name for controller.")
- private String _controllerHost;
-
- @CommandLine.Option(names = {"-controllerPort"}, required = false,
description = "Port number for controller.")
- private String _controllerPort = DEFAULT_CONTROLLER_PORT;
-
- @CommandLine.Option(names = {"-controllerProtocol"}, required = false,
description = "Protocol for controller.")
- private String _controllerProtocol = CommonConstants.HTTP_PROTOCOL;
-
@CommandLine.Option(names = {"-schemaName"}, required = true, description =
"Schema name.")
private String _schemaName = null;
- @CommandLine.Option(names = {"-exec"}, required = false, description =
"Execute the command.")
- private boolean _exec;
-
- @CommandLine.Option(names = {"-user"}, required = false, description =
"Username for basic auth.")
- private String _user;
-
- @CommandLine.Option(names = {"-password"}, required = false, description =
"Password for basic auth.")
- private String _password;
-
- @CommandLine.Option(names = {"-authToken"}, required = false, description =
"Http auth token.")
- private String _authToken;
-
- @CommandLine.Option(names = {"-authTokenUrl"}, required = false, description
= "Http auth token url.")
- private String _authTokenUrl;
-
- @CommandLine.Option(names = {"-help", "-h", "--h", "--help"}, required =
false, help = true, description = "Print "
- + "this message.")
- private boolean _help = false;
-
- private AuthProvider _authProvider;
-
- @Override
- public boolean getHelp() {
- return _help;
- }
-
@Override
public String description() {
return "Delete schema specified via name";
@@ -84,55 +45,18 @@ public class DeleteSchemaCommand extends
AbstractBaseAdminCommand implements Com
@Override
public String toString() {
- String retString =
- ("DeleteSchema -controllerProtocol " + _controllerProtocol + "
-controllerHost " + _controllerHost
- + " -controllerPort " + _controllerPort + " -schemaName " +
_schemaName + " -user " + _user + " -password "
- + "[hidden]");
-
- return ((_exec) ? (retString + " -exec") : retString);
+ return (getName() + " -schemaName " + _schemaName + super.toString());
}
@Override
public void cleanup() {
}
- public DeleteSchemaCommand setControllerHost(String controllerHost) {
- _controllerHost = controllerHost;
- return this;
- }
-
- public DeleteSchemaCommand setControllerPort(String controllerPort) {
- _controllerPort = controllerPort;
- return this;
- }
-
- public DeleteSchemaCommand setControllerProtocol(String controllerProtocol) {
- _controllerProtocol = controllerProtocol;
- return this;
- }
-
public DeleteSchemaCommand setSchemaName(String schemaName) {
_schemaName = schemaName;
return this;
}
- public void setUser(String user) {
- _user = user;
- }
-
- public void setPassword(String password) {
- _password = password;
- }
-
- public void setAuthProvider(AuthProvider authProvider) {
- _authProvider = authProvider;
- }
-
- public DeleteSchemaCommand setExecute(boolean exec) {
- _exec = exec;
- return this;
- }
-
@Override
public boolean execute()
throws Exception {
@@ -150,7 +74,7 @@ public class DeleteSchemaCommand extends
AbstractBaseAdminCommand implements Com
try (FileUploadDownloadClient fileUploadDownloadClient = new
FileUploadDownloadClient()) {
fileUploadDownloadClient.getHttpClient().sendDeleteRequest(
FileUploadDownloadClient.getDeleteSchemaURI(_controllerProtocol,
_controllerHost,
- Integer.parseInt(_controllerPort), _schemaName),
Collections.emptyMap(),
+ Integer.parseInt(_controllerPort), _schemaName),
getHeadersAsMap(),
AuthProviderUtils.makeAuthProvider(_authProvider, _authTokenUrl,
_authToken, _user, _password));
} catch (Exception e) {
LOGGER.error("Got Exception while deleting Pinot Schema: {}",
_schemaName, e);
diff --git
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/DeleteTableCommand.java
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/DeleteTableCommand.java
index cc31e20ab5..e6abc1842d 100644
---
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/DeleteTableCommand.java
+++
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/DeleteTableCommand.java
@@ -18,20 +18,17 @@
*/
package org.apache.pinot.tools.admin.command;
-import java.util.Collections;
import org.apache.pinot.common.auth.AuthProviderUtils;
import org.apache.pinot.common.utils.FileUploadDownloadClient;
import org.apache.pinot.spi.auth.AuthProvider;
-import org.apache.pinot.spi.utils.CommonConstants;
import org.apache.pinot.spi.utils.NetUtils;
-import org.apache.pinot.tools.Command;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import picocli.CommandLine;
@CommandLine.Command(name = "DeleteTable")
-public class DeleteTableCommand extends AbstractBaseAdminCommand implements
Command {
+public class DeleteTableCommand extends AbstractDatabaseBaseAdminCommand {
private static final Logger LOGGER =
LoggerFactory.getLogger(DeleteTableCommand.class);
@CommandLine.Option(names = {"-tableName"}, required = true, description =
"Name of the table to delete.")
@@ -45,43 +42,10 @@ public class DeleteTableCommand extends
AbstractBaseAdminCommand implements Comm
+ "the cluster setting, then '7d'. Using 0d or -1d will instantly delete
segments without retention.")
private String _retention;
- @CommandLine.Option(names = {"-controllerHost"}, required = false,
description = "Host name for controller.")
- private String _controllerHost;
-
- @CommandLine.Option(names = {"-controllerPort"}, required = false,
description = "Port number for controller.")
- private String _controllerPort = DEFAULT_CONTROLLER_PORT;
-
- @CommandLine.Option(names = {"-controllerProtocol"}, required = false,
description = "Protocol for controller.")
- private String _controllerProtocol = CommonConstants.HTTP_PROTOCOL;
-
- @CommandLine.Option(names = {"-exec"}, required = false, description =
"Execute the command.")
- private boolean _exec;
-
- @CommandLine.Option(names = {"-user"}, required = false, description =
"Username for basic auth.")
- private String _user;
-
- @CommandLine.Option(names = {"-password"}, required = false, description =
"Password for basic auth.")
- private String _password;
-
- @CommandLine.Option(names = {"-authToken"}, required = false, description =
"Http auth token.")
- private String _authToken;
-
- @CommandLine.Option(names = {"-authTokenUrl"}, required = false, description
= "Http auth token url.")
- private String _authTokenUrl;
-
- @CommandLine.Option(names = {"-help", "-h", "--h", "--help"}, required =
false, help = true, description = "Print "
- + "this message.")
- private boolean _help = false;
-
private String _controllerAddress;
private AuthProvider _authProvider;
- @Override
- public boolean getHelp() {
- return _help;
- }
-
@Override
public String getName() {
return "DeleteTable";
@@ -94,11 +58,8 @@ public class DeleteTableCommand extends
AbstractBaseAdminCommand implements Comm
@Override
public String toString() {
- String retString =
- ("DeleteTable -tableName " + _tableName + " -type " + _type + "
-retention " + _retention
- + " -controllerProtocol " + _controllerProtocol + "
-controllerHost " + _controllerHost
- + " -controllerPort " + _controllerPort + " -user " + _user + "
-password " + "[hidden]");
- return ((_exec) ? (retString + " -exec") : retString);
+ return (getName() + " -tableName " + _tableName + " -type " + _type + "
-retention " + _retention
+ + super.toString());
}
@Override
@@ -120,41 +81,6 @@ public class DeleteTableCommand extends
AbstractBaseAdminCommand implements Comm
return this;
}
- public DeleteTableCommand setControllerHost(String controllerHost) {
- _controllerHost = controllerHost;
- return this;
- }
-
- public DeleteTableCommand setControllerPort(String controllerPort) {
- _controllerPort = controllerPort;
- return this;
- }
-
- public DeleteTableCommand setControllerProtocol(String controllerProtocol) {
- _controllerProtocol = controllerProtocol;
- return this;
- }
-
- public DeleteTableCommand setUser(String user) {
- _user = user;
- return this;
- }
-
- public DeleteTableCommand setPassword(String password) {
- _password = password;
- return this;
- }
-
- public DeleteTableCommand setExecute(boolean exec) {
- _exec = exec;
- return this;
- }
-
- public DeleteTableCommand setAuthProvider(AuthProvider authProvider) {
- _authProvider = authProvider;
- return this;
- }
-
@Override
public boolean execute()
throws Exception {
@@ -170,10 +96,10 @@ public class DeleteTableCommand extends
AbstractBaseAdminCommand implements Comm
LOGGER.info("Executing command: {}", toString());
try (FileUploadDownloadClient fileUploadDownloadClient = new
FileUploadDownloadClient()) {
-
fileUploadDownloadClient.getHttpClient().sendDeleteRequest(FileUploadDownloadClient
- .getDeleteTableURI(_controllerProtocol, _controllerHost,
Integer.parseInt(_controllerPort),
- _tableName, _type, _retention), Collections.emptyMap(),
AuthProviderUtils.makeAuthProvider(_authProvider,
- _authTokenUrl, _authToken, _user, _password));
+ fileUploadDownloadClient.getHttpClient().sendDeleteRequest(
+ FileUploadDownloadClient.getDeleteTableURI(_controllerProtocol,
_controllerHost,
+ Integer.parseInt(_controllerPort), _tableName, _type,
_retention), getHeadersAsMap(),
+ AuthProviderUtils.makeAuthProvider(_authProvider, _authTokenUrl,
_authToken, _user, _password));
} catch (Exception e) {
LOGGER.error("Got Exception while deleting Pinot Table: {}", _tableName,
e);
return false;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]