You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2014/07/14 14:49:25 UTC
[2/6] git commit: improve Windows launch scripts patch by Ala'
Alkhaldi and Josh McKenzie for CASSANDRA-7503
improve Windows launch scripts
patch by Ala' Alkhaldi and Josh McKenzie for CASSANDRA-7503
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/94605037
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/94605037
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/94605037
Branch: refs/heads/cassandra-2.1.0
Commit: 9460503713891048fbd26549538d9215b8828f52
Parents: 83ac8a6
Author: Jonathan Ellis <jb...@apache.org>
Authored: Mon Jul 14 07:48:03 2014 -0500
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Mon Jul 14 07:48:03 2014 -0500
----------------------------------------------------------------------
bin/cassandra.bat | 3 ++-
bin/cassandra.ps1 | 48 ++++++------------------------------------------
2 files changed, 8 insertions(+), 43 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/94605037/bin/cassandra.bat
----------------------------------------------------------------------
diff --git a/bin/cassandra.bat b/bin/cassandra.bat
index 8f645f2..08c0520 100644
--- a/bin/cassandra.bat
+++ b/bin/cassandra.bat
@@ -35,8 +35,9 @@ goto runLegacy
REM -----------------------------------------------------------------------------
:runPowerShell
echo Detected powershell execution permissions. Running with enhanced startup scripts.
+set errorlevel=
powershell /file "%CASSANDRA_HOME%\bin\cassandra.ps1" %*
-goto finally
+exit /b %errorlevel%
REM -----------------------------------------------------------------------------
:runLegacy
http://git-wip-us.apache.org/repos/asf/cassandra/blob/94605037/bin/cassandra.ps1
----------------------------------------------------------------------
diff --git a/bin/cassandra.ps1 b/bin/cassandra.ps1
index 237c28c..53b0032 100644
--- a/bin/cassandra.ps1
+++ b/bin/cassandra.ps1
@@ -47,7 +47,7 @@ usage: cassandra.ps1 [-f] [-h] [-p pidfile] [-H dumpfile] [-E errorfile] [-insta
-f Run cassandra in foreground
-install install cassandra as a service
-uninstall remove cassandra service
- -p pidfile tracked by server and removed on close
+ -p pidfile tracked by server and removed on close (defaults to pid.txt)
-H change JVM HeapDumpPath
-E change JVM ErrorFile
-help print this message
@@ -109,7 +109,6 @@ Function Main
}
else
{
- CleanOldRun
RunCassandra($f)
}
}
@@ -186,34 +185,6 @@ Function HandleInstallation
}
#-----------------------------------------------------------------------------
-Function CleanOldRun
-{
- # see if we already have an instance of cassandra running from this folder
- if (Test-Path $pidfile)
- {
- $a = Get-Content $pidfile
-
- # file is there but empty
- if ($a -eq $null)
- {
- Remove-Item $pidfile
- return
- }
-
- $proc = Get-Process -Id $a -ErrorAction SilentlyContinue
- if ($proc)
- {
- echo "ERROR! There is already an instance of cassandra running from this folder with pid: $a. Please use stop-server.bat to stop this instance before starting cassandra."
- exit
- }
- else
- {
- Remove-Item $pidfile
- }
- }
-}
-
-#-----------------------------------------------------------------------------
Function RunCassandra([string]$foreground)
{
echo "Starting cassandra server"
@@ -275,8 +246,8 @@ $env:JAVA_BIN
{
$proc = Start-Process -FilePath "$cmd" -ArgumentList $arg1,$arg2,$arg3,$arg4 -PassThru -WindowStyle Hidden
- # Always store the pid, even if we're not registering it with the server
- # The startup script uses this pid file as a protection against duplicate startup from the same folder
+ $exitCode = $?
+
try
{
echo $proc.Id > $pidfile
@@ -287,19 +258,12 @@ $env:JAVA_BIN
WARNING! Failed to write pidfile to $pidfile. stop-server.bat and
startup protection will not be available.
"@
+ exit 1
}
- Start-Sleep -m 100
- $checkProcess = Get-Process -Id $proc.Id -ErrorAction SilentlyContinue
- if ($checkProcess -eq $null)
- {
- echo "Error starting cassandra."
- echo "Run with -v and -f to get foreground verbose information on the error."
- }
- else
+ if (-Not $exitCode)
{
- $cassPid = $proc.Id
- echo "Started cassandra successfully with pid: $cassPid"
+ exit 1
}
}
}