Return-Path: X-Original-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 71BB810BF5 for ; Tue, 18 Feb 2014 22:40:10 +0000 (UTC) Received: (qmail 39750 invoked by uid 500); 18 Feb 2014 22:39:48 -0000 Delivered-To: apmail-hadoop-common-issues-archive@hadoop.apache.org Received: (qmail 39573 invoked by uid 500); 18 Feb 2014 22:39:44 -0000 Mailing-List: contact common-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-issues@hadoop.apache.org Delivered-To: mailing list common-issues@hadoop.apache.org Received: (qmail 39470 invoked by uid 99); 18 Feb 2014 22:39:42 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Feb 2014 22:39:42 +0000 Date: Tue, 18 Feb 2014 22:39:42 +0000 (UTC) From: "Chris Li (JIRA)" To: common-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HADOOP-10278) Refactor to make CallQueue pluggable MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HADOOP-10278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chris Li updated HADOOP-10278: ------------------------------ Attachment: HADOOP-10278-atomicref-adapter.patch Latest version of atomicref-adapter swaps by using handlers to clear the calls, choreographed by using two refs for put and take. We use a software version of double clocking to ensure the queue is likely empty. This should decrease the probability of dropping calls to highly unlikely. And losing calls isn't the end of the world either, since the client handles IPC timeouts with retries. Tests updated too, since the queue can only be swapped when there are active readers. Here's what a live swap looks like: !http://i.imgur.com/g28zJ7u.png! > Refactor to make CallQueue pluggable > ------------------------------------ > > Key: HADOOP-10278 > URL: https://issues.apache.org/jira/browse/HADOOP-10278 > Project: Hadoop Common > Issue Type: Sub-task > Components: ipc > Reporter: Chris Li > Attachments: HADOOP-10278-atomicref-adapter.patch, HADOOP-10278-atomicref-adapter.patch, HADOOP-10278-atomicref-adapter.patch, HADOOP-10278-atomicref-rwlock.patch, HADOOP-10278-atomicref.patch, HADOOP-10278-atomicref.patch, HADOOP-10278-atomicref.patch, HADOOP-10278-atomicref.patch, HADOOP-10278.patch, HADOOP-10278.patch > > > * Refactor CallQueue into an interface, base, and default implementation that matches today's behavior > * Make the call queue impl configurable, keyed on port so that we minimize coupling -- This message was sent by Atlassian JIRA (v6.1.5#6160)