Last code changes made to CIMServerDiscovery
were done 5 years ago, which means in these specific code parts nothing
changed since OP 2.6.
To a certain degree I agree with your
perception that one bad apple should not ruin the entire applesauce.
Ideally the discovery function would
report errors(be it through an error structure, an error code or an exception),
but still return all information that could be gathered. Maybe in the case
of the lookup this could be as easy as writing the error from the exception
to Log and return the number of CIMOMs that failed to report correctly.
The CIMServerDiscovery class is not
part of the external interface yet, which means we have every chance to
make even substantial changes to it.
Mit freundlichen Grüßen / Kind regards
Marek Szermutzky
p.s.: OP 2.6 is real, real old... We are currently developing 2.12 or 3.0
and have fixed little more then two thousand bugs since OP 2.6.
Software Engineer / OpenPegasus Maintainer (PMC) and z/OS PlatformRep.
IBM Systems &Technology Group, Systems Software Development / z/OS
Capacity Management and Support
-------------------------------------------------------------------------------------------------------------------------------------------
IBM Deutschland
Schoenaicher Str. 220
71032 Boeblingen
Phone: +49-7031-16-5182
E-Mail: mszermutzky <at> de.ibm.com
-------------------------------------------------------------------------------------------------------------------------------------------
IBM Deutschland Research & Development GmbH / Vorsitzender des Aufsichtsrats:
Martin Jetter
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart,
HRB 243294
From:
"CK, Syamlal"
<Syamlal.CK <at> lsi.com>
To:
"V, Hitha"
<Hitha.V <at> lsi.com>, Marek Szermutzky/Germany/IBM <at> IBMDE
Cc:
"pegasus-l <at> openpegasus.org"
<pegasus-l <at> openpegasus.org>, "Pandurengan, Ponselvarani"
<Ponselvarani.Pandurengan <at> lsi.com>
Date:
30.06.2011 09:01
Subject:
RE: Issue regarding
CIMServerDiscovery.lookup() method
Hi Marek,
Does 2.11 version
also has the capability to log the problematic url and continue with the
discovery of other CIMOMs in the network. ? I think ideally one problematic
server in the network should not cause the whole discovery to fail. Please
let us know your thoughts.
Regards
Syamlal.
From: V, Hitha
Sent: Wednesday, June 29, 2011 4:20 PM
To: Marek Szermutzky
Cc: pegasus-l <at> openpegasus.org; Pandurengan, Ponselvarani; CK, Syamlal
Subject: RE: Issue regarding CIMServerDiscovery.lookup() method
Our application uses OP 2.6.
Regards,
Hitha V
From: Marek Szermutzky [
mailto:MSzermutzky <at> de.ibm.com]
Sent: Monday, June 27, 2011 4:12 PM
To: V, Hitha
Cc: pegasus-l <at> openpegasus.org; Pandurengan, Ponselvarani; CK, Syamlal
Subject: Re: Issue regarding CIMServerDiscovery.lookup() method
Hi.
In OpenPegasus 2.11 we introduced an improved version of the exception
you see. It prints data up to the "bad" point and hex coded some
of the following bytes.
Since this is not the case on your side I assume that you currently use
an earlier version of OP. The fix was brought back to OP 2.10.1 which is
not released yet though.
What you could do to identify the URL is to put the patch from Bug#8813
onto your OP source and go from there. Please also note the two defines
BADUTF8_MAX_CLEAR_CHAR
and BADUTF8_MAX_CHAR_TO_HEX
which allow you to steer how many clear(=clean=okay) characters are printed
and how many of the "bad" characters are encoded into hex chars.
For your specific case I recommend to set #define
BADUTF8_MAX_CLEAR_CHAR to at least 4000
(so you get the entire clear text string).
Mit freundlichen Grüßen / Kind regards
Marek Szermutzky
Software Engineer / OpenPegasus Maintainer (PMC) and z/OS PlatformRep.
IBM Systems &Technology Group, Systems Software Development / z/OS
Capacity Management and Support
-------------------------------------------------------------------------------------------------------------------------------------------
IBM Deutschland
Schoenaicher Str. 220
71032 Boeblingen
Phone: +49-7031-16-5182
E-Mail: mszermutzky <at> de.ibm.com
-------------------------------------------------------------------------------------------------------------------------------------------
IBM Deutschland Research & Development GmbH / Vorsitzender des Aufsichtsrats:
Martin Jetter
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart,
HRB 243294
From: "V,
Hitha" <Hitha.V <at> lsi.com>
To: "pegasus-l <at> openpegasus.org"
<pegasus-l <at> openpegasus.org>
Cc: "CK,
Syamlal" <Syamlal.CK <at> lsi.com>, "Pandurengan, Ponselvarani"
<Ponselvarani.Pandurengan <at> lsi.com>
Date: 22.06.2011
13:48
Subject: Issue
regarding CIMServerDiscovery.lookup() method
Hi,
Our application uses Pegasus SLP APIs to discover the CIMOMs in a network.
This method works correctly when invoked from a Linux machine. However,
on some Windows machines it has been seen that the method throws the exception
“The byte sequence starting at index 3936 is not valid UTF-8 encoding”
and subsequently fails to return the CIMOM list.
When I run “slptool” from Linux (I don’t have a Windows version of it)
and look at the output URL list, I don’t see any invalid characters.
Has anyone faced a similar issue anytime? If so, what is the work around?
How can we identify the URL which contains the invalid character, so that
we can isolate it from the network and proceed with testing?
Regards,
Hitha V