Return-Path: X-Original-To: apmail-accumulo-notifications-archive@minotaur.apache.org Delivered-To: apmail-accumulo-notifications-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DA80810B81 for ; Tue, 25 Nov 2014 22:38:12 +0000 (UTC) Received: (qmail 54044 invoked by uid 500); 25 Nov 2014 22:38:12 -0000 Delivered-To: apmail-accumulo-notifications-archive@accumulo.apache.org Received: (qmail 54001 invoked by uid 500); 25 Nov 2014 22:38:12 -0000 Mailing-List: contact notifications-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jira@apache.org Delivered-To: mailing list notifications@accumulo.apache.org Received: (qmail 53984 invoked by uid 99); 25 Nov 2014 22:38:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Nov 2014 22:38:12 +0000 Date: Tue, 25 Nov 2014 22:38:12 +0000 (UTC) From: "Christopher Tubbs (JIRA)" To: notifications@accumulo.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (ACCUMULO-3199) RPC options in client configuration are passed to the RPC layer poorly 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/ACCUMULO-3199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christopher Tubbs updated ACCUMULO-3199: ---------------------------------------- Resolution: Fixed Status: Resolved (was: Patch Available) > RPC options in client configuration are passed to the RPC layer poorly > ---------------------------------------------------------------------- > > Key: ACCUMULO-3199 > URL: https://issues.apache.org/jira/browse/ACCUMULO-3199 > Project: Accumulo > Issue Type: Task > Components: client > Reporter: Christopher Tubbs > Assignee: Christopher Tubbs > Fix For: 1.7.0 > > Time Spent: 20m > Remaining Estimate: 0h > > The client configuration options for SSL, timeout, and (possibly) other RPC-related options are wrapped into an AccumuloConfiguration object to pass down to the RPC layer. This is done in a bit of a convoluted way, by leveraging the deprecated {{Instance.getConfiguration()}} method and relying on the fact that the {{Instance}} object is already passed through, instead of passing it through the {{Connector}} and internally to the the RPC layer where it's needed. > The problem with this is that only the {{ZooKeeperInstance}} holds client configuration for this purpose, and simply calling {{instance.getConfiguration()}} will not always work as expected if you don't know what kind of {{Instance}} object you have. Further, this configuration object is occasionally incorrectly used in server code to read the server-side site configuration, when {{new ServerConfigurationFactory(instance).getConfiguration()}} should be used instead. This can lead to unexpected behavior if you are relying on the {{HdfsZooInstance}} implementation to provide the site configuration, but instead you have a different {{Instance}}, because all you'll get back is the {{DefaultConfiguration}}. > The code that uses {{Instance.getConfiguration()}} needs to be changed, and the RPC-related configuration needs to be passed more explicitly through to the RPC layer, so we are less prone to bugs which make assumptions about which configuration is being retrieved with the deprecated API. -- This message was sent by Atlassian JIRA (v6.3.4#6332)