You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
(39) |
May
(165) |
Jun
(164) |
Jul
(127) |
Aug
(81) |
Sep
(146) |
Oct
(375) |
Nov
(241) |
Dec
(77) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(42) |
Feb
(38) |
Mar
(30) |
Apr
(6) |
May
(17) |
Jun
|
Jul
(15) |
Aug
(59) |
Sep
(31) |
Oct
(44) |
Nov
(30) |
Dec
(12) |
| 2008 |
Jan
(9) |
Feb
(63) |
Mar
(18) |
Apr
(43) |
May
(28) |
Jun
(32) |
Jul
(61) |
Aug
(5) |
Sep
(72) |
Oct
(48) |
Nov
(6) |
Dec
|
|
From: <ha...@us...> - 2008-09-16 10:33:16
|
Revision: 2156
http://cogkit.svn.sourceforge.net/cogkit/?rev=2156&view=rev
Author: hategan
Date: 2008-09-16 17:33:14 +0000 (Tue, 16 Sep 2008)
Log Message:
-----------
reconnect; heartbeats; proper exit code processing; fixed idle detection
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/resources/worker.pl
Modified: trunk/current/src/cog/modules/provider-coaster/resources/worker.pl
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/resources/worker.pl 2008-09-16 17:29:04 UTC (rev 2155)
+++ trunk/current/src/cog/modules/provider-coaster/resources/worker.pl 2008-09-16 17:33:14 UTC (rev 2156)
@@ -1,6 +1,7 @@
#!/usr/bin/perl
use IO::Socket;
use Cwd;
+use POSIX ":sys_wait_h";
use strict;
use warnings;
@@ -17,22 +18,30 @@
my $RETRIES = 3;
my $REPLYTIMEOUT = 60;
my $MAXFRAGS = 16;
+my $MAX_RECONNECT_ATTEMPTS = 3;
-my $IDLETIMEOUT = 300; #Seconds
+my $IDLETIMEOUT = 10 * 60; #Seconds
my $LASTRECV = 0;
+my $JOB_RUNNING = 0;
my $BUFSZ = 2048;
+# 60 seconds by default. Note that since there is no configuration handshake
+# this would have to match the default interval in the service in order to avoid
+# "lost heartbeats".
+my $HEARTBEAT_INTERVAL = 5 * 60;
+
my %REQUESTS = ();
my %REPLIES = ();
-my $LOG = "$ENV{HOME}/worker$ARGV[1].log";
+my $LOG = "$ENV{HOME}/.globus/coasters/worker$ARGV[1].log";
my %HANDLERS = (
"SHUTDOWN" => \&shutdown,
"SUBMITJOB" => \&submitjob,
"REGISTER" => \®ister,
+ "HEARTBEAT" => \&heartbeat,
);
my @CMDQ = ();
@@ -51,6 +60,7 @@
my %JOB;
my %JOBENV;
my @JOBARGS;
+my $LAST_HEARTBEAT = 0;
sub wlog {
my $msg;
@@ -60,37 +70,51 @@
}
}
-sub init() {
+sub reconnect() {
my $fail = 0;
-
- open(LOG, ">$LOG") or die "Failed to open log file: $!";
- my $b = select(LOG);
- $| = 1;
- select($b);
- print LOG time(), " Logging started\n";
-
- wlog "uri=$URI, scheme=$SCHEME, host=$HOSTNAME, port=$PORT, id=$ID\n";
- for ($_ = 0; $_ < 10; $_++) {
- $SOCK = IO::Socket::INET->new(Proto=>'tcp', PeerAddr=>$HOSTNAME, PeerPort=>$PORT) || ($fail = 1);
+ my $i;
+ for ($i = 0; $i < $MAX_RECONNECT_ATTEMPTS; $i++) {
+ wlog "Connecting ($i)...\n";
+ $SOCK = IO::Socket::INET->new(Proto=>'tcp', PeerAddr=>$HOSTNAME, PeerPort=>$PORT, Blocking=>1) || ($fail = 1);
if (!$fail) {
$SOCK->setsockopt(SOL_SOCKET, SO_RCVBUF, 16384);
$SOCK->setsockopt(SOL_SOCKET, SO_SNDBUF, 32768);
+ wlog "Connected\n";
+ $SOCK->blocking(0);
+ queueCmd(\®isterCB, "REGISTER", $ID, "wid://$ID");
last;
- }
+ }
+ else {
+ wlog "Connection failed\n";
+ select(undef, undef, undef, 2 ** $i);
+ }
}
if ($fail) {
- die "Failed to create sockets: $!";
+ die "Failed to connect: $!";
}
}
+sub init() {
+ open(LOG, ">$LOG") or die "Failed to open log file: $!";
+ my $b = select(LOG);
+ $| = 1;
+ select($b);
+ print LOG time(), " Logging started\n";
+
+ wlog "uri=$URI, scheme=$SCHEME, host=$HOSTNAME, port=$PORT, id=$ID\n";
+ reconnect();
+}
+
sub sendm {
my ($tag, $flags, $msg) = @_;
my $len = length($msg);
my $buf = pack("VVV", $tag, $flags, $len);
$buf = $buf.$msg;
wlog("> len=$len, tag=$tag, flags=$flags, $msg\n");
- $SOCK->send($buf) == length($buf) or die "cannot send to $SOCK: $!";
+
+ #($SOCK->send($buf) == length($buf)) || reconnect();
+ eval {defined($SOCK->send($buf))} or wlog("Send failed: $!\n");
}
sub sendFrags {
@@ -106,7 +130,7 @@
my $cont = shift(@cmd);
my $ctag = $TAG++;
- registerCmd($ctag, $cont);
+ registerCmd($ctag, $cont);
sendFrags($ctag, 0, @cmd);
}
@@ -176,6 +200,7 @@
}
}
else {
+ $LASTRECV = time();
if (!exists($REQUESTS{$tag})) {
$REQUESTS{$tag} = [\&processRequest, time(), []];
wlog "New request ($tag)\n";
@@ -227,8 +252,8 @@
checkTimeouts2(\%REPLIES);
if ($LASTRECV != 0) {
my $dif = time() - $LASTRECV;
- if ($dif >= $IDLETIMEOUT) {
- die "Idle time exceeded";
+ if ($dif >= $IDLETIMEOUT && $JOB_RUNNING == 0) {
+ die "Idle time exceeded";
}
}
}
@@ -239,7 +264,6 @@
if (length($data) > 0) {
wlog "Received $data\n";
eval { process(unpackData($data)); } || wlog "$@\n";
- $LASTRECV = time();
}
else {
#sleep 250ms
@@ -256,16 +280,24 @@
sub mainloop {
- my $cmd;
while(1) {
- foreach $cmd (@CMDQ) {
- sendCmd(@$cmd);
- }
- @CMDQ = ();
- recvOne();
+ loopOne();
}
}
+sub loopOne {
+ my $cmd;
+ if (time() - $LAST_HEARTBEAT > $HEARTBEAT_INTERVAL) {
+ queueCmd(\&heartbeatCB, "HEARTBEAT");
+ $LAST_HEARTBEAT = time();
+ }
+ foreach $cmd (@CMDQ) {
+ sendCmd(@$cmd);
+ }
+ @CMDQ = ();
+ recvOne();
+}
+
sub queueCmd {
push @CMDQ, [@_];
}
@@ -295,6 +327,24 @@
}
}
+sub heartbeatCB {
+ my ($tag, $timeout, $err, $reply) = @_;
+
+ if ($timeout) {
+ if (time() - $LAST_HEARTBEAT > 2 * $HEARTBEAT_INTERVAL) {
+ wlog "No heartbeat replies in a while. Dying.\n";
+ die "No response to heartbeat\n";
+ }
+ }
+ elsif ($err) {
+ die "Heartbeat failed: $reply\n";
+ }
+ else {
+ wlog "Heartbeat acknowledged\n";
+ }
+}
+
+
sub register {
my ($tag, $timeout, $reply) = @_;
sendReply($tag, ("OK"));
@@ -309,6 +359,11 @@
exit 0;
}
+sub heartbeat {
+ my ($tag, $timeout, $msgs) = @_;
+ sendReply($tag, ("OK"));
+}
+
sub submitjob {
my ($tag, $timeout, $msgs) = @_;
my $desc = $$msgs[0];
@@ -361,6 +416,7 @@
sub forkjob {
my ($pid, $status);
+ $JOB_RUNNING = 1;
$pid = fork();
if (defined($pid)) {
if ($pid == 0) {
@@ -368,8 +424,20 @@
}
else {
wlog "Forked process $pid. Waiting for its completion\n";
- waitpid($pid, 0);
- $status = $? & 0xff;
+ #waitpid($pid, 0);
+ my $tid;
+ do {
+ $tid = waitpid($pid, &WNOHANG);
+ if ($tid != $pid) {
+ loopOne();
+ }
+ else {
+ # exit code is in MSB and signal in LSB, so
+ # switch them such that status & 0xff is the
+ # exit code
+ $status = $? >> 8 + (($? & 0xff) << 8);
+ }
+ } while $tid != $pid;
wlog "Child process $pid terminated. Status is $status. $!\n";
queueCmd(\&nullCB, "JOBSTATUS", $JOBID, "$COMPLETED", "$status", "");
}
@@ -377,6 +445,7 @@
else {
queueCmd(\&nullCB, "JOBSTATUS", $JOBID, "$FAILED", "512", "Could not fork child process");
}
+ $JOB_RUNNING = 0;
}
sub runjob {
@@ -421,22 +490,21 @@
$ID =$ARGV[$i];
my $MSG="0";
- my $myhost=`hostname -i`;
+ my $myhost=`hostname`;
$myhost =~ s/\s+$//;
init();
- print LOG time(), " Initialized coaster worker $i\n";
- queueCmd(\®isterCB, "REGISTER", $ID, "wid://$ID");
+ wlog("Initialized coaster worker $i\n");
+ wlog("Running on node $myhost\n");
mainloop();
exit(0);
- } else {
+ }
+ else {
$wp[$i]=$waitpid;
}
}
-for($i=1; $i<=$#ARGV ; $i++) {
+for ($i=1; $i<=$#ARGV ; $i++) {
waitpid($wp[$i],0);
}
-
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-16 10:29:10
|
Revision: 2155
http://cogkit.svn.sourceforge.net/cogkit/?rev=2155&view=rev
Author: hategan
Date: 2008-09-16 17:29:04 +0000 (Tue, 16 Sep 2008)
Log Message:
-----------
Don't redirect output from the java bootstrap. Expect it to duplicate info to logs
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/resources/bootstrap.sh
Modified: trunk/current/src/cog/modules/provider-coaster/resources/bootstrap.sh
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/resources/bootstrap.sh 2008-09-09 02:36:29 UTC (rev 2154)
+++ trunk/current/src/cog/modules/provider-coaster/resources/bootstrap.sh 2008-09-16 17:29:04 UTC (rev 2155)
@@ -53,7 +53,7 @@
echo "JAVA=$JAVA" >>$L
if [ -x $JAVA ]; then
echo "$JAVA -Djava.home="$JAVA_HOME" -DX509_USER_PROXY="$X509_USER_PROXY" -DGLOBUS_HOSTNAME="$H" -jar $DJ $BS $LMD5 $LS $ID" >>$L
- $JAVA -Djava.home="$JAVA_HOME" -DGLOBUS_TCP_PORT_RANGE="$GLOBUS_TCP_PORT_RANGE" -DX509_USER_PROXY="$X509_USER_PROXY" -DX509_CERT_DIR="$X509_CERT_DIR" -DGLOBUS_HOSTNAME="$H" -jar $DJ $BS $LMD5 $LS $ID >>$L 2>&1
+ $JAVA -Djava.home="$JAVA_HOME" -DGLOBUS_TCP_PORT_RANGE="$GLOBUS_TCP_PORT_RANGE" -DX509_USER_PROXY="$X509_USER_PROXY" -DX509_CERT_DIR="$X509_CERT_DIR" -DGLOBUS_HOSTNAME="$H" -jar $DJ $BS $LMD5 $LS $ID
EC=$?
echo "EC: $EC" >>$L
rm -f $DJ
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-09 02:36:31
|
Revision: 2154
http://cogkit.svn.sourceforge.net/cogkit/?rev=2154&view=rev
Author: hategan
Date: 2008-09-09 02:36:29 +0000 (Tue, 09 Sep 2008)
Log Message:
-----------
fixed cgi param parsing
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java 2008-09-09 02:36:01 UTC (rev 2153)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java 2008-09-09 02:36:29 UTC (rev 2154)
@@ -472,7 +472,7 @@
}
else {
Map m = new HashMap();
- String[] params = local.substring(i).split("&");
+ String[] params = local.substring(i + 1).split("&");
for (int j = 0; j < params.length; j++) {
int k = params[j].indexOf('=');
if (k == -1) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-09 02:36:03
|
Revision: 2153
http://cogkit.svn.sourceforge.net/cogkit/?rev=2153&view=rev
Author: hategan
Date: 2008-09-09 02:36:01 +0000 (Tue, 09 Sep 2008)
Log Message:
-----------
fixed redirection
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/resources/worker.pl
Modified: trunk/current/src/cog/modules/provider-coaster/resources/worker.pl
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/resources/worker.pl 2008-09-08 23:35:13 UTC (rev 2152)
+++ trunk/current/src/cog/modules/provider-coaster/resources/worker.pl 2008-09-09 02:36:01 UTC (rev 2153)
@@ -1,5 +1,6 @@
#!/usr/bin/perl
use IO::Socket;
+use Cwd;
use strict;
use warnings;
@@ -383,23 +384,28 @@
my $stdout = $JOB{"stdout"};
my $stderr = $JOB{"stderr"};
+ my $cwd = getcwd();
+ wlog "CWD: $cwd\n";
wlog "Running $executable\n";
+ wlog "Directory: $JOB{directory}\n";
my $ename;
foreach $ename (keys %JOBENV) {
$ENV{$ename} = $JOBENV{$ename};
}
unshift @JOBARGS, $executable;
+ if (defined $JOB{directory}) {
+ chdir $JOB{directory};
+ }
if (defined $stdout) {
+ wlog "STDOUT: $stdout\n";
close STDOUT;
- open STDOUT, $stdout;
+ open STDOUT, ">$stdout" or die "Cannot redirect STDOUT";
}
if (defined $stderr) {
+ wlog "STDERR: $stderr\n";
close STDERR;
- open STDERR, $stderr;
+ open STDERR, ">$stderr" or die "Cannot redirect STDERR";
}
- if (defined $JOB{directory}) {
- chdir $JOB{directory};
- }
wlog "Command: @JOBARGS\n";
exec { $executable } @JOBARGS or queueCmd(\&nullCB, "JOBSTATUS", $JOBID, "$FAILED", "513", "Could not execute $executable: $!");
die "Could not execute $executable: $!";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 23:35:15
|
Revision: 2152
http://cogkit.svn.sourceforge.net/cogkit/?rev=2152&view=rev
Author: hategan
Date: 2008-09-08 23:35:13 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
added a space in log message
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java 2008-09-08 23:34:43 UTC (rev 2151)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java 2008-09-08 23:35:13 UTC (rev 2152)
@@ -367,7 +367,7 @@
}
private void processCommand(String cmd, Map headers, SelectionKey key) {
- logger.info("[" + channel.socket().getRemoteSocketAddress() + "]"
+ logger.info("[" + channel.socket().getRemoteSocketAddress() + "] "
+ cmd);
if (logger.isDebugEnabled()) {
logger.debug("Headers: " + headers);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 23:34:46
|
Revision: 2151
http://cogkit.svn.sourceforge.net/cogkit/?rev=2151&view=rev
Author: hategan
Date: 2008-09-08 23:34:43 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
close channel if task completes/fails
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/ServiceManager.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/ServiceManager.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/ServiceManager.java 2008-09-08 23:34:16 UTC (rev 2150)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/ServiceManager.java 2008-09-08 23:34:43 UTC (rev 2151)
@@ -164,9 +164,10 @@
logger.info("Service task " + t
+ " terminated. Removing service.");
}
+ String url;
synchronized (services) {
Object service = getService(t);
- String url = (String) services.remove(service);
+ url = (String) services.remove(service);
if (url == null) {
logger
.info("Service does not appear to be registered with this manager");
@@ -175,9 +176,20 @@
credentials.remove(url);
}
}
+ try {
+ GSSCredential cred = (GSSCredential) t.getService(0)
+ .getSecurityContext().getCredentials();
+ KarajanChannel channel = CoasterChannelManager.getManager()
+ .getExistingChannel(url, cred);
+ if (channel != null) {
+ channel.close();
+ }
+ }
+ catch (Exception e) {
+ logger.info("Failed to close channel", e);
+ }
}
}
-
private static final Integer ZERO = new Integer(0);
protected void increaseUsageCount(Object service) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 23:34:18
|
Revision: 2150
http://cogkit.svn.sourceforge.net/cogkit/?rev=2150&view=rev
Author: hategan
Date: 2008-09-08 23:34:16 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
a few more
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/PackageList.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/PackageList.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/PackageList.java 2008-09-08 23:33:52 UTC (rev 2149)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/PackageList.java 2008-09-08 23:34:16 UTC (rev 2150)
@@ -35,8 +35,8 @@
add("cog-provider-localscheduler-*.jar");
add("cog-provider-ssh-*.jar");
add("cog-util-*.jar");
- add("commons-logging-*.jar");
add("cryptix*.jar");
+ add("concurrent*.jar");
add("j2ssh*.jar");
add("jaxrpc.jar");
add("jce-*.jar");
@@ -46,15 +46,19 @@
add("addressing*.jar");
add("commonj*.jar");
add("axis*.jar");
+ add("cog-axis*.jar");
add("globus_delegation*.jar");
add("globus_wsrf*.jar");
add("gram*.jar");
add("naming*.jar");
add("saaj*.jar");
+ add("wsdl4j*.jar");
add("wss4j*.jar");
add("commons-collections*.jar");
add("commons-digester*.jar");
add("commons-discovery*.jar");
+ add("commons-beanutils*.jar");
+ add("commons-logging-*.jar");
add("wsrf*.jar");
add("xalan*.jar");
add("xercesImpl*.jar");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 23:33:54
|
Revision: 2149
http://cogkit.svn.sourceforge.net/cogkit/?rev=2149&view=rev
Author: hategan
Date: 2008-09-08 23:33:52 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
pass a sercurity context to worker task
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java 2008-09-08 23:32:52 UTC (rev 2148)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java 2008-09-08 23:33:52 UTC (rev 2149)
@@ -29,14 +29,17 @@
import org.apache.log4j.Logger;
import org.globus.cog.abstraction.coaster.service.LocalTCPService;
+import org.globus.cog.abstraction.impl.common.AbstractionFactory;
+import org.globus.cog.abstraction.impl.common.ProviderMethodException;
import org.globus.cog.abstraction.impl.common.StatusImpl;
import org.globus.cog.abstraction.impl.common.task.ExecutionServiceImpl;
import org.globus.cog.abstraction.impl.common.task.ExecutionTaskHandler;
+import org.globus.cog.abstraction.impl.common.task.InvalidProviderException;
import org.globus.cog.abstraction.impl.common.task.InvalidServiceContactException;
import org.globus.cog.abstraction.impl.common.task.JobSpecificationImpl;
import org.globus.cog.abstraction.impl.common.task.TaskImpl;
+import org.globus.cog.abstraction.impl.common.task.TaskSubmissionException;
import org.globus.cog.abstraction.interfaces.ExecutionService;
-import org.globus.cog.abstraction.interfaces.FileLocation;
import org.globus.cog.abstraction.interfaces.JobSpecification;
import org.globus.cog.abstraction.interfaces.Status;
import org.globus.cog.abstraction.interfaces.Task;
@@ -139,6 +142,10 @@
* OVERALLOCATION_FACTOR + TIME_RESERVE,
req.prototype);
}
+ catch (NoClassDefFoundError e) {
+ req.prototype.setStatus(new StatusImpl(Status.FAILED, e
+ .getMessage(), new TaskSubmissionException(e)));
+ }
catch (Exception e) {
req.prototype.setStatus(new StatusImpl(Status.FAILED, e
.getMessage(), e));
@@ -155,7 +162,8 @@
}
private void startWorker(int maxWallTime, Task prototype)
- throws InvalidServiceContactException {
+ throws InvalidServiceContactException, InvalidProviderException,
+ ProviderMethodException {
String numWorkersString = (String) ((JobSpecification) prototype
.getSpecification()).getAttribute("coastersPerNode");
int numWorkers;
@@ -222,7 +230,8 @@
}
private ExecutionService buildService(Task prototype)
- throws InvalidServiceContactException {
+ throws InvalidServiceContactException, InvalidProviderException,
+ ProviderMethodException {
ExecutionService s = new ExecutionServiceImpl();
s.setServiceContact(prototype.getService(0).getServiceContact());
ExecutionService p = (ExecutionService) prototype.getService(0);
@@ -238,6 +247,13 @@
s.setJobManager(jm.substring(colon + 1));
s.setProvider(jm.substring(0, colon));
}
+ if (p.getSecurityContext() != null) {
+ s.setSecurityContext(p.getSecurityContext());
+ }
+ else {
+ s.setSecurityContext(AbstractionFactory.newSecurityContext(s
+ .getProvider()));
+ }
System.out.println("Worker start provider: " + s.getProvider());
System.out.println("Worker start JM: " + s.getJobManager());
return s;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 23:32:56
|
Revision: 2148
http://cogkit.svn.sourceforge.net/cogkit/?rev=2148&view=rev
Author: hategan
Date: 2008-09-08 23:32:52 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
pass close requests to underlying channels
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/MetaChannel.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/MetaChannel.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/MetaChannel.java 2008-09-08 23:32:34 UTC (rev 2147)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/MetaChannel.java 2008-09-08 23:32:52 UTC (rev 2148)
@@ -81,6 +81,12 @@
current = channel;
current.setRequestManager(getRequestManager());
}
+
+ public void close() {
+ if (current != null) {
+ current.close();
+ }
+ }
public boolean isShuttingDown() {
return shuttingDown;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 23:32:37
|
Revision: 2147
http://cogkit.svn.sourceforge.net/cogkit/?rev=2147&view=rev
Author: hategan
Date: 2008-09-08 23:32:34 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
allow retrieving an existing channel
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelManager.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelManager.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelManager.java 2008-09-08 23:32:06 UTC (rev 2146)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelManager.java 2008-09-08 23:32:34 UTC (rev 2147)
@@ -50,7 +50,21 @@
this.clientRequestManager = crm;
}
- private MetaChannel getClientChannel(String host, GSSCredential cred, RequestManager rm) throws ChannelException {
+ public KarajanChannel getExistingChannel(String host, GSSCredential cred) {
+ MetaChannel channel;
+ if (host == null) {
+ throw new NullPointerException("Host is null");
+ }
+ host = normalize(host);
+ synchronized (channels) {
+ HostCredentialPair hcp = new HostCredentialPair(host, cred);
+ channel = (MetaChannel) channels.get(hcp);
+ }
+ return channel;
+ }
+
+ private MetaChannel getClientChannel(String host, GSSCredential cred, RequestManager rm)
+ throws ChannelException {
try {
MetaChannel channel;
if (host == null) {
@@ -61,9 +75,11 @@
HostCredentialPair hcp = new HostCredentialPair(host, cred);
channel = (MetaChannel) channels.get(hcp);
if (channel == null) {
- channel = new MetaChannel(rm == null ? clientRequestManager : rm, new ChannelContext());
+ channel = new MetaChannel(rm == null ? clientRequestManager : rm,
+ new ChannelContext());
new Throwable().printStackTrace();
- System.err.println("Creating new meta channel with rm: " + channel.getRequestManager());
+ System.err.println("Creating new meta channel with rm: "
+ + channel.getRequestManager());
channel.getChannelContext().setConfiguration(
RemoteConfiguration.getDefault().find(host));
channel.getChannelContext().setRemoteContact(host);
@@ -99,7 +115,8 @@
public void registerChannel(String url, GSSCredential cred, KarajanChannel channel)
throws ChannelException {
synchronized (channels) {
- MetaChannel previous = new MetaChannel(channel.getRequestManager(), channel.getChannelContext());
+ MetaChannel previous = new MetaChannel(channel.getRequestManager(),
+ channel.getChannelContext());
previous.bind(channel);
channels.put(new HostCredentialPair(url, cred), previous);
}
@@ -147,15 +164,17 @@
channels.put(id, channel);
}
else {
- previous = new MetaChannel(channel.getRequestManager(), channel.getChannelContext());
+ previous = new MetaChannel(channel.getRequestManager(),
+ channel.getChannelContext());
previous.bind(channel);
channels.put(id, previous);
}
}
}
}
-
- public KarajanChannel reserveChannel(String host, GSSCredential cred, RequestManager rm) throws ChannelException {
+
+ public KarajanChannel reserveChannel(String host, GSSCredential cred, RequestManager rm)
+ throws ChannelException {
MetaChannel channel = getClientChannel(host, cred, rm);
reserveChannel(channel);
return channel;
@@ -346,7 +365,7 @@
public int hashCode() {
return host.hashCode() + ((DN == null) ? 0 : DN.hashCode());
}
-
+
public String toString() {
return DN + "@" + host;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 23:32:08
|
Revision: 2146
http://cogkit.svn.sourceforge.net/cogkit/?rev=2146&view=rev
Author: hategan
Date: 2008-09-08 23:32:06 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
that didn't quite work
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/GSSChannel.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/GSSChannel.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/GSSChannel.java 2008-09-08 21:25:58 UTC (rev 2145)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/GSSChannel.java 2008-09-08 23:32:06 UTC (rev 2146)
@@ -73,10 +73,13 @@
SelfAuthorization.getInstance() });
GSSCredential cred = this.getChannelContext().getCredential();
+ if (cred == null) {
+ cred = GSSService.initializeCredentials(true, null, null);
+ }
GSSManager manager = new GlobusGSSManagerImpl();
ExtendedGSSContext gssContext = (ExtendedGSSContext) manager.createContext(null,
- GSSConstants.MECH_OID, cred, GSSContext.INDEFINITE_LIFETIME);
+ GSSConstants.MECH_OID, cred, cred.getRemainingLifetime());
gssContext.requestAnonymity(false);
gssContext.requestCredDeleg(false);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:26:01
|
Revision: 2145
http://cogkit.svn.sourceforge.net/cogkit/?rev=2145&view=rev
Author: hategan
Date: 2008-09-08 21:25:58 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
removed debugging statements
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java 2008-09-08 21:24:14 UTC (rev 2144)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java 2008-09-08 21:25:58 UTC (rev 2145)
@@ -81,7 +81,6 @@
private void loadList() {
URL url = BootstrapService.class.getClassLoader().getResource(
ServiceManager.BOOTSTRAP_LIST);
- System.err.println(url);
if (url == null) {
throw new RuntimeException(ServiceManager.BOOTSTRAP_LIST
+ " not found in classpath");
@@ -102,7 +101,6 @@
+ d[0]);
}
valid.add("/" + d[0]);
- System.err.println(d[0]);
checksums.put("/" + d[0], d[1]);
line = br.readLine();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
Revision: 2144
http://cogkit.svn.sourceforge.net/cogkit/?rev=2144&view=rev
Author: hategan
Date: 2008-09-08 21:24:14 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
pass boot handler provider to manager
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/JobSubmissionTaskHandler.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/JobSubmissionTaskHandler.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/JobSubmissionTaskHandler.java 2008-09-08 21:22:02 UTC (rev 2143)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/JobSubmissionTaskHandler.java 2008-09-08 21:24:14 UTC (rev 2144)
@@ -66,7 +66,7 @@
try {
if (autostart) {
url = ServiceManager.getDefault().reserveService(task,
- getBootHandler(task));
+ getBootHandler(task), getBootHandlerProvider(task));
cred = getCredentials(task);
}
else {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:22:04
|
Revision: 2143
http://cogkit.svn.sourceforge.net/cogkit/?rev=2143&view=rev
Author: hategan
Date: 2008-09-08 21:22:02 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
make sure some security context is set on the bootstrap task
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/ServiceManager.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/ServiceManager.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/ServiceManager.java 2008-09-08 21:21:21 UTC (rev 2142)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/ServiceManager.java 2008-09-08 21:22:02 UTC (rev 2143)
@@ -25,8 +25,11 @@
import org.apache.log4j.Logger;
import org.globus.cog.abstraction.coaster.service.ServiceShutdownCommand;
import org.globus.cog.abstraction.coaster.service.local.LocalService;
+import org.globus.cog.abstraction.impl.common.AbstractionFactory;
+import org.globus.cog.abstraction.impl.common.ProviderMethodException;
import org.globus.cog.abstraction.impl.common.StatusEvent;
import org.globus.cog.abstraction.impl.common.task.ExecutionServiceImpl;
+import org.globus.cog.abstraction.impl.common.task.InvalidProviderException;
import org.globus.cog.abstraction.impl.common.task.JobSpecificationImpl;
import org.globus.cog.abstraction.impl.common.task.TaskImpl;
import org.globus.cog.abstraction.impl.common.task.TaskSubmissionException;
@@ -78,8 +81,8 @@
Runtime.getRuntime().addShutdownHook(serviceReaper);
}
- public String reserveService(Task task, TaskHandler bootHandler)
- throws TaskSubmissionException {
+ public String reserveService(Task task, TaskHandler bootHandler,
+ String bootHandlerProvider) throws TaskSubmissionException {
if (logger.isDebugEnabled()) {
logger.debug("Reserving service for " + task);
}
@@ -89,7 +92,8 @@
// and normal program semantics
String url = waitForStart(service);
if (url == null) {
- url = startService(task, bootHandler, service);
+ url = startService(task, bootHandler, bootHandlerProvider,
+ service);
}
increaseUsageCount(service);
return url;
@@ -113,11 +117,16 @@
}
}
+ public void serviceIsActive(String id) {
+ localService.heardOf(id);
+ }
+
protected String startService(Task task, TaskHandler bootHandler,
- Object service) throws Exception {
+ String bootHandlerProvider, Object service) throws Exception {
try {
startLocalService();
Task t = buildTask(task);
+ setSecurityContext(t, task, bootHandlerProvider);
t.addStatusListener(this);
if (logger.isDebugEnabled()) {
logger.debug("Starting coaster service on "
@@ -141,6 +150,12 @@
}
}
+ private void setSecurityContext(Task t, Task orig, String provider)
+ throws InvalidProviderException, ProviderMethodException {
+ t.getService(0).setSecurityContext(
+ AbstractionFactory.newSecurityContext(provider));
+ }
+
public void statusChanged(StatusEvent event) {
Task t = (Task) event.getSource();
Status s = event.getStatus();
@@ -153,7 +168,8 @@
Object service = getService(t);
String url = (String) services.remove(service);
if (url == null) {
- logger.info("Service does not appear to be registered with this manager");
+ logger
+ .info("Service does not appear to be registered with this manager");
}
else {
credentials.remove(url);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:21:23
|
Revision: 2142
http://cogkit.svn.sourceforge.net/cogkit/?rev=2142&view=rev
Author: hategan
Date: 2008-09-08 21:21:21 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
preserve case for requests; reply with bad request instead of not replying
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java 2008-09-08 21:20:19 UTC (rev 2141)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/BootstrapService.java 2008-09-08 21:21:21 UTC (rev 2142)
@@ -28,6 +28,7 @@
import java.nio.channels.SocketChannel;
import java.nio.channels.spi.SelectorProvider;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -80,6 +81,7 @@
private void loadList() {
URL url = BootstrapService.class.getClassLoader().getResource(
ServiceManager.BOOTSTRAP_LIST);
+ System.err.println(url);
if (url == null) {
throw new RuntimeException(ServiceManager.BOOTSTRAP_LIST
+ " not found in classpath");
@@ -100,6 +102,7 @@
+ d[0]);
}
valid.add("/" + d[0]);
+ System.err.println(d[0]);
checksums.put("/" + d[0], d[1]);
line = br.readLine();
}
@@ -161,8 +164,8 @@
}
else {
ServerSocket socket = channel.socket();
- if (CoGProperties.getDefault().getIPAddress() != null) {
- return "http://" + CoGProperties.getDefault().getIPAddress()
+ if (CoGProperties.getDefault().getHostName() != null) {
+ return "http://" + CoGProperties.getDefault().getHostName()
+ ":" + socket.getLocalPort();
}
else {
@@ -271,6 +274,8 @@
+ "<h1>Error: Your are not authorized to access this resource</h1></body></html>\n";
public static final String ERROR_NOTFOUND = "<html><head><title>Error</title></head><body>"
+ "<h1>Error: The requested resource is not available</h1></body></html>\n";
+ public static final String ERROR_BAD_REQUEST = "<html><head><title>Error</title></head><body>"
+ + "<h1>Error: The request could not be understood by this server</h1></body></html>\n";
private SocketChannel channel;
private int state;
@@ -369,10 +374,14 @@
if (logger.isDebugEnabled()) {
logger.debug("Headers: " + headers);
}
- cmd = cmd.toLowerCase();
String[] tokens = cmd.split("\\s+");
- if (tokens[0].equals("get")) {
- String page = tokens[1];
+ if (tokens[0].equals("GET")) {
+ String page = getPage(tokens[1]);
+ Map cgiParams = getCGIParams(tokens[1]);
+ String coasterId = (String) cgiParams.get("serviceId");
+ if (coasterId != null) {
+ ServiceManager.getDefault().serviceIsActive(coasterId);
+ }
if (page.equals("/")) {
page = "/index.html";
}
@@ -387,6 +396,9 @@
}
key.interestOps(SelectionKey.OP_WRITE);
}
+ else {
+ sendError("400 Bad Request", ERROR_BAD_REQUEST);
+ }
}
private void sendError(String error, String html) {
@@ -444,6 +456,37 @@
channel.close();
processor.removeChannel(channel);
}
+
+ private String getPage(String local) {
+ int i = local.indexOf('?');
+ if (i == -1) {
+ return local;
+ }
+ else {
+ return local.substring(0, i);
+ }
+ }
+
+ private Map getCGIParams(String local) {
+ int i = local.indexOf('?');
+ if (i == -1) {
+ return Collections.EMPTY_MAP;
+ }
+ else {
+ Map m = new HashMap();
+ String[] params = local.substring(i).split("&");
+ for (int j = 0; j < params.length; j++) {
+ int k = params[j].indexOf('=');
+ if (k == -1) {
+ //not valid, discard parameter
+ }
+ else {
+ m.put(params[j].substring(0, k), params[j].substring(k + 1));
+ }
+ }
+ return m;
+ }
+ }
}
public static void main(String[] args) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:20:22
|
Revision: 2141
http://cogkit.svn.sourceforge.net/cogkit/?rev=2141&view=rev
Author: hategan
Date: 2008-09-08 21:20:19 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
pass service id (for liveness checks) and start service with urandom
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/Bootstrap.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/Bootstrap.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/Bootstrap.java 2008-09-08 21:19:31 UTC (rev 2140)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/Bootstrap.java 2008-09-08 21:20:19 UTC (rev 2141)
@@ -58,7 +58,7 @@
private void getList() throws Exception {
System.out.println("Fetching file list");
StringBuffer line = new StringBuffer();
- URL url = new URL(serviceURL + "/list");
+ URL url = new URL(serviceURL + "/list?serviceId=" + serviceId);
InputStream is = url.openStream();
MessageDigest md = MessageDigest.getInstance("MD5");
int c = is.read();
@@ -107,7 +107,7 @@
try {
System.out.println("Downloading " + name);
File dest = File.createTempFile("download-", ".jar", dir);
- URL url = new URL(serviceURL + "/" + name);
+ URL url = new URL(serviceURL + "/" + name + "?serviceId=" + serviceId);
InputStream is = url.openStream();
FileOutputStream fos = new FileOutputStream(dest);
byte[] buf = new byte[16384];
@@ -214,6 +214,7 @@
addProperty(args, "GLOBUS_HOSTNAME");
addProperty(args, "GLOBUS_TCP_PORT_RANGE");
addProperty(args, "X509_CERT_DIR");
+ args.add("-Djava.security.egd=file:///dev/urandom");
}
private void addProperty(List args, String name) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:19:33
|
Revision: 2140
http://cogkit.svn.sourceforge.net/cogkit/?rev=2140&view=rev
Author: hategan
Date: 2008-09-08 21:19:31 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
updated to include ws-gram jars
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/PackageList.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/PackageList.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/PackageList.java 2008-09-08 21:18:59 UTC (rev 2139)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/PackageList.java 2008-09-08 21:19:31 UTC (rev 2140)
@@ -43,6 +43,23 @@
add("jgss.jar");
add("log4j*.jar");
add("puretls.jar");
+ add("addressing*.jar");
+ add("commonj*.jar");
+ add("axis*.jar");
+ add("globus_delegation*.jar");
+ add("globus_wsrf*.jar");
+ add("gram*.jar");
+ add("naming*.jar");
+ add("saaj*.jar");
+ add("wss4j*.jar");
+ add("commons-collections*.jar");
+ add("commons-digester*.jar");
+ add("commons-discovery*.jar");
+ add("wsrf*.jar");
+ add("xalan*.jar");
+ add("xercesImpl*.jar");
+ add("xml-apis*.jar");
+ add("xmlsec*.jar");
}
private void add(String name) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:19:01
|
Revision: 2139
http://cogkit.svn.sourceforge.net/cogkit/?rev=2139&view=rev
Author: hategan
Date: 2008-09-08 21:18:59 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
prevent staying up permanently if no jobs have been submitted
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/NotificationManager.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/NotificationManager.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/NotificationManager.java 2008-09-08 21:17:56 UTC (rev 2138)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/execution/coaster/NotificationManager.java 2008-09-08 21:18:59 UTC (rev 2139)
@@ -44,6 +44,7 @@
public NotificationManager() {
tasks = new HashMap();
pending = new HashMap();
+ lastNotificationTime = System.currentTimeMillis();
}
public void registerTask(String id, Task task) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:17:59
|
Revision: 2138
http://cogkit.svn.sourceforge.net/cogkit/?rev=2138&view=rev
Author: hategan
Date: 2008-09-08 21:17:56 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
reformatting and make sure we die if there is an Error
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java 2008-09-08 21:16:21 UTC (rev 2137)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java 2008-09-08 21:17:56 UTC (rev 2138)
@@ -29,7 +29,9 @@
public static final Logger logger = Logger
.getLogger(CoasterService.class);
- public static final int IDLE_TIMEOUT = 600 * 1000;
+ public static final int IDLE_TIMEOUT = 120 * 1000;
+
+ public static final RequestManager COASTER_REQUEST_MANAGER = new CoasterRequestManager();
private String registrationURL, id;
private JobQueue jobQueue;
@@ -67,7 +69,7 @@
else {
try {
ConnectionHandler handler = new ConnectionHandler(this, sock,
- new CoasterRequestManager());
+ COASTER_REQUEST_MANAGER);
handler.start();
}
catch (Exception e) {
@@ -90,7 +92,8 @@
try {
logger.info("Reserving channel for registration");
KarajanChannel channel = ChannelManager.getManager()
- .reserveChannel(registrationURL, null);
+ .reserveChannel(registrationURL, null, COASTER_REQUEST_MANAGER);
+ channel.getChannelContext().setService(this);
logger.info("Sending registration");
RegistrationCommand reg = new RegistrationCommand(id,
"https://" + getHost() + ":" + getPort());
@@ -121,7 +124,7 @@
public void waitFor() throws Exception {
synchronized (this) {
while (!done) {
- wait(1000);
+ wait(10000);
checkIdleTime();
}
if (e != null) {
@@ -133,6 +136,7 @@
private synchronized void checkIdleTime() {
// the notification manager should probably not be a singleton
long idleTime = NotificationManager.getDefault().getIdleTime();
+ logger.info("Idle time: " + idleTime);
if (idleTime > IDLE_TIMEOUT) {
suspend();
if (NotificationManager.getDefault().getIdleTime() < IDLE_TIMEOUT) {
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java 2008-09-08 21:16:21 UTC (rev 2137)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java 2008-09-08 21:17:56 UTC (rev 2138)
@@ -36,6 +36,7 @@
import org.globus.cog.abstraction.impl.common.task.JobSpecificationImpl;
import org.globus.cog.abstraction.impl.common.task.TaskImpl;
import org.globus.cog.abstraction.interfaces.ExecutionService;
+import org.globus.cog.abstraction.interfaces.FileLocation;
import org.globus.cog.abstraction.interfaces.JobSpecification;
import org.globus.cog.abstraction.interfaces.Status;
import org.globus.cog.abstraction.interfaces.Task;
@@ -62,9 +63,8 @@
public static final int MAX_WORKERS = 256;
public static final int MAX_STARTING_WORKERS = 32;
- public static final List coasterAttributes = Arrays.asList(new String[]{
- "coasterspernode"
- });
+ public static final List coasterAttributes = Arrays
+ .asList(new String[] { "coasterspernode" });
private SortedMap ready;
private Map ids;
@@ -148,19 +148,27 @@
catch (InterruptedException e) {
e.printStackTrace();
}
+ catch (Error e) {
+ e.printStackTrace();
+ System.exit(126);
+ }
}
private void startWorker(int maxWallTime, Task prototype)
throws InvalidServiceContactException {
- String numWorkersString = (String)((JobSpecification) prototype.getSpecification()).getAttribute("coastersPerNode");
+ String numWorkersString = (String) ((JobSpecification) prototype
+ .getSpecification()).getAttribute("coastersPerNode");
int numWorkers;
- if(numWorkersString==null) {
+ if (numWorkersString == null) {
numWorkers = 1;
- } else {
+ }
+ else {
numWorkers = Integer.parseInt(numWorkersString);
}
- logger.info("Starting new worker set with "+numWorkers+" workers");
+ logger
+ .info("Starting new worker set with " + numWorkers
+ + " workers");
Task t = new TaskImpl();
t.setType(Task.JOB_SUBMISSION);
@@ -170,31 +178,35 @@
t.setService(0, buildService(prototype));
Map newlyRequested = new HashMap();
- for(int n = 0; n<numWorkers; n++) {
+ for (int n = 0; n < numWorkers; n++) {
int id = sr.nextInt();
if (logger.isInfoEnabled()) {
- logger.info("Starting worker with id=" + id + " and maxwalltime=" + maxWallTime + "s");
- }
+ logger.info("Starting worker with id=" + id
+ + " and maxwalltime=" + maxWallTime + "s");
+ }
String sid = String.valueOf(id);
- ((JobSpecification)t.getSpecification()).addArgument(sid);
+ ((JobSpecification) t.getSpecification()).addArgument(sid);
try {
Worker wr = new Worker(this, sid, maxWallTime, t, prototype);
newlyRequested.put(sid, wr);
}
- catch (Exception e) {
- prototype.setStatus(new StatusImpl(Status.FAILED, e.getMessage(),
- e));
+ catch (Exception e) {
+ prototype.setStatus(new StatusImpl(Status.FAILED, e
+ .getMessage(), e));
}
}
+ System.err.println(t.getSpecification());
try {
handler.submit(t);
- } catch(Exception e) {
- prototype.setStatus(new StatusImpl(Status.FAILED, e.getMessage(), e));
}
- synchronized(requested) {
+ catch (Exception e) {
+ prototype.setStatus(new StatusImpl(Status.FAILED, e.getMessage(),
+ e));
+ }
+ synchronized (requested) {
requested.putAll(newlyRequested);
}
}
@@ -206,7 +218,6 @@
js.addArgument(script.getAbsolutePath());
js.addArgument(callbackURI.toString());
// js.addArgument(id);
-
return js;
}
@@ -233,12 +244,13 @@
}
private void copyAttributes(Task t, Task prototype, int maxWallTime) {
- JobSpecification pspec = (JobSpecification) prototype.getSpecification();
+ JobSpecification pspec = (JobSpecification) prototype
+ .getSpecification();
JobSpecification tspec = (JobSpecification) t.getSpecification();
Iterator i = pspec.getAttributeNames().iterator();
while (i.hasNext()) {
String name = (String) i.next();
- if(!coasterAttributes.contains(name)) {
+ if (!coasterAttributes.contains(name)) {
tspec.setAttribute(name, pspec.getAttribute(name));
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:16:24
|
Revision: 2137
http://cogkit.svn.sourceforge.net/cogkit/?rev=2137&view=rev
Author: hategan
Date: 2008-09-08 21:16:21 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
prevent idleness if the bootstrap process is (slowly) downloading jars
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/local/LocalService.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/local/LocalService.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/local/LocalService.java 2008-09-08 21:14:46 UTC (rev 2136)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/local/LocalService.java 2008-09-08 21:16:21 UTC (rev 2137)
@@ -17,6 +17,7 @@
import org.apache.log4j.Logger;
import org.globus.cog.abstraction.coaster.service.Registering;
import org.globus.cog.abstraction.impl.common.task.TaskSubmissionException;
+import org.globus.cog.abstraction.impl.execution.coaster.CoasterChannelManager;
import org.globus.cog.abstraction.interfaces.Status;
import org.globus.cog.abstraction.interfaces.Task;
import org.globus.cog.karajan.workflow.service.ConnectionHandler;
@@ -30,6 +31,7 @@
public static final long DEFAULT_REGISTRATION_TIMEOUT = 300 * 1000;
private Map services;
+ private Map lastHeardOf;
public LocalService() throws IOException {
super();
@@ -41,6 +43,7 @@
}
setAuthorization(new SelfAuthorization());
services = new HashMap();
+ lastHeardOf = new HashMap();
this.accept = true;
Thread t = new Thread(this);
t.setName("Local service");
@@ -71,11 +74,11 @@
if (logger.isDebugEnabled()) {
logger.debug("Waiting for registration from service " + id);
}
- long start = System.currentTimeMillis();
+ heardOf(id);
synchronized (services) {
while (!services.containsKey(id)) {
services.wait(1000);
- if (timeout < System.currentTimeMillis() - start) {
+ if (timeout < System.currentTimeMillis() - lastHeardOf(id)) {
throw new TaskSubmissionException(
"Timed out waiting for registration for " + id);
}
@@ -83,18 +86,33 @@
if (s.isTerminal()) {
throw new TaskSubmissionException(
"Task ended before registration was received"
- + (s.getMessage() == null ? ". " : ": " + s.getMessage())
- + "\nSTDOUT: " + t.getStdOutput()
- + "\nSTDERR: " + t.getStdError(), s.getException());
+ + (s.getMessage() == null ? ". " : ": "
+ + s.getMessage()) + "\nSTDOUT: "
+ + t.getStdOutput() + "\nSTDERR: "
+ + t.getStdError(), s.getException());
}
}
return (String) services.get(id);
}
}
- public void registrationReceived(String id, String url, KarajanChannel channel) {
+ public void heardOf(String id) {
+ synchronized (lastHeardOf) {
+ lastHeardOf.put(id, new Long(System.currentTimeMillis()));
+ }
+ }
+
+ protected long lastHeardOf(String id) {
+ synchronized (lastHeardOf) {
+ return ((Long) lastHeardOf.get(id)).longValue();
+ }
+ }
+
+ public void registrationReceived(String id, String url,
+ KarajanChannel channel) {
if (logger.isDebugEnabled()) {
- logger.debug("Received registration from service " + id + ": " + url);
+ logger.debug("Received registration from service " + id + ": "
+ + url);
}
synchronized (services) {
if (services.containsKey(id)) {
@@ -103,6 +121,16 @@
+ ") already exists");
}
else {
+ try {
+ CoasterChannelManager.getManager()
+ .registerChannel(url,
+ channel.getUserContext().getCredential(),
+ channel);
+ }
+ catch (Exception e) {
+ throw new RuntimeException("Failed to register channel "
+ + url);
+ }
services.put(id, url);
services.notifyAll();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:14:48
|
Revision: 2136
http://cogkit.svn.sourceforge.net/cogkit/?rev=2136&view=rev
Author: hategan
Date: 2008-09-08 21:14:46 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
making this work with ws-gram
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/resources/bootstrap.sh
Modified: trunk/current/src/cog/modules/provider-coaster/resources/bootstrap.sh
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/resources/bootstrap.sh 2008-09-08 21:13:57 UTC (rev 2135)
+++ trunk/current/src/cog/modules/provider-coaster/resources/bootstrap.sh 2008-09-08 21:14:46 UTC (rev 2136)
@@ -38,10 +38,11 @@
fi
fi
AMD5=`$MD5SUM $DJ`
+AAMD5=`eval echo \$\{AMD5:0:32\}`
echo "Expected checksum: $EMD5" >>$L
-echo "Computed checksum: ${AMD5:0:32}" >>$L
-if [ "${AMD5:0:32}" != "$EMD5" ]; then
- error "Bootstrap jar checksum failed: $EMD5 != ${AMD5:0:32}"
+echo "Computed checksum: $AAMD5" >>$L
+if [ "$AAMD5" != "$EMD5" ]; then
+ error "Bootstrap jar checksum failed: $EMD5 != $AAMD5"
fi
if [ "X$JAVA_HOME" != "X" ]; then
JAVA=$JAVA_HOME/bin/java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:14:00
|
Revision: 2135
http://cogkit.svn.sourceforge.net/cogkit/?rev=2135&view=rev
Author: hategan
Date: 2008-09-08 21:13:57 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
toString
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/AbstractRequestManager.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/AbstractRequestManager.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/AbstractRequestManager.java 2008-09-08 21:13:43 UTC (rev 2134)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/AbstractRequestManager.java 2008-09-08 21:13:57 UTC (rev 2135)
@@ -31,6 +31,7 @@
Class handlerClass = (Class) handlers.get(cmd);
RequestHandler handler;
if (handlerClass == null) {
+ System.err.println("Mee: " + this);
handler = new UnknownCommandHandler();
}
else {
@@ -44,4 +45,8 @@
handler.setInCmd(cmd);
return handler;
}
+
+ public String toString() {
+ return handlers.toString();
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:13:47
|
Revision: 2134
http://cogkit.svn.sourceforge.net/cogkit/?rev=2134&view=rev
Author: hategan
Date: 2008-09-08 21:13:43 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/ServiceContext.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/ServiceContext.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/ServiceContext.java 2008-09-08 21:13:00 UTC (rev 2133)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/ServiceContext.java 2008-09-08 21:13:43 UTC (rev 2134)
@@ -69,6 +69,10 @@
public Service getService() {
return service;
}
+
+ public void setService(Service service) {
+ this.service = service;
+ }
public boolean isLocal() {
return local;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:13:03
|
Revision: 2133
http://cogkit.svn.sourceforge.net/cogkit/?rev=2133&view=rev
Author: hategan
Date: 2008-09-08 21:13:00 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
allow starting a client with a specific request manager
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/AbstractKarajanChannel.java
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelContext.java
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelManager.java
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/KarajanChannel.java
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/MetaChannel.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/AbstractKarajanChannel.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/AbstractKarajanChannel.java 2008-09-08 21:12:01 UTC (rev 2132)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/AbstractKarajanChannel.java 2008-09-08 21:13:00 UTC (rev 2133)
@@ -29,7 +29,7 @@
private ChannelContext context;
private volatile int usageCount, longTermUsageCount;
- private final RequestManager requestManager;
+ private RequestManager requestManager;
private final List registeredMaps;
private boolean localShutdown, closed;
private String name;
@@ -141,6 +141,13 @@
public RequestManager getRequestManager() {
return requestManager;
}
+
+ public void setRequestManager(RequestManager rm) {
+ if (rm == null) {
+ throw new IllegalArgumentException("The request manager cannot be null");
+ }
+ this.requestManager = rm;
+ }
public int decUsageCount() {
return --usageCount;
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelContext.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelContext.java 2008-09-08 21:12:01 UTC (rev 2132)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelContext.java 2008-09-08 21:13:00 UTC (rev 2133)
@@ -49,6 +49,7 @@
public ChannelContext() {
this(new ServiceContext(null));
}
+
public ChannelContext(ServiceContext sc) {
data = new HashMap();
activeSenders = new TagTable();
@@ -191,6 +192,10 @@
return serviceContext.getService();
}
+ public void setService(Service service) {
+ serviceContext.setService(service);
+ }
+
public ServiceContext getServiceContext() {
return serviceContext;
}
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelManager.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelManager.java 2008-09-08 21:12:01 UTC (rev 2132)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/ChannelManager.java 2008-09-08 21:13:00 UTC (rev 2133)
@@ -50,7 +50,7 @@
this.clientRequestManager = crm;
}
- private MetaChannel getClientChannel(String host, GSSCredential cred) throws ChannelException {
+ private MetaChannel getClientChannel(String host, GSSCredential cred, RequestManager rm) throws ChannelException {
try {
MetaChannel channel;
if (host == null) {
@@ -61,7 +61,9 @@
HostCredentialPair hcp = new HostCredentialPair(host, cred);
channel = (MetaChannel) channels.get(hcp);
if (channel == null) {
- channel = new MetaChannel(clientRequestManager, new ChannelContext());
+ channel = new MetaChannel(rm == null ? clientRequestManager : rm, new ChannelContext());
+ new Throwable().printStackTrace();
+ System.err.println("Creating new meta channel with rm: " + channel.getRequestManager());
channel.getChannelContext().setConfiguration(
RemoteConfiguration.getDefault().find(host));
channel.getChannelContext().setRemoteContact(host);
@@ -97,7 +99,7 @@
public void registerChannel(String url, GSSCredential cred, KarajanChannel channel)
throws ChannelException {
synchronized (channels) {
- MetaChannel previous = new MetaChannel(channel.getChannelContext());
+ MetaChannel previous = new MetaChannel(channel.getRequestManager(), channel.getChannelContext());
previous.bind(channel);
channels.put(new HostCredentialPair(url, cred), previous);
}
@@ -145,16 +147,22 @@
channels.put(id, channel);
}
else {
- previous = new MetaChannel(channel.getChannelContext());
+ previous = new MetaChannel(channel.getRequestManager(), channel.getChannelContext());
previous.bind(channel);
channels.put(id, previous);
}
}
}
}
+
+ public KarajanChannel reserveChannel(String host, GSSCredential cred, RequestManager rm) throws ChannelException {
+ MetaChannel channel = getClientChannel(host, cred, rm);
+ reserveChannel(channel);
+ return channel;
+ }
public KarajanChannel reserveChannel(String host, GSSCredential cred) throws ChannelException {
- MetaChannel channel = getClientChannel(host, cred);
+ MetaChannel channel = getClientChannel(host, cred, null);
reserveChannel(channel);
return channel;
}
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/KarajanChannel.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/KarajanChannel.java 2008-09-08 21:12:01 UTC (rev 2132)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/KarajanChannel.java 2008-09-08 21:13:00 UTC (rev 2133)
@@ -69,4 +69,6 @@
boolean isClient();
URI getCallbackURI() throws Exception;
+
+ void setRequestManager(RequestManager requestManager);
}
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/MetaChannel.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/MetaChannel.java 2008-09-08 21:12:01 UTC (rev 2132)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/MetaChannel.java 2008-09-08 21:13:00 UTC (rev 2133)
@@ -79,6 +79,7 @@
current.shutdown();
}
current = channel;
+ current.setRequestManager(getRequestManager());
}
public boolean isShuttingDown() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-09-08 21:12:04
|
Revision: 2132
http://cogkit.svn.sourceforge.net/cogkit/?rev=2132&view=rev
Author: hategan
Date: 2008-09-08 21:12:01 +0000 (Mon, 08 Sep 2008)
Log Message:
-----------
removed random 2 hour limit
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/GSSChannel.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/GSSChannel.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/GSSChannel.java 2008-09-04 15:36:01 UTC (rev 2131)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/service/channels/GSSChannel.java 2008-09-08 21:12:01 UTC (rev 2132)
@@ -28,6 +28,7 @@
import org.globus.gsi.gssapi.net.GssSocket;
import org.globus.gsi.gssapi.net.GssSocketFactory;
import org.gridforum.jgss.ExtendedGSSContext;
+import org.ietf.jgss.GSSContext;
import org.ietf.jgss.GSSCredential;
import org.ietf.jgss.GSSManager;
@@ -75,7 +76,7 @@
GSSManager manager = new GlobusGSSManagerImpl();
ExtendedGSSContext gssContext = (ExtendedGSSContext) manager.createContext(null,
- GSSConstants.MECH_OID, cred, 2 * 3600);
+ GSSConstants.MECH_OID, cred, GSSContext.INDEFINITE_LIFETIME);
gssContext.requestAnonymity(false);
gssContext.requestCredDeleg(false);
@@ -90,6 +91,7 @@
socket.setSoTimeout(0);
socket.setWrapMode(GSIConstants.MODE_SSL.intValue());
socket.setAuthorization(authz);
+
logger.info("Connected to " + contact);
this.getChannelContext().setRemoteContact(contact.toString());
@@ -149,8 +151,6 @@
}
}
}
-
-
protected void register() {
getMultiplexer(SLOW).register(this);
@@ -170,8 +170,7 @@
protected synchronized void ensureCallbackServiceStarted() throws Exception {
if (getCallbackService() == null) {
- setCallbackService(new GSSService(GSSService.initializeCredentials(true,
- null, null)));
+ setCallbackService(new GSSService(GSSService.initializeCredentials(true, null, null)));
}
logger.info("Started local service: " + getCallbackService().getContact());
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|