You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by jo...@apache.org on 2019/11/27 22:04:57 UTC
[incubator-druid] branch 0.16.1-incubating updated: Improve
verify-default-ports to check both INADDR_ANY and 127.0.0.1. (#8942)
(#8961)
This is an automated email from the ASF dual-hosted git repository.
jonwei pushed a commit to branch 0.16.1-incubating
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git
The following commit(s) were added to refs/heads/0.16.1-incubating by this push:
new fed805a Improve verify-default-ports to check both INADDR_ANY and 127.0.0.1. (#8942) (#8961)
fed805a is described below
commit fed805a46ed7418c4df9e8288e8f57c5248883da
Author: Jonathan Wei <jo...@users.noreply.github.com>
AuthorDate: Wed Nov 27 14:04:43 2019 -0800
Improve verify-default-ports to check both INADDR_ANY and 127.0.0.1. (#8942) (#8961)
---
examples/bin/verify-default-ports | 32 +++++++++++++++++++++-----------
1 file changed, 21 insertions(+), 11 deletions(-)
diff --git a/examples/bin/verify-default-ports b/examples/bin/verify-default-ports
index 2558292..86376a4 100755
--- a/examples/bin/verify-default-ports
+++ b/examples/bin/verify-default-ports
@@ -21,18 +21,12 @@ use strict;
use warnings;
use Socket;
-my $skip_var = $ENV{'DRUID_SKIP_PORT_CHECK'};
-if ($skip_var && $skip_var ne "0" && $skip_var ne "false" && $skip_var ne "f") {
- exit 0;
-}
+sub try_bind {
+ my ($port, $addr) = @_;
-my @ports = (1527, 2181, 8081, 8082, 8083, 8090, 8091, 8200, 8888);
-
-my $tcp = getprotobyname("tcp");
-for my $port (@ports) {
- socket(my $sock, PF_INET, SOCK_STREAM, $tcp) or die "socket: $!";
+ socket(my $sock, PF_INET, SOCK_STREAM, Socket::IPPROTO_TCP) or die "socket: $!";
setsockopt($sock, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)) or die "setsockopt: $!";
- if (!bind($sock, sockaddr_in($port, INADDR_ANY))) {
+ if (!bind($sock, sockaddr_in($port, $addr))) {
print STDERR <<"EOT";
Cannot start up because port $port is already in use.
@@ -42,11 +36,27 @@ configuration documentation:
https://druid.apache.org/docs/latest/configuration/index.html
If you believe this check is in error, or if you have changed your ports away
-from the defaults, you can skip the check using an environment variable:
+from the defaults, you can skip this check using an environment variable:
export DRUID_SKIP_PORT_CHECK=1
EOT
exit 1;
}
+ shutdown($sock, 2);
+}
+
+my $skip_var = $ENV{'DRUID_SKIP_PORT_CHECK'};
+if ($skip_var && $skip_var ne "0" && $skip_var ne "false" && $skip_var ne "f") {
+ exit 0;
+}
+
+my @ports = @ARGV;
+if (!@ports) {
+ @ports = (1527, 2181, 8081, 8082, 8083, 8090, 8091, 8100, 8200, 8888);
+}
+
+for my $port (@ports) {
+ try_bind($port, INADDR_ANY);
+ try_bind($port, inet_aton("127.0.0.1"));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org