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






Reply via email to