Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HDFS >> mail # dev >> Hadoop-2 generics compilation error


Copy link to this message
-
Re: Hadoop-2 generics compilation error
I've filed https://issues.apache.org/jira/browse/HDFS-3580 and attached the
patch.

I'd really appreciate it if someone could explain what the problem is, why
the patch fixes it, and whether this is a bug in OpenJDK (that it does not
accept a valid program) or a bug in Sun JDK (that it does accept an
incorrect program).

-andy

On Fri, Jun 29, 2012 at 12:01 PM, Andy Isaacson <[EMAIL PROTECTED]> wrote:

> I ran into this as well, and am prepping a patch. Lars, if you could file
> the Jira explaining why s/boolean/Boolean/ is the right fix, I'll test and
> submit the patch.
>
> -andy
>
>
> On Fri, Jun 29, 2012 at 11:08 AM, Alejandro Abdelnur <[EMAIL PROTECTED]>wrote:
>
>> This change is from HDFS-3481, the wrong JIRA number is because I made
>> a mistake in the commit message.
>>
>> I can put a patch to fix this, but don't have OpenJDK to test it. It
>> would be better if somebody with OpenJDK takes care of it and I'll
>> review it.
>>
>> Thx
>>
>> On Fri, Jun 29, 2012 at 11:01 AM, Arun C Murthy <[EMAIL PROTECTED]>
>> wrote:
>> > HDFS-3113 is committed? Or, are you running with the patch yourself?
>> >
>> > It's still PA and I see Daryn reviewing it yet...
>> >
>> > Arun
>> >
>> > On Jun 28, 2012, at 10:27 PM, lars hofhansl wrote:
>> >
>> >> Since HDFS-3113 was integrated into Hadoop-2 I get the compilation
>> errors of the following type:
>> >>
>> >> [ERROR]
>> /home/lars/dev/hadoop-2/hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/server/HttpFSServer.java:[407,36]
>> incompatible types; no instance(s) of type variable(s) V exist so that V
>> conforms to boolean
>> >>
>> >>
>> >> Indeed at line 407 I see:
>> >>
>> >>         boolean hasData = params.get(DataParam.NAME, DataParam.class);
>> >>
>> >>
>> >> When I change that to
>> >>         Boolean hasData = params.get(DataParam.NAME, DataParam.class);
>> >>
>> >>
>> >> instead (along with long to Long, short to Short, etc, later in that
>> file), everything compiles fine.
>> >>
>> >> $ javac -version
>> >> javac 1.6.0_24
>> >>
>> >>
>> >> $ java -version
>> >> java version "1.6.0_24"
>> >> OpenJDK Runtime Environment (IcedTea6 1.11.3)
>> (fedora-67.1.11.3.fc16-x86_64)
>> >> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>> >>
>> >> Apparently OpenJDK gets mixed up on the type inference here. Can we
>> change this in the way I suggest so that Hadoop-2 (and presumably trunk)
>> can be
>> >> compiled with OpenJDK?
>> >> I'm happy to create a jira and (trivial) patch.
>> >>
>> >>
>> >> Thanks.
>> >>
>> >> -- Lars
>> >>
>> >
>> > --
>> > Arun C. Murthy
>> > Hortonworks Inc.
>> > http://hortonworks.com/
>> >
>> >
>>
>>
>>
>> --
>> Alejandro
>>
>
>