[ https://issues.apache.org/jira/browse/THRIFT-3060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15042583#comment-15042583 ]
ASF GitHub Bot commented on THRIFT-3060: ---------------------------------------- Github user nsuke commented on a diff in the pull request: https://github.com/apache/thrift/pull/395#discussion_r46752076 --- Diff: lib/nodejs/lib/thrift/connection.js --- @@ -182,10 +170,18 @@ Connection.prototype.initialize_retry_vars = function () { this.retry_timer = null; this.retry_totaltime = 0; this.retry_delay = 150; - this.retry_backoff = 1.7; + this.retry_backoff = 1.5; this.attempts = 0; }; +Connection.prototype.flushQueue = function () { + var current_queue = this.offline_queue.slice(); --- End diff -- I don't think we need a copy here since we're throwing away the old one right away. > Node.js client retry logic doesn't flush offline queue on reconnect > ------------------------------------------------------------------- > > Key: THRIFT-3060 > URL: https://issues.apache.org/jira/browse/THRIFT-3060 > Project: Thrift > Issue Type: Bug > Components: Node.js - Library > Affects Versions: 0.9.2 > Reporter: Chris Thompson > Priority: Minor > Attachments: thrift-3060-fix_retry_logic.patch > > > 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 (v6.3.4#6332)