Return-Path: X-Original-To: apmail-storm-dev-archive@minotaur.apache.org Delivered-To: apmail-storm-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DCC3B10FFD for ; Fri, 7 Feb 2014 01:45:30 +0000 (UTC) Received: (qmail 64590 invoked by uid 500); 7 Feb 2014 01:45:29 -0000 Delivered-To: apmail-storm-dev-archive@storm.apache.org Received: (qmail 64460 invoked by uid 500); 7 Feb 2014 01:45:28 -0000 Mailing-List: contact dev-help@storm.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@storm.incubator.apache.org Delivered-To: mailing list dev@storm.incubator.apache.org Received: (qmail 64444 invoked by uid 99); 7 Feb 2014 01:45:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Feb 2014 01:45:28 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of ptgoetz@gmail.com designates 209.85.216.177 as permitted sender) Received: from [209.85.216.177] (HELO mail-qc0-f177.google.com) (209.85.216.177) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Feb 2014 01:45:22 +0000 Received: by mail-qc0-f177.google.com with SMTP id i8so4725420qcq.36 for ; Thu, 06 Feb 2014 17:45:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=jg3RQBhVLW+KaaGUEbxdLhJ14Mql7JXzg13JLqrQF5s=; b=1HJBeF91ZaRk2REu/rRZc/Ka97CmLUqTsBb+qU/zUL3TDxEFlweWYPXAqT3Gkt2M9u qhBQuEKjW4v9cDWAJVDDsWLUL/MZ7qe0/BU/CfA/Rvhk3ur/UZVsAEoxzbmavZC7JHz+ zcZC7mDvBlDKl3Gw82UW3Y9mXm9UhH5VCef37s/yTFCt8JASMuYU9KFKe8Ci3A6xBv3s Z3Oi0aHcdx7xz26yOr/s87WJziyd7lAtjn+EkKAVIe9j310LKReEd+RdPZcf6yt3yyJ2 nV+imdgTu/Gp+dQ5bIJLIN0RCdpes2kGmL9LZTiq31zUwqrLeyAxbuUHJJVYqLVATIJk AJNg== X-Received: by 10.140.36.200 with SMTP id p66mr16181688qgp.54.1391737501566; Thu, 06 Feb 2014 17:45:01 -0800 (PST) Received: from thidwick.local (pool-173-59-54-41.phlapa.fios.verizon.net. [173.59.54.41]) by mx.google.com with ESMTPSA id g68sm5716899qge.7.2014.02.06.17.45.00 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 06 Feb 2014 17:45:00 -0800 (PST) Content-Type: multipart/signed; boundary="Apple-Mail=_280451FC-2CC1-42CE-8C49-C040DEBFA60C"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\)) Subject: Re: http-client version conflict From: "P. Taylor Goetz" In-Reply-To: Date: Thu, 6 Feb 2014 20:44:58 -0500 Cc: dev@storm.incubator.apache.org Message-Id: References: <62C4B740-3DF3-4D48-8664-6BFBE86388C7@gmail.com> To: user@storm.incubator.apache.org X-Mailer: Apple Mail (2.1827) X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail=_280451FC-2CC1-42CE-8C49-C040DEBFA60C Content-Type: multipart/alternative; boundary="Apple-Mail=_56AF7B89-6CA3-4FE1-93A4-C2597C50EA53" --Apple-Mail=_56AF7B89-6CA3-4FE1-93A4-C2597C50EA53 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 I=92m glad the shader plugin worked for you.=20 Updating dependencies can be tricky as it can easily introduce = regressions.=20 Ultimately we need to figure out the best solution to avoiding conflicts = between user code (i.e. dependencies in topology jar files) and Storm=92s = libraries. The classloader approach has been attempted, but IMO Storm=92s use of = serialization complicates things significantly. Package relocation seems = to be a relatively lightweight solution. If that=92s a direction we pursue, then it introduces the question of = whether Storm should relocate its dependencies, or if that should be = left up to the user (topology developer). Elastic Search has gone down the path of relocating some of their = dependencies [1] (not necessarily an endorsement, just an observation). I=92ve CC=92d dev@ since this is all related to the infamous issue #115, = which is now STORM-129 [2]. - Taylor [1] = https://github.com/elasticsearch/elasticsearch/blob/master/pom.xml#L474 [2] https://issues.apache.org/jira/browse/STORM-129 On Feb 6, 2014, at 7:25 PM, Vinay Pothnis = wrote: > Thank you all for replies! The shader-plugin solution seems to work = for us.=20 >=20 > I wonder if we can create a JIRA ticket for storm to upgrade the = http-client library as part of their next release. >=20 > -Vinay >=20 >=20 > On Thu, Feb 6, 2014 at 2:38 PM, Michael Rose = wrote: > We've done this with SLF4j and Guava as well without issues. >=20 > Michael Rose (@Xorlev) > Senior Platform Engineer, FullContact > michael@fullcontact.com >=20 >=20 >=20 > On Thu, Feb 6, 2014 at 3:03 PM, Mark Greene wrote: > We had this problem as well. We modified our chef cookbook to just = replace the older version with the newer one and storm didn't complain = or have any other issues as a result. >=20 >=20 > On Wed, Feb 5, 2014 at 10:31 AM, P. Taylor Goetz = wrote: > Your best bet is probably to use the shade plugin to relocate the = http-client package so it doesn=92t conflict with the version storm = uses. >=20 > Storm does this with the libtrhift dependency in storm-core: >=20 > = https://github.com/apache/incubator-storm/blob/master/storm-core/pom.xml#L= 220 >=20 > (You can ignore the clojure transformer in that config, unless you = have non-AOT clojure code that uses the http-client library). >=20 > More information on using the shade plugin to do package relocations = can be found here: >=20 > = http://maven.apache.org/plugins/maven-shade-plugin/examples/class-relocati= on.html >=20 > - Taylor >=20 > On Feb 4, 2014, at 4:27 PM, Vinay Pothnis = wrote: >=20 > > Hello, > > > > I am using storm version 0.9.0.1. > > My application depends on apache http-client version 4.3.2 - but = storm depends on http-client version 4.1.1. > > > > What is the best way to override this dependency? > > > > Thanks > > Vinay >=20 >=20 >=20 >=20 --Apple-Mail=_56AF7B89-6CA3-4FE1-93A4-C2597C50EA53 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=windows-1252 I=92m = glad the shader plugin worked for you. 

Updating = dependencies can be tricky as it can easily introduce = regressions. 

Ultimately we need to figure = out the best solution to avoiding conflicts between user code (i.e. = dependencies in topology jar files) and Storm=92s = libraries.

The classloader approach has been = attempted, but IMO Storm=92s use of serialization complicates things = significantly. Package relocation seems to be a relatively lightweight = solution.

If that=92s a direction we pursue, = then it introduces the question of whether Storm should relocate its = dependencies, or if that should be left up to the user (topology = developer).

Elastic Search has gone down the = path of relocating some of their dependencies [1] (not necessarily an = endorsement, just an observation).

I=92ve CC=92d = dev@ since this is all related to the infamous issue #115, which is now = STORM-129 [2].

- = Taylor






On Feb 6, 2014, at 7:25 PM, = Vinay Pothnis <vinay.pothnis@gmail.com> = wrote:

Thank you all for replies! The = shader-plugin solution seems to work for us. 

I = wonder if we can create a JIRA ticket for storm to upgrade the = http-client library as part of their next release.

-Vinay


On Thu, Feb 6, = 2014 at 2:38 PM, Michael Rose <michael@fullcontact.com> wrote:
We've = done this with SLF4j and Guava as well without issues.

Michael Rose (@Xorlev)
Senior Platform = Engineer, FullContact
michael@fullcontact.com



On Thu, Feb 6, 2014 at 3:03 PM, Mark = Greene <mark@evertrue.com> wrote:
We had this problem as well. We modified our chef = cookbook to just replace the older version with the newer one and storm = didn't complain or have any other issues as a result.


On Wed, Feb 5, 2014 at 10:31 AM, P. = Taylor Goetz <ptgoetz@gmail.com> wrote:
Your best bet is probably  to use the shade plugin to relocate the = http-client package so it doesn=92t conflict with the version storm = uses.

Storm does this with the libtrhift dependency in storm-core:

https://github.com/apache/incubator-storm/blob/master/st= orm-core/pom.xml#L220

(You can ignore the clojure transformer in that config, unless you have = non-AOT clojure code that uses the http-client library).

More information on using the shade plugin to do package relocations can = be found here:

http://maven.apache.org/plugins/maven-shade-plugin/examp= les/class-relocation.html

- Taylor

On Feb 4, 2014, at 4:27 PM, Vinay Pothnis <vinay.pothnis@gmail.com> wrote:

> Hello,
>
> I am using storm version 0.9.0.1.
> My application depends on apache http-client version 4.3.2 - but = storm depends on http-client version 4.1.1.
>
> What is the best way to override this dependency?
>
> Thanks
> Vinay





= --Apple-Mail=_56AF7B89-6CA3-4FE1-93A4-C2597C50EA53-- --Apple-Mail=_280451FC-2CC1-42CE-8C49-C040DEBFA60C Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJS9DqaAAoJEI3gOWLoC4/91uUH/ip3meCSK1JNp+L75jzuvhO9 A0aiWs18wQL/MlAT3mn2cwymH+btZiKnbffkG3E0KbRYTrACyqT23l6hyAnFLJ2v lVpb8VUV+VJXmwtevD5K1OV7D7mVD6yGFlWGGn/f0eHBX766+Me5AhfRzYZD0PDu oc+TRJCP3KY+TyM98pbsllFFWh3UogmGRvRCVwo/Zq6nA5y88LvGqtKZfDwr69RX v/PAG1b1MMQLILlEwdjkg9lIwEGANFDCqEmv/0M23Vt42cZ9EWLq9hl7CYr8kkq1 rf6z+SYvMmVHx7IoOZFVXsjuTcE+pcsr+aZuLk4nTbFgilvaleOlz+d/ggXuWCY= =cn3M -----END PGP SIGNATURE----- --Apple-Mail=_280451FC-2CC1-42CE-8C49-C040DEBFA60C--