hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Kimball (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MAPREDUCE-750) Extensible ConnManager factory API
Date Sat, 11 Jul 2009 00:21:15 GMT

    [ https://issues.apache.org/jira/browse/MAPREDUCE-750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12729907#action_12729907
] 

Aaron Kimball commented on MAPREDUCE-750:
-----------------------------------------

This patch creates this public API. The {{sqoop.conn.factories}} parameter has been added
to mapred-default.xml. This parameter defaults to the {{DefaultManagerFactory}} implementation
supplied in Sqoop, which contains much of the logic previously in {{ConnManager}}. 

The names of additional classes implementing {{ManagerFactory}} may be added to the config
parameter. The ConnFactory implementation will instantiate all such {{ManagerFactory}} implementations.
When {{ConnFactory.getManager()}} is called, it will consult the {{accept()}} all {{ManagerFactory}}
implementations in order, returning the first non-null value returned by an {{accept()}} method
(similar to the delegation mechanism used by the Serializations framework).


> Extensible ConnManager factory API
> ----------------------------------
>
>                 Key: MAPREDUCE-750
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-750
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: contrib/sqoop
>            Reporter: Aaron Kimball
>            Assignee: Aaron Kimball
>         Attachments: MAPREDUCE-750.patch
>
>
> Sqoop uses the ConnFactory class to instantiate a ConnManager implementation based on
the connect string and other arguments supplied by the user. This allows per-database logic
to be encapsulated in different ConnManager instances, and dynamically chosen based on which
database the user is actually importing from. But adding new ConnManager implementations requires
modifying the source of a common ConnFactory class. An indirection layer should be used to
delegate instantiation to a number of factory implementations which can be specified in the
static configuration or at runtime.

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


Mime
View raw message