You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Kerry Bonin (JIRA)" <qp...@incubator.apache.org> on 2010/02/11 17:44:33 UTC

[jira] Created: (QPID-2402) qpid::messaging.Message::setTTL() unit ambiguity can cause unexpectected behavior

qpid::messaging.Message::setTTL() unit ambiguity can cause unexpectected behavior
---------------------------------------------------------------------------------

                 Key: QPID-2402
                 URL: https://issues.apache.org/jira/browse/QPID-2402
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker, C++ Client
            Reporter: Kerry Bonin


qpid::messaging.Message::setTTL( boost::uint64_t ttl ) - does not declare its units.

The currently exposed time types are AbsTime and Duration, which seems to imply they should be used for encapsulating time.

When a Duration object is passed to setTTL, the inline operator int64_t() returns the member variable nanoseconds.

When this value is propagated to the broker, it is interpreted around  /cpp/src/qpid/broker/Message # 353 to be in millisecond units.

I would recommend:
- document Message.setTTL units clearly - pick ms or ns
  - if ms, then overload setTTL to take a Duration object so we can use without error by converting in setTTL
  - if ns, then somewhere downstream (OutgoingMessage#351 ?) the ns needs to get converted to ms



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Assigned: (QPID-2402) qpid::messaging.Message::setTTL() unit ambiguity can cause unexpectected behavior

Posted by "Gordon Sim (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim reassigned QPID-2402:
--------------------------------

    Assignee: Gordon Sim

> qpid::messaging.Message::setTTL() unit ambiguity can cause unexpectected behavior
> ---------------------------------------------------------------------------------
>
>                 Key: QPID-2402
>                 URL: https://issues.apache.org/jira/browse/QPID-2402
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, C++ Client
>            Reporter: Kerry Bonin
>            Assignee: Gordon Sim
>
> qpid::messaging.Message::setTTL( boost::uint64_t ttl ) - does not declare its units.
> The currently exposed time types are AbsTime and Duration, which seems to imply they should be used for encapsulating time.
> When a Duration object is passed to setTTL, the inline operator int64_t() returns the member variable nanoseconds.
> When this value is propagated to the broker, it is interpreted around  /cpp/src/qpid/broker/Message # 353 to be in millisecond units.
> I would recommend:
> - document Message.setTTL units clearly - pick ms or ns
>   - if ms, then overload setTTL to take a Duration object so we can use without error by converting in setTTL
>   - if ns, then somewhere downstream (OutgoingMessage#351 ?) the ns needs to get converted to ms

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Resolved: (QPID-2402) qpid::messaging.Message::setTTL() unit ambiguity can cause unexpectected behavior

Posted by "Gordon Sim (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-2402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim resolved QPID-2402.
------------------------------

    Resolution: Fixed

> qpid::messaging.Message::setTTL() unit ambiguity can cause unexpectected behavior
> ---------------------------------------------------------------------------------
>
>                 Key: QPID-2402
>                 URL: https://issues.apache.org/jira/browse/QPID-2402
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, C++ Client
>            Reporter: Kerry Bonin
>            Assignee: Gordon Sim
>
> qpid::messaging.Message::setTTL( boost::uint64_t ttl ) - does not declare its units.
> The currently exposed time types are AbsTime and Duration, which seems to imply they should be used for encapsulating time.
> When a Duration object is passed to setTTL, the inline operator int64_t() returns the member variable nanoseconds.
> When this value is propagated to the broker, it is interpreted around  /cpp/src/qpid/broker/Message # 353 to be in millisecond units.
> I would recommend:
> - document Message.setTTL units clearly - pick ms or ns
>   - if ms, then overload setTTL to take a Duration object so we can use without error by converting in setTTL
>   - if ns, then somewhere downstream (OutgoingMessage#351 ?) the ns needs to get converted to ms

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org