hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Barber (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-9491) HOD fails to run under python 2.6.1
Date Tue, 23 Apr 2013 08:31:16 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-9491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13638885#comment-13638885
] 

Jonathan Barber commented on HADOOP-9491:
-----------------------------------------

I am not an expert, but I downloaded and compiled Python 2.5.6 from python.org and tested
HOD from 1.1.2 with my patch on our Torque cluster, and it appears to work in the same way
as with Python 2.6.1.

I tested the "allocate", "deallocate", "list", and "info" HOD commands. I didn't test the
"script" command because I'm just getting started with Hadoop and I don't know what the script
should be or do.

All of these commands appear to work in the same way as with Python 2.5.6 and without the
patch.
                
> HOD fails to run under python 2.6.1
> -----------------------------------
>
>                 Key: HADOOP-9491
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9491
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: contrib/hod
>    Affects Versions: 1.1.2
>         Environment: RHEL6.4, python-2.6.6-36.el6.x86_64
>            Reporter: Jonathan Barber
>            Priority: Critical
>             Fix For: 1.1.2
>
>         Attachments: HADOOP-9491.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Running HOD from the hadoop-1.1.2-bin.tar.gz distribution with python 2.6.6 on RHEL6.4
fails with the output:
> $ ./contrib/hod/bin/hod -c contrib/hod/conf/hodrc list -d /tmp/hod-jbarber 
> /homes/jbarber/hadoop-1.1.2/contrib/hod/hodlib/Common/threads.py:19: DeprecationWarning:
The popen2 module is deprecated.  Use the subprocess module.
>   from popen2 import Popen4, Popen3, MAXFD
> Traceback (most recent call last):
>   File "hod", line 411, in <module>
>     options=hodOptions) 
>   File "/homes/jbarber/hadoop-1.1.2/contrib/hod/hodlib/Common/setup.py", line 449, in
__init__
>     self.read(configFile)
>   File "/usr/lib64/python2.6/ConfigParser.py", line 286, in read
>     self._read(fp, filename)
>   File "/usr/lib64/python2.6/ConfigParser.py", line 475, in _read
>     cursect = self._dict()
> TypeError: 'dict' object is not callable
> This error appears because the Hadoop "config" class is an instance of the  python ConfigParser
class with a class variable called ._dict. However, the internals of the ConfigParser class
appears to have been changed with later versions of python to have a method called ._dict()
which now conflicts with the "config" classes usage.
> This can be fixed by changing all references in contrib/hod/hodlib/Common/setup.py from
._dict to ._hod_dict, e.g.:
> sed -i 's/\._dict/._hod_dict/' contrib/hod/hodlib/Common/setup.py
> I tested this change by repeating the hod "list" command successfully.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message