thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James E. King III (JIRA)" <>
Subject [jira] [Resolved] (THRIFT-3060) Node.js client retry logic doesn't flush offline queue on reconnect
Date Tue, 14 May 2019 18:29:00 GMT


James E. King III resolved THRIFT-3060.
       Resolution: Fixed
         Assignee: James E. King III
    Fix Version/s: 0.13.0

Note - the offline_queue is no guarantee that a request is going to get to the server in the
face of disconnections.  Clients should timeout their requests and re-issue them instead of
relying on this offline_queue.  See commends in the PR discussion thread as to why offline_queue
may drop or never deliver a request.

> Node.js client retry logic doesn't flush offline queue on reconnect
> -------------------------------------------------------------------
>                 Key: THRIFT-3060
>                 URL:
>             Project: Thrift
>          Issue Type: Bug
>          Components: Node.js - Library
>    Affects Versions: 0.9.2
>            Reporter: Chris Thompson
>            Assignee: James E. King III
>            Priority: Minor
>             Fix For: 0.13.0
>         Attachments: thrift-3060-fix_retry_logic.patch
>          Time Spent: 20m
>  Remaining Estimate: 0h
> The Node.js client includes retry logic in case the connection terminates unexpectedly.
 On reconnect, the `offline_queue` variable never gets reset, so any requests still in the
queue will get processed on every reconnect.
> In addition, the variables the keep track of the retry state are not initialized prior
to a successful connection, meaning that if the initial connection doesn't succeed, that the
retry timer is set to `NaN` and doesn't work as expected.

This message was sent by Atlassian JIRA

View raw message