You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2008/10/07 17:48:44 UTC

[jira] Created: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Configuration.getProps() should be made protected for ease of overriding
------------------------------------------------------------------------

                 Key: HADOOP-4365
                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
             Project: Hadoop Core
          Issue Type: Improvement
          Components: conf
    Affects Versions: 0.20.0
            Reporter: Steve Loughran


HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.

By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12695444#action_12695444 ] 

Hudson commented on HADOOP-4365:
--------------------------------

Integrated in Hadoop-trunk #796 (See [http://hudson.zones.apache.org/hudson/job/Hadoop-trunk/796/])
    

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.21.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>             Fix For: 0.21.0
>
>         Attachments: hadoop-4365.patch, hadoop-4365.patch
>
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Loughran updated HADOOP-4365:
-----------------------------------

    Status: Open  (was: Patch Available)

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.20.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: hadoop-4365.patch, hadoop-4365.patch
>
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Loughran updated HADOOP-4365:
-----------------------------------

    Attachment: hadoop-4365.patch

This patch adds tests that 
* the Configuration.getProperties() method is accessible from subclasses
* if you add a new default property, configuration files get their reloadConfiguration() method called.
* if you call Configuration.setQuietMode(true), then getProperties() is one place where a load error is raised.

There's a new empty configuration xml file added as default, it cannot be unloaded until HADOOP-5093 is fixed.

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.21.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>             Fix For: 0.21.0
>
>         Attachments: hadoop-4365.patch, hadoop-4365.patch
>
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12665825#action_12665825 ] 

Steve Loughran commented on HADOOP-4365:
----------------------------------------

I will add a test for this; catches regressions

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.20.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: hadoop-4365.patch
>
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Loughran updated HADOOP-4365:
-----------------------------------

    Status: Patch Available  (was: Open)

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.20.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: hadoop-4365.patch
>
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12654507#action_12654507 ] 

Doug Cutting commented on HADOOP-4365:
--------------------------------------

This needs some javadoc, but other than that seems fine.

Longer-term, should we replace 'new Configuration()' with a factory API?  Would that help you at all?  Or does that just move the problem?


> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.20.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: hadoop-4365.patch
>
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637859#action_12637859 ] 

Steve Loughran commented on HADOOP-4365:
----------------------------------------

-we have subclassed Configuration to bind to a different configuration source; JobConf  is subclassed because so many things expect it. The reason I need to access/override getProps() is so that when Configuration tries to enum all property tuples, I need to generate that list, and so let the base class serialize the state and share it.

I'll provide the patch for this.

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.20.0
>            Reporter: Steve Loughran
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Loughran updated HADOOP-4365:
-----------------------------------

        Fix Version/s: 0.21.0
    Affects Version/s:     (was: 0.20.0)
                       0.21.0
               Status: Patch Available  (was: Open)

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.21.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>             Fix For: 0.21.0
>
>         Attachments: hadoop-4365.patch, hadoop-4365.patch
>
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637567#action_12637567 ] 

Doug Cutting commented on HADOOP-4365:
--------------------------------------

JobConf will soon go away, with HADOOP-1230.

That said, letting folks override getProps() sounds fine.  This revives the spirit of HADOOP-24.

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.20.0
>            Reporter: Steve Loughran
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Chris Douglas (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Douglas updated HADOOP-4365:
----------------------------------

      Resolution: Fixed
    Hadoop Flags: [Reviewed]
          Status: Resolved  (was: Patch Available)

+1

I committed this. Thanks, Steve

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.21.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>             Fix For: 0.21.0
>
>         Attachments: hadoop-4365.patch, hadoop-4365.patch
>
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12655549#action_12655549 ] 

Hadoop QA commented on HADOOP-4365:
-----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12395566/hadoop-4365.patch
  against trunk revision 725547.

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no tests are needed for this patch.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    +1 findbugs.  The patch does not introduce any new Findbugs warnings.

    +1 Eclipse classpath. The patch retains Eclipse classpath integrity.

    +1 core tests.  The patch passed core unit tests.

    +1 contrib tests.  The patch passed contrib unit tests.

Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3705/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3705/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3705/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3705/console

This message is automatically generated.

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.20.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: hadoop-4365.patch
>
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Loughran reassigned HADOOP-4365:
--------------------------------------

    Assignee: Steve Loughran

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.20.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-4365) Configuration.getProps() should be made protected for ease of overriding

Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-4365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Loughran updated HADOOP-4365:
-----------------------------------

    Attachment: hadoop-4365.patch

Here's the patch for this. No tests; it just changes the protection level of one method

> Configuration.getProps() should be made protected for ease of overriding
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-4365
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4365
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: conf
>    Affects Versions: 0.20.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: hadoop-4365.patch
>
>
> HADOOP-4293 does make Configuration cleaner and easier to work with, but it does contain assumptions about how configurations are represented (in a private Properties instance) that subclasses may wish to diverge from.
> By making getProps() protected, people who subclass JobConf or Configuration can do their own binding from configuration data to Properties. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.