Can I have an example on how the current trunk is broken due to this change?

Thanks,
  george.

On Oct 19, 2011, at 16:32 , Ralph Castain wrote:

> I propose that we retain the rest of the changeset, but revert the OMPI 
> constants to bring back their ORTE equivalents. We clearly should scrub those 
> and update them to ensure they are both used and current, but it seems to me 
> we lose more than we gain by removing them.
> 
> 
> On Oct 19, 2011, at 12:09 PM, Jeff Squyres wrote:
> 
>> Oy, yes, that is bad -- we cannot have overlapping ORTE and OMPI error 
>> codes. That seems like a very bad idea (in addition to the mixing of + and 
>> -).
>> 
>> For one thing, that breaks opal_strerror().  That, in itself, seems like a 
>> dealbreaker.
>> 
>> 
>> On Oct 19, 2011, at 1:51 PM, Barrett, Brian W wrote:
>> 
>>> I actually think it's worse than that.  An ORTE error code can now have
>>> the same error code as an OMPI error.  OMPI_ERR_REQUEST and
>>> ORTE_ERR_RECV_LESS_THANK_POSTED now share the same integer return code.
>>> Or, they should, if George hadn't made a mistake (see below).  The sharing
>>> of return codes seems... bad.
>>> 
>>> Also, there's a bug in George's patch.  Error codes are all negative, so
>>> OMPI_ERR_REQUEST should be OMPI_ERR_BASE -1 and OMPI_ERR_MAX should be
>>> OMPI_ERR_BASE - 1, not plus 2.
>>> 
>>> Brian
>>> 
>>> On 10/19/11 1:32 PM, "Ralph Castain" <r...@open-mpi.org> wrote:
>>> 
>>>> I've been wrestling with something from this commit, and I'm unsure of
>>>> the right answer. So please consider this a general design question for
>>>> the community.
>>>> 
>>>> This commit removes all the OMPI <-> ORTE equivalent constants - i.e., we
>>>> used to declare OMPI-prefixed equivalents to every ORTE-prefixed
>>>> constant. I understand the thinking (or at least, what I suspect was the
>>>> thought), but it creates an issue.
>>>> 
>>>> Suppose I have an ompi-level function (A) that calls another ompi-level
>>>> function (B). Invisible to A is that B calls an orte-level function. B
>>>> dutifully checks the error return from the orte-level function against an
>>>> ORTE-prefixed constant.
>>>> 
>>>> However, if that return isn't "success", what does B return up to A? It
>>>> cannot return the OMPI equivalent to the orte error constant because it
>>>> no longer exists. It could return the orte error code, but A has no way
>>>> of knowing it is going to get a non-OMPI constant, and therefore won't be
>>>> able to understand it - it will be an "unrecognized error".
>>>> 
>>>> I guess one option is to require that B "translate" the return code and
>>>> pass some OMPI error up the chain, but this prevents anything upwards
>>>> from understanding the nature of the problem and potentially taking
>>>> corrective and/or alternative action. Seems awfully limiting, as most of
>>>> the time the only option will be the vanilla "OMPI_ERROR".
>>>> 
>>>> Thoughts?
>>> -- 
>>> Brian W. Barrett
>>> Dept. 1423: Scalable System Software
>>> Sandia National Laboratories
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> devel mailing list
>>> de...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>> 
>> 
>> -- 
>> Jeff Squyres
>> jsquy...@cisco.com
>> For corporate legal information go to:
>> http://www.cisco.com/web/about/doing_business/legal/cri/
>> 
>> 
>> _______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


Reply via email to