[gridengine users] JSV problem in version 6.2u5

Reuti reuti at staff.uni-marburg.de
Wed May 8 19:12:58 UTC 2013


Hi,

Am 08.05.2013 um 19:46 schrieb Michael Coffman:

> I am having a problem with a client side jsv submit script setting a boolen
> complex to 0. I've kind of worked around it until now...
> 
> #grid version
> 6.2u5
> 
> # complex line
> spice                 spice             BOOL        ==    FORCED
> NO         0        0
> 
> # jsv script is called from global sge_request.
> 
> # grid submit line
> qrsh  -now no -l spice
> 
> #without memory rule (commented out so nothing in the jsv is exercised)
> hard resource_list:         spice=TRUE
> 
> #with memory rule
> hard resource_list:         mem_total=128G,spice=0.000000

This looks like:

http://gridengine.org/pipermail/users/2012-December/005360.html

But besides the calling issue it wasn't elaborated further AFAICS.

-- Reuti


> # output of jsv debug log (logging_enabled) - this is the same with either way.
>>>> START
> <<< SEND ENV
> <<< STARTED
>>>> PARAM VERSION 1.0
>>>> PARAM CONTEXT client
>>>> PARAM CLIENT qrsh
>>>> PARAM USER coffman
>>>> PARAM GROUP games
>>>> PARAM CMDNAME NONE
>>>> PARAM CMDARGS 0
>>>> PARAM e /dev/null
>>>> PARAM l_hard spice=0.000000
>>>> PARAM M coffman at gtmaster.ftc.avagotech.net
>>>> PARAM N QRLOGIN
>>>> PARAM o /dev/null
>>>> PARAM display localhost:11.0
>>>> ENV ADD DISPLAY localhost:11.0
>>>> ENV ADD QRSH_PORT gtmaster.ftc.avagotech.net:44360
>>>> BEGIN
> <<< PARAM l_hard mem_total=128G,spice=0.000000
> <<< RESULT STATE CORRECT Job was modified before it was accepted
>>>> QUIT
> 
> 
> Any clues as to how best to fix this?  It seems to be something in the
> JSV.pm file that maps the r_value to 0 if none is given.  It only seems
> to happen when the jsv_sub_add_param is called.
> 
> Here is a jsv script that I see this issue with...
> ----------------------------------------------
> #!/usr/bin/perl
> use strict;
> use warnings;
> no warnings qw/uninitialized/;
> 
> use Env qw(SGE_ROOT);
> use lib "$SGE_ROOT/util/resources/jsv";
> use JSV qw( :DEFAULT jsv_send_env jsv_log_info );
> 
> jsv_on_start(sub {
>  jsv_send_env();
> });
> 
> jsv_on_verify(sub {
>  my %params = jsv_get_param_hash();
>  my $do_correct = 0;
>  my $do_wait = 0;
> 
>  if ((exists $params{l_hard}{memory}) or (exists $params{l_hard}{mem})) {
>    my $memory = 0;
>    # set local memory value the l_hard memory value is one that I
> created and the short
>    # cut is mem..
>    if (exists $params{l_hard}{memory}) { $memory = $params{l_hard}{memory} }
>    elsif (exists $params{l_hard}{mem}) { $memory = $params{l_hard}{mem} }
>    if (!exists $params{l_hard}{mem_total})  {
>    # check values and set memory ceilings
>      if ($memory < 128 ) {
>        $do_correct = 1;
>        jsv_sub_add_param('l_hard','mem_total', '260G');
>      } elsif ($memory < 387 ) {
>        $do_correct = 1;
>        jsv_sub_add_param('l_hard','mem_total', '400G');
>      }
>    }
>  } else {
>    $do_correct = 1;
>    jsv_sub_add_param('l_hard','mem_total', '128G');
>  }
> 
>  if ($do_wait) {
>     jsv_reject_wait('Job is rejected. It might be submitted later.');
>  } elsif ($do_correct) {
>     jsv_correct('Job was modified before it was accepted');
>  } else {
>     jsv_accept('Job is accepted');
>  }
> });
> 
> jsv_main();
> ----------------------------------------------
> 
> Any help is greatly appreciated.  Hopefully I don't have to check
> every boolean value and if the r_value is 0, remap to true.  I guess
> that wouldn't be the worst thing...
> 
> Thanks.
> -- 
> -MichaelC
> _______________________________________________
> users mailing list
> users at gridengine.org
> https://gridengine.org/mailman/listinfo/users





More information about the users mailing list