5cb045e2aad686bb7bb6eb19ae310b5fb81cfb33
java/com.sap.sailing.landscape/resources/stringmessages/SailingLandscape_StringMessages.properties
| ... | ... | @@ -1,18 +1,18 @@ |
| 1 | 1 | MasterUnavailableMailSubject=Primary server of replica set {0} temporarily unavailable |
| 2 | -MasterUnavailableMailBody=The primary server of replica set {0} is temporarily unavailable.\nModifying access will be suspended.\nModifications incurred by a replica will be queued and will be applied when the primary is available again.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace: if you do not like to receive these messages anymore. |
|
| 2 | +MasterUnavailableMailBody=The primary server of replica set {0} is temporarily unavailable.\nModifying access will be suspended.\nModifications incurred by a replica will be queued and will be applied when the primary is available again.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:> if you do not like to receive these messages anymore. |
|
| 3 | 3 | MasterAvailableMailSubject=Primary server of replica set {0} available again |
| 4 | 4 | MasterAvailableMailBody=The primary server of replica set {0} is available again.\nModifying access is possible again.\nQueued modifications will now process.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace: if you do not like to receive these messages anymore. |
| 5 | 5 | StartingNewArchiveCandidateSubject=Starting new {0} candidate |
| 6 | 6 | StartingNewArchiveCandidateBody=Starting new {0} candidate.\nFirst, archived content is loaded from the MongoDB; afterwards wind estimations and mark passings are calculated.\nThe whole process can take up to two days.\nYou will receive another e-mail when this phase has finished.\nAlso check the status of the candidate at https://archive-canidate.sapsailing.com/gwt/status |
| 7 | 7 | NewArchiveServerLiveSubject=New {0} server is live |
| 8 | -NewArchiveServerLiveBody=New {0} server is live.\nYou can now archive content to {0}.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace: if you do not like to receive these messages anymore. |
|
| 8 | +NewArchiveServerLiveBody=New {0} server is live.\nYou can now archive content to {0}.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:> if you do not like to receive these messages anymore. |
|
| 9 | 9 | StartingToArchiveReplicaSetIntoSubject=Starting to archive a replica set to {0} |
| 10 | -StartingToArchiveReplicaSetIntoBody=Starting to archive a replica set to {0}.\nWhile this is going on, refrain from archiving another replica set into the same archive {0}.\nAfter the content has been imported it will be compared to the original.\nYou should receive another e-mail when this has completed.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace: if you do not like to receive these messages anymore. |
|
| 10 | +StartingToArchiveReplicaSetIntoBody=Starting to archive a replica set to {0}.\nWhile this is going on, refrain from archiving another replica set into the same archive {0}.\nAfter the content has been imported it will be compared to the original.\nYou should receive another e-mail when this has completed.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:> if you do not like to receive these messages anymore. |
|
| 11 | 11 | StartingToArchiveReplicaSetSubject=Starting to archive replica set {0} |
| 12 | -StartingToArchiveReplicaSetBody=Starting to archive a replica set {0}.\nWhile this is ongoing please do not make any modifications to {0}.\nYou will receive another e-mail when this process has finished.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace: if you do not like to receive these messages anymore. |
|
| 12 | +StartingToArchiveReplicaSetBody=Starting to archive a replica set {0}.\nWhile this is ongoing please do not make any modifications to {0}.\nYou will receive another e-mail when this process has finished.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:> if you do not like to receive these messages anymore. |
|
| 13 | 13 | FinishedToArchiveReplicaSetIntoSubject=Archiving a replica set to {0} finished |
| 14 | -FinishedToArchiveReplicaSetIntoBody=Archiving a replica set to {0} has finished.\nYou can now archive other content to {0} if you want.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace: if you do not like to receive these messages anymore. |
|
| 14 | +FinishedToArchiveReplicaSetIntoBody=Archiving a replica set to {0} has finished.\nYou can now archive other content to {0} if you want.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:> if you do not like to receive these messages anymore. |
|
| 15 | 15 | FinishedToArchiveReplicaSetSubject=Archiving replica set {0} finished |
| 16 | -FinishedToArchiveReplicaSetBody=Archiving replica set {0} has finished.\nIf you requested so, the original replica set has been removed.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace: if you do not like to receive these messages anymore. |
|
| 16 | +FinishedToArchiveReplicaSetBody=Archiving replica set {0} has finished.\nIf you requested so, the original replica set has been removed.\n\nYou are receiving this mail because you have administrative permissions for {0}.\nRemove those permissions at <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:> if you do not like to receive these messages anymore. |
|
| 17 | 17 | NewArchiveCandidateReadyForSpotChecksAndRotationSubject=The new {0} candidate is ready for spot checks |
| 18 | -NewArchiveCandidateReadyForSpotChecksAndRotationBody=We''ve run the following checks:\n{3}.\nThe new {0} candidate is ready for spot checks and, if OK, rotation to become the new production {0}.\nRun your spot checks at https://{1}/gwt/Home.html#EventsPlace: and compare to https://{2}/gwt/Home.html#EventsPlace:.\nStart the rotation to the new production server at https://security-service.sapsailing.com/gwt/AdminConsole.html#LandscapeManagementPlace: after successful checks. |
|
| ... | ... | \ No newline at end of file |
| 0 | +NewArchiveCandidateReadyForSpotChecksAndRotationBody=We''ve run the following checks:\n{3}.\nThe new {0} candidate is ready for spot checks and, if OK, rotation to become the new production {0}.\nRun your spot checks at <https://{1}/gwt/Home.html#EventsPlace:> and compare to <https://{2}/gwt/Home.html#EventsPlace:>.\nStart the rotation to the new production server at <https://security-service.sapsailing.com/gwt/AdminConsole.html#LandscapeManagementPlace:> after successful checks. |
|
| ... | ... | \ No newline at end of file |
java/com.sap.sailing.landscape/resources/stringmessages/SailingLandscape_StringMessages_de.properties
| ... | ... | @@ -1,18 +1,18 @@ |
| 1 | 1 | MasterUnavailableMailSubject=Primär-Server des Anwendungs-Clusters {0} vorübergehend nicht verfügbar |
| 2 | -MasterUnavailableMailBody=Der Primär-Server des Anwendungs-Clusters {0} ist vorübergehend nicht verfügbar.\nVerändernde Zugriffe sind derzeit nicht möglich.\nModifikationen, die durch eine Replika ausgeüfhrt werden, werden gepuffert und werden angewandt, wenn der primäre Server wieder verfügbar ist.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 2 | +MasterUnavailableMailBody=Der Primär-Server des Anwendungs-Clusters {0} ist vorübergehend nicht verfügbar.\nVerändernde Zugriffe sind derzeit nicht möglich.\nModifikationen, die durch eine Replika ausgeüfhrt werden, werden gepuffert und werden angewandt, wenn der primäre Server wieder verfügbar ist.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:>, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 3 | 3 | MasterAvailableMailSubject=Primär-Server des Anwendungs-Clusters {0} wieder verfügbar |
| 4 | -MasterAvailableMailBody=Der Primär-Server des Anwendungs-Clusters {0} ist wieder verfügbar.\nVerändernde Zugriffe sind jetzt wieder möglich.\nGepufferte Modifikationen werden jetzt abgearbeitet.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 4 | +MasterAvailableMailBody=Der Primär-Server des Anwendungs-Clusters {0} ist wieder verfügbar.\nVerändernde Zugriffe sind jetzt wieder möglich.\nGepufferte Modifikationen werden jetzt abgearbeitet.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:>, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 5 | 5 | StartingNewArchiveCandidateSubject=Neuer {0}-Kandidat wird gestartet |
| 6 | 6 | StartingNewArchiveCandidateBody=Neuer {0}-Kandidat wird gestartet.\nZuerst werden dabei die archivierten Veranstaltungen von der Datenbank geladen. Danach werden Manöver, Windschätzungen und Zwischenzeiten berechnet.\nDieser Prozess kann bis zu zwei vollen Tagen dauern.\nEine weitere e-Mail benachrichtigt über den Abschluss dieser Phase.\nUnter https://archive-canidate.sapsailing.com/gwt/status kann der Status des Kandidaten verfolgt werden. |
| 7 | 7 | NewArchiveServerLiveSubject=Neuer {0}-Server ist live |
| 8 | 8 | NewArchiveServerLiveBody=Neuer {0}-Server ist live.\nAb jetzt dürfen wieder Anwendungs-Cluster nach {0} archiviert werden.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:, um diese Rechte für Dein Benutzerkonto zu entfernen. |
| 9 | 9 | StartingToArchiveReplicaSetIntoSubject=Anwendungs-Cluster wird nach {0} archiviert |
| 10 | -StartingToArchiveReplicaSetIntoBody=Ein Anwendungs-Cluster wird nach {0} archiviert.\nWährend dieser Vorgang läuft, dürfen keine weitere Anwendungs-Cluster nach {0} archiviert werden.\nNach der Archivierung werden die Inhalte verglichen.\nEine e-Mail folgt, wenn der Vorgang abgeschlossen ist.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 10 | +StartingToArchiveReplicaSetIntoBody=Ein Anwendungs-Cluster wird nach {0} archiviert.\nWährend dieser Vorgang läuft, dürfen keine weitere Anwendungs-Cluster nach {0} archiviert werden.\nNach der Archivierung werden die Inhalte verglichen.\nEine e-Mail folgt, wenn der Vorgang abgeschlossen ist.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:>, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 11 | 11 | StartingToArchiveReplicaSetSubject=Anwendungs-Cluster {0} wird archiviert |
| 12 | -StartingToArchiveReplicaSetBody=Das Anwendungs-Cluster {0} wird jetzt archiviert.\nWährenddessen dürfen keine Veränderungen an {0} vorgenommen werden.\nEine e-Mail folgt, wenn der Vorgang abgeschlossen ist.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 12 | +StartingToArchiveReplicaSetBody=Das Anwendungs-Cluster {0} wird jetzt archiviert.\nWährenddessen dürfen keine Veränderungen an {0} vorgenommen werden.\nEine e-Mail folgt, wenn der Vorgang abgeschlossen ist.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:>, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 13 | 13 | FinishedToArchiveReplicaSetIntoSubject=Archivierung des Anwendungs-Clusters nach {0} beendet |
| 14 | -FinishedToArchiveReplicaSetIntoBody=Die Archivierung des Anwendungs-Clusters nach {0} ist beendet.\nAb jetzt sind bei Bedarf weitere Archivierungen nach {0} möglich.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 14 | +FinishedToArchiveReplicaSetIntoBody=Die Archivierung des Anwendungs-Clusters nach {0} ist beendet.\nAb jetzt sind bei Bedarf weitere Archivierungen nach {0} möglich.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:>, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 15 | 15 | FinishedToArchiveReplicaSetSubject=Archivierung des Anwendungs-Clusters {0} beendet |
| 16 | -FinishedToArchiveReplicaSetBody=Die Archivierung des Anwendungs-Clusters {0} ist beendet.\nFalls angefragt, wurde das Original Anwendungs-Cluster entfernt.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 16 | +FinishedToArchiveReplicaSetBody=Die Archivierung des Anwendungs-Clusters {0} ist beendet.\nFalls angefragt, wurde das Original Anwendungs-Cluster entfernt.\n\nDiese Nachricht wurde versandt, weil Du über administrative Rechte für {0} verfügst.\nUm das zu ändern, besuche <https://sapsailing.com/gwt/AdminConsole.html#UserManagementPlace:>, um diese Rechte für Dein Benutzerkonto zu entfernen. |
|
| 17 | 17 | NewArchiveCandidateReadyForSpotChecksAndRotationSubject=Der neue {0} Kandidat ist bereit für einen stichprobenartigen Vergleich |
| 18 | -NewArchiveCandidateReadyForSpotChecksAndRotationBody=Es wurden die folgenden Prüfungen durchgeführt:\n{3}.\nDer neue {0} Kandidat ist bereit für einen stichprobenartigen Vergleich\nund, falls OK, Rotation zum neuen Produktiv-Server für {0}.\nStichprobenartiger Vergleich unter https://{1}/gwt/Home.html#EventsPlace: und https://{2}/gwt/Home.html#EventsPlace:.\nRotation nach erfolgreichen Prüfungen unter https://security-service.sapsailing.com/gwt/AdminConsole.html#LandscapeManagementPlace: starten. |
|
| ... | ... | \ No newline at end of file |
| 0 | +NewArchiveCandidateReadyForSpotChecksAndRotationBody=Es wurden die folgenden Prüfungen durchgeführt:\n{3}.\nDer neue {0} Kandidat ist bereit für einen stichprobenartigen Vergleich\nund, falls OK, Rotation zum neuen Produktiv-Server für {0}.\nStichprobenartiger Vergleich unter https://{1}/gwt/Home.html#EventsPlace: und https://{2}/gwt/Home.html#EventsPlace:.\nRotation nach erfolgreichen Prüfungen unter <https://security-service.sapsailing.com/gwt/AdminConsole.html#LandscapeManagementPlace:> starten. |
|
| ... | ... | \ No newline at end of file |
java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/LandscapeServiceImpl.java
| ... | ... | @@ -334,7 +334,7 @@ public class LandscapeServiceImpl implements LandscapeService { |
| 334 | 334 | } |
| 335 | 335 | |
| 336 | 336 | @Override |
| 337 | - public void makeCandidateArchiveServerGoLive(String regionId, String optionalKeyName, |
|
| 337 | + public void makeCandidateArchiveServerGoLive(String regionId, String optionalKeyNameOrNull, |
|
| 338 | 338 | byte[] privateKeyEncryptionPassphrase, String optionalDomainName) |
| 339 | 339 | throws Exception { |
| 340 | 340 | final AwsLandscape<String> landscape = getLandscape(); |
| ... | ... | @@ -343,7 +343,7 @@ public class LandscapeServiceImpl implements LandscapeService { |
| 343 | 343 | final AwsApplicationReplicaSet<String, SailingAnalyticsMetrics, SailingAnalyticsProcess<String>> archiveReplicaSet = getApplicationReplicaSet( |
| 344 | 344 | region, SharedLandscapeConstants.ARCHIVE_SERVER_APPLICATION_REPLICA_SET_NAME, |
| 345 | 345 | Landscape.WAIT_FOR_PROCESS_TIMEOUT.map(Duration::asMillis).orElse(null), |
| 346 | - optionalKeyName, privateKeyEncryptionPassphrase); |
|
| 346 | + optionalKeyNameOrNull, privateKeyEncryptionPassphrase); |
|
| 347 | 347 | if (archiveReplicaSet == null) { |
| 348 | 348 | throw new IllegalArgumentException("Couldn't find candidate replica set with name " |
| 349 | 349 | + SharedLandscapeConstants.ARCHIVE_SERVER_APPLICATION_REPLICA_SET_NAME + " in region " + regionId); |
| ... | ... | @@ -351,14 +351,15 @@ public class LandscapeServiceImpl implements LandscapeService { |
| 351 | 351 | final SailingAnalyticsProcess<String> candidate = archiveReplicaSet.getMaster(); |
| 352 | 352 | final ReverseProxy<String, SailingAnalyticsMetrics, SailingAnalyticsProcess<String>, RotatingFileBasedLog> reverseProxyCluster = |
| 353 | 353 | getLandscape().getCentralReverseProxy(region); |
| 354 | + final Optional<String> optionalKeyName = Optional.ofNullable(optionalKeyNameOrNull); |
|
| 354 | 355 | final Pair<String, String> archiveAndFailoverIPs = reverseProxyCluster |
| 355 | - .getArchiveAndFailoverIPs(Optional.ofNullable(optionalKeyName), privateKeyEncryptionPassphrase); |
|
| 356 | + .getArchiveAndFailoverIPs(optionalKeyName, privateKeyEncryptionPassphrase); |
|
| 356 | 357 | logger.info("Found new candidate " + candidate.getHost() |
| 357 | 358 | .getInstanceId() + " with internal IP " |
| 358 | 359 | + candidate.getHost().getPrivateAddress() + " and current production ARCHIVE " |
| 359 | 360 | + archiveAndFailoverIPs.getA() + ". Turning production into failover and candidate into production."); |
| 360 | 361 | reverseProxyCluster.setArchiveAndFailoverIPs(candidate.getHost().getPrivateAddress().getHostAddress(), |
| 361 | - archiveAndFailoverIPs.getA(), Optional.ofNullable(optionalKeyName), privateKeyEncryptionPassphrase); |
|
| 362 | + archiveAndFailoverIPs.getA(), optionalKeyName, privateKeyEncryptionPassphrase); |
|
| 362 | 363 | try { |
| 363 | 364 | final SailingAnalyticsHost<String> oldProductionArchive = getLandscape().getHostByPrivateDnsNameOrIpAddress(region, archiveAndFailoverIPs.getA(), new SailingAnalyticsHostSupplier<>()); |
| 364 | 365 | getLandscape().setInstanceName(oldProductionArchive, SharedLandscapeConstants.ARCHIVE_SERVER_FAILOVER_INSTANCE_NAME); |
| ... | ... | @@ -367,14 +368,23 @@ public class LandscapeServiceImpl implements LandscapeService { |
| 367 | 368 | } |
| 368 | 369 | getLandscape().setInstanceName(candidate.getHost(), SharedLandscapeConstants.ARCHIVE_SERVER_INSTANCE_NAME); |
| 369 | 370 | logger.info("Removing reverse proxy rule for archive candidate with hostname "+ candidateHostname); |
| 370 | - reverseProxyCluster.removeRedirect(candidateHostname, Optional.ofNullable(optionalKeyName), privateKeyEncryptionPassphrase); |
|
| 371 | + reverseProxyCluster.removeRedirect(candidateHostname, optionalKeyName, privateKeyEncryptionPassphrase); |
|
| 371 | 372 | try { |
| 372 | 373 | final SailingAnalyticsHost<String> oldFailover = getLandscape().getHostByPrivateDnsNameOrIpAddress(region, |
| 373 | 374 | archiveAndFailoverIPs.getB(), new SailingAnalyticsHostSupplier<>()); |
| 374 | - logger.info("Terminating old failover host " + oldFailover.getInstanceId() + " with internal IP " |
|
| 375 | - + oldFailover.getPrivateAddress()); |
|
| 376 | 375 | oldFailover.setTerminationProtection(false); |
| 377 | - oldFailover.terminate(); |
|
| 376 | + logger.info("Terminating old failover process, and hence probably host " + oldFailover.getInstanceId() |
|
| 377 | + + " with internal IP " + oldFailover.getPrivateAddress()); |
|
| 378 | + for (final SailingAnalyticsProcess<String> applicationProcessOnOldFailover : oldFailover |
|
| 379 | + .getApplicationProcesses(Landscape.WAIT_FOR_PROCESS_TIMEOUT, optionalKeyName, |
|
| 380 | + privateKeyEncryptionPassphrase)) { |
|
| 381 | + if (applicationProcessOnOldFailover |
|
| 382 | + .getServerName(Landscape.WAIT_FOR_PROCESS_TIMEOUT, optionalKeyName, |
|
| 383 | + privateKeyEncryptionPassphrase) |
|
| 384 | + .equals(SharedLandscapeConstants.ARCHIVE_SERVER_APPLICATION_REPLICA_SET_NAME)) { |
|
| 385 | + applicationProcessOnOldFailover.stopAndTerminateIfLast(Landscape.WAIT_FOR_PROCESS_TIMEOUT, optionalKeyName, privateKeyEncryptionPassphrase); |
|
| 386 | + } |
|
| 387 | + } |
|
| 378 | 388 | } catch (Exception e) { |
| 379 | 389 | logger.warning("Issue trying to clean up old failover instance: "+e.getMessage()); |
| 380 | 390 | } |
java/com.sap.sse.landscape/src/com/sap/sse/landscape/ssh/SshCommandChannelImpl.java
| ... | ... | @@ -37,10 +37,10 @@ public class SshCommandChannelImpl implements SshCommandChannel { |
| 37 | 37 | final ByteArrayOutputStream stderr = new ByteArrayOutputStream(); |
| 38 | 38 | try { |
| 39 | 39 | sendCommandLineSynchronously(commandLine, stderr); |
| 40 | + final String result = getStreamContentsAsString(); |
|
| 40 | 41 | if (stderrLogLevel != null && stderr.size() > 0) { |
| 41 | 42 | logger.log(stderrLogLevel, (stderrLogPrefix==null?"":(stderrLogPrefix+": "))+stderr.toString()); |
| 42 | 43 | } |
| 43 | - final String result = getStreamContentsAsString(); |
|
| 44 | 44 | return result; |
| 45 | 45 | } finally { |
| 46 | 46 | disconnect(); |