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 5ED85F7A9 for ; Mon, 6 May 2013 23:00:59 +0000 (UTC) Received: (qmail 44348 invoked by uid 500); 6 May 2013 23:00:59 -0000 Delivered-To: apmail-accumulo-dev-archive@accumulo.apache.org Received: (qmail 44316 invoked by uid 500); 6 May 2013 23:00:59 -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 44308 invoked by uid 99); 6 May 2013 23:00:59 -0000 Received: from minotaur.apache.org (HELO minotaur.apache.org) (140.211.11.9) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 May 2013 23:00:59 +0000 Received: from localhost (HELO mail-lb0-f179.google.com) (127.0.0.1) (smtp-auth username ctubbsii, mechanism plain) by minotaur.apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 May 2013 23:00:58 +0000 Received: by mail-lb0-f179.google.com with SMTP id d10so91060lbj.38 for ; Mon, 06 May 2013 16:00:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=UdqLO9lDXSN4tMkDsyFk9hMtONH8zNlfHjNexa3nlTk=; b=F5bzsYp5aqEDQE3qrAXGPZChD97nKfsfnkwIznJB3Q7DGEI+KAvGBIjR3OxCTmSMsF duAYpyZ6CpYTc5yWCQTe1fIKdpO/BZ+9G4vfW0yhNd3v3YcietK4fB7UjPifTXIkJd97 m1hkkxaN2sLeof+Jpeg/mAhi7L8oXKt8zYsSbofXvoPVUJt3F81MuQo44a/EIGI0ru5S sVDB4wI7nqydGADiFq40eqfuL6lC6S2IE8njY2ywFwZ0jTVzmWd2bb1WNKoxufoV1/aq tljZe9SuzUJaYF1kG6U73rhdX3Utc4bFLp1yGUruLmrhj9mGxeMZu15to/ZyCDOyIiUT HrcA== MIME-Version: 1.0 X-Received: by 10.112.158.194 with SMTP id ww2mr3183lbb.56.1367881256825; Mon, 06 May 2013 16:00:56 -0700 (PDT) Received: by 10.114.185.135 with HTTP; Mon, 6 May 2013 16:00:56 -0700 (PDT) In-Reply-To: References: Date: Mon, 6 May 2013 19:00:56 -0400 Message-ID: Subject: Re: Drop version part of jar filenames in $ACCUMULO_HOME/lib From: Christopher To: Accumulo Dev List Content-Type: text/plain; charset=ISO-8859-1 I never unpack over top of an existing installation, but that's not the only advantage. For instance, not having to update scripts is nice. Adding a VERSION file is reasonable... but it'd just be a convenience if one doesn't do the symlinking thing that Billie mentioned, where one can see the top level directory name. I see 3 main cases for deploying Accumulo: 1) Using RPM/DEB, which manages versions of files for you, and the version in the filename is irrelevant. 2) Unpacking a tarball into a separate directory, with a name according to the version, in which case the version in the filename is irrelevant. 3) Unpacking a tarball into the same directory, overwriting, in which case the filename without a version is actually very convenient. Regarding mixing versions of jars: There's the case that somebody could copy into a directory a jar from another version... but that's essentially the same problem as somebody accidentally renaming a jar, and we can't protect against that. In the worst case scenario, one simply needs to inspect the META-INF/MANIFEST.MF file from the jar to know for sure what version it is. Regarding easily telling which version one is using: A VERSION file is convenient, and so is a directory name. RPM/DEB handle this for you. Keep in mind that this entire discussion is about what goes into the binary distribution tarball's lib directory, though. Jars downloaded from Maven will still have the version numbers in their filename, and all jars will still have a MANIFEST.MF file with the version in it. Looking at other packaging (outside of the Hadoop eco-system), stripping the version from the name seems to be a quite common practice. -- Christopher L Tubbs II http://gravatar.com/ctubbsii On Mon, May 6, 2013 at 6:42 PM, Billie Rinaldi wrote: > On Mon, May 6, 2013 at 2:26 PM, Christopher wrote: > >> Why do we need the version part of the filename in $ACCUMULO_HOME/lib? >> >> It seems to me that it would be cleaner to unpack the tarball on top >> of an existing $ACCUMULO_HOME/ and overwrite the jars in lib/. >> > > Do we want to encourage unpacking the tarball on top of an existing > installation? This seems like something that could be error-prone. I > prefer keeping separate directories for each installation and symlinking > the one I want to use to my standard ACCUMULO_HOME. > > Billie > > > >> >> For the RPM/DEB, the versions of the files are tracked in the RPMDB >> (or equivalent DEB database), so they aren't needed there either. >> >> It would make our scripts slightly more manageable (files have a >> predictable name that doesn't need to be updated each version). >> >> I'm curious what the argument(s) against dropping the version from the >> jars in lib/ are. >> >> The way we copy jars currently to lib/ is with the >> maven-dependency-plugin, and that already has a built-in feature to >> drop the version part of the filename when it copies. It seems to make >> sense, and I see no argument against it. >> >> -- >> Christopher L Tubbs II >> http://gravatar.com/ctubbsii >>