Return-Path: Delivered-To: apmail-hadoop-avro-dev-archive@minotaur.apache.org Received: (qmail 11153 invoked from network); 13 Nov 2009 06:44:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 13 Nov 2009 06:44:32 -0000 Received: (qmail 19675 invoked by uid 500); 13 Nov 2009 06:44:32 -0000 Delivered-To: apmail-hadoop-avro-dev-archive@hadoop.apache.org Received: (qmail 19589 invoked by uid 500); 13 Nov 2009 06:44:32 -0000 Mailing-List: contact avro-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: avro-dev@hadoop.apache.org Delivered-To: mailing list avro-dev@hadoop.apache.org Received: (qmail 19579 invoked by uid 99); 13 Nov 2009 06:44:32 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Nov 2009 06:44:32 +0000 X-ASF-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [209.85.222.198] (HELO mail-pz0-f198.google.com) (209.85.222.198) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Nov 2009 06:44:29 +0000 Received: by pzk36 with SMTP id 36so1993710pzk.5 for ; Thu, 12 Nov 2009 22:44:09 -0800 (PST) MIME-Version: 1.0 Received: by 10.140.204.3 with SMTP id b3mr152716rvg.82.1258094649164; Thu, 12 Nov 2009 22:44:09 -0800 (PST) In-Reply-To: <4AFB0EB4.7080701@apache.org> References: <4AFAE958.1000201@apache.org> <4AFB0EB4.7080701@apache.org> From: Philip Zeyliger Date: Thu, 12 Nov 2009 22:43:49 -0800 Message-ID: <15da8a100911122243g5df48930r7278ec005bfe1276@mail.gmail.com> Subject: Re: Why Paranamer? To: avro-dev@hadoop.apache.org Content-Type: multipart/alternative; boundary=000e0cd22d90a846a804783afcb6 --000e0cd22d90a846a804783afcb6 Content-Type: text/plain; charset=ISO-8859-1 Makes sense to me. I think it may be useful to check in the .avpr files that are induced on the way, to let folks start trying to use different clients for certain operations. -- Philip On Wed, Nov 11, 2009 at 11:21 AM, Doug Cutting wrote: > Justin Santa Barbara wrote: > >> What about Philip's point on existing Hadoop interfaces? Any plans for >> how >> we'll generate the Protocol object for these? >> > > I'm hoping to use reflection initially for this. That's the motivation for > my renewed interest in AVRO-80. > > https://issues.apache.org/jira/browse/AVRO-80 > > My rationale is that I don't want to assume we'll move Hadoop onto Avro > overnight. So I'd like to move things in a way that's easy to maintain in a > branch/patch. If we can get reflection to work, then we only need to update > two places per Hadoop protocol: where it calls RPC.getProxy() and > RPC.getServer(). Then we can start looking at performance. We cannot > commit Avro-based Hadoop RPC until performance is adequate, and we don't > want to have to maintain a patch that changes many central data structures > in Hadoop while we're testing and improving performance, since that might > take time. > > Once we've committed Hadoop to using Avro, then we can consider, > protocol-by-protocol, replacing Hadoop's Writable objects with Avro > generated objects. Until then, the protocol will be defined implicitly by > Java through reflection. > > Note that if performance is inadequate due to reflection itself, rather > than the client/server implementations, we might resort to byte-code > modification to accelerate it. > > https://issues.apache.org/jira/browse/AVRO-143 > > This would also be a temporary approach. Longer-term we should move Hadoop > to use protocols declared in .avpr files and generated classes. But I don't > think that's practical in the short-term. > > My current short-term goal is to try to get Avro's reflection to the point > where it can implement NamenodeProtocol. > > Does this make sense? > > Doug > --000e0cd22d90a846a804783afcb6--