Bug #37784 Passing a 0 timeout value to ndb_logevent_get_next will block
Submitted: 1 Jul 2008 21:38 Modified: 14 Aug 2008 7:45
Reporter: Brian Morin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: Jon Stephens CPU Architecture:Any

[1 Jul 2008 21:38] Brian Morin
Description:
http://dev.mysql.com/doc/ndbapi/en/ndb-logevent-get-next.html

Passing 0 as a paramter to timeout will cause this function to block until there is a new log event.  Please update the documentation.

How to repeat:
n/a
[1 Jul 2008 21:42] Jon Stephens
It's not determined that this is intentional behaviour. Until that's done, this is a development bug, not a docs bug.

Verifier: If this is intentional behaviour, please change category back to Docs, assign to me, and set Stefan as lead. Otherwise, it needs to be fixed by the Cluster Team.

Thanks.
[2 Jul 2008 16:53] Hartmut Holzgraefe
Looking at how the method is implemented it is expected behavior that a timeout value of zero requests blocking behavior:

extern "C"
int ndb_logevent_get_next(const NdbLogEventHandle h,
                          struct ndb_logevent *dst,
                          unsigned timeout_in_milliseconds)
{
  if (timeout_in_milliseconds == 0)
  {
    int res;
    while ((res = ndb_logevent_get_next(h, dst, 60000))==0);
    return res;
  }
[13 Aug 2008 20:47] Jonas Oreland
as requested.
[14 Aug 2008 7:45] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.

If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html