Return-Path: X-Original-To: apmail-accumulo-dev-archive@www.apache.org Delivered-To: apmail-accumulo-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 98AF310CEF for ; Fri, 2 Aug 2013 17:20:23 +0000 (UTC) Received: (qmail 54032 invoked by uid 500); 2 Aug 2013 17:20:23 -0000 Delivered-To: apmail-accumulo-dev-archive@accumulo.apache.org Received: (qmail 54000 invoked by uid 500); 2 Aug 2013 17:20:20 -0000 Mailing-List: contact dev-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list dev@accumulo.apache.org Received: (qmail 53987 invoked by uid 99); 2 Aug 2013 17:20:19 -0000 Received: from minotaur.apache.org (HELO minotaur.apache.org) (140.211.11.9) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Aug 2013 17:20:19 +0000 Received: from localhost (HELO mail-lb0-f177.google.com) (127.0.0.1) (smtp-auth username ctubbsii, mechanism plain) by minotaur.apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Aug 2013 17:20:18 +0000 Received: by mail-lb0-f177.google.com with SMTP id r11so622704lbv.8 for ; Fri, 02 Aug 2013 10:20:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=9DdTEFROuY0XfgOl5DK5Zw7XSV0m96hNgv57R0l16JI=; b=KN9G/DBQIgPHWDq/eb+8gikBdwvE1GclSXjYYDJQWK4NslMIOO8piSS1u7gFi7B05b Tq4y2BzM1V4/8uN3ZESncW1hERFABhoBrzyk/0yrUs0ogZtoOGPZlc6K2CoHvCtSo9UM C7E0yt0Ixvr8obFb6wlLQQ91mYYIuraHdREPV8XPrnBwsFQak9ZEeDROVgBkIwFHtdNb K7YrxtiKVYtI6KjeS5rH7Vo+Hdw1aR1YQ7MQN2ibLVqjF/jLfmX7Lw1CkyibINTLyTj0 TN9ygFncoyDw2ufOx2rlbWZCkM+gJ/9RqPiAIl1DM65G8iKi5hYDNgjv2rzX3X9vgI1x 1h8A== MIME-Version: 1.0 X-Received: by 10.152.120.136 with SMTP id lc8mr3342188lab.89.1375464016782; Fri, 02 Aug 2013 10:20:16 -0700 (PDT) Received: by 10.114.9.195 with HTTP; Fri, 2 Aug 2013 10:20:16 -0700 (PDT) In-Reply-To: References: <1375389221800.35c4f76e@Nodemailer> Date: Fri, 2 Aug 2013 13:20:16 -0400 Message-ID: Subject: Re: client config files From: Christopher To: Accumulo Dev List Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Yes, I think that would be provide the best user experience for client code. I'm not too stuck on this point, though I do think it should be independent of AccumuloConfiguration for reasons I mentioned on ACCUMULO-1397. I've been playing with the idea of creating a generic typed configuration library that extends commons-configuration to make it easier to get the same value as AccumuloConfiguration's Property enums, but without being so monolithic and Accumulo server-specific. That common interface could form the basis of an AccumuloClientConfiguration, and independently, an AccumuloServerConfiguration. Do you think that would be useful for your client configuration? -- Christopher L Tubbs II http://gravatar.com/ctubbsii On Fri, Aug 2, 2013 at 10:11 AM, Michael Berman wrote: > So does this mean you'd rather have the config switches be called somethi= ng > like javax.net.ssl.trustStore rather than general.server.ssl.trustStore i= n > the Accumulo Properties? Our implementation of SSL will be provided by t= he > thrift connectors rather than us using JSSE directly, so we'll have to > interpret them ourselves rather than JSSE doing it automatically. Should > we respect these flags if they're passed in through System.getProperties(= ) > in addition to whatever the normal config flow ends up being? Note that = we > won't be able to respect many of the flags, since we're at Thrift's mercy > for socket construction. > > > On Thu, Aug 1, 2013 at 10:06 PM, Christopher wrote: > >> I'm generally not a fan of the way some standard Java things have been >> reinvented in Hadoop. I've always seen JSSE SSL config as system >> properties, optionally stored in a properties file. Even if Hadoop is >> using an XML-based configuration for this purpose, I'd still steer >> clear of it, for this reason. >> >> -- >> Christopher L Tubbs II >> http://gravatar.com/ctubbsii >> >> >> On Thu, Aug 1, 2013 at 4:33 PM, Joey Echeverria wrot= e: >> > I generally prefer properties files to XML, but there may be a argumen= t >> for reusing Hadoop's SSL configuration system which is XML based. >> > >> > >> > -Joey >> > =97 >> > Sent from Mailbox for iPhone >> > >> > On Thu, Aug 1, 2013 at 3:08 PM, Christopher wrot= e: >> > >> >> ^ Another reason I like commons-configuration here is for >> >> property-interpolation with HierarchicalConfiguration. >> >> -- >> >> Christopher L Tubbs II >> >> http://gravatar.com/ctubbsii >> >> On Thu, Aug 1, 2013 at 3:07 PM, Christopher >> wrote: >> >>> I absolutely DO think they should be combined in a properties file >> >>> located in $HOME/.accumulo/config >> >>> I absolutely DO NOT think this client configuration should be >> >>> exclusive to the shell, and I absolutely DO NOT think it should be >> >>> XML. >> >>> >> >>> I would love to see all our clients/client code use >> >>> commons-configuration to hold properties from the properties file, s= o >> >>> that only a --config parameter is needed (with reasonable defaults, = so >> >>> even that is not absolutely necessary). I also think that every >> >>> property that can exist in the file should be possible to override o= n >> >>> the command-line. I personally prefer to use system properties, usin= g >> >>> commons-configuration's HierarchicalConfiguration, but jcommander ma= y >> >>> make it easier to do the same thing in a slightly different way. >> >>> >> >>> -- >> >>> Christopher L Tubbs II >> >>> http://gravatar.com/ctubbsii >> >>> >> >>> >> >>> On Thu, Aug 1, 2013 at 12:25 PM, Michael Berman >> wrote: >> >>>> As part of SSL, we need to introduce configuration so accumulo clie= nts >> >>>> (such as ZooKeeperInstance) can find trust stores. It seems like >> this has >> >>>> a lot in common with shell config files in ACCUMULO-1397. Do peopl= e >> think >> >>>> these should be combined, or should the shell have its own separate >> config? >> >>>> I was imagining a simple java .properties-style key=3Dvalue list. >> Does this >> >>>> seem reasonable? Or should the format be more like the xml of the >> site >> >>>> config? I was also imagining looking through a list of files that >> would >> >>>> each override settings, perhaps in the following order (from lowest= to >> >>>> highest priority): >> >>>> >> >>>> /etc/accumulo/client.conf >> >>>> $ACCUMULO_HOME/conf/client.conf >> >>>> $HOME/.accumulo/config >> >>>> --client-config command line switch for shell or explicit parameter >> passed >> >>>> to ZooKeeperInstance >> >>>> >> >>>> Does this sound good to y'all? Should the explicit switch/paramete= r >> have >> >>>> per-property override semantics, or should it just be used as the >> exclusive >> >>>> source of properties if specified? >> >>>> >> >>>> Mike Drob, are you actively working on the shell side of this >> already? I >> >>>> see that bug is assigned to you... >> >>>> >> >>>> Thanks, >> >>>> Michael >>