Release 1.99.5

  SUB-TASK

    SQOOP-1348: Sqoop2: Remove Data class

    SQOOP-1349: Sqoop2: Use configurable writable to get Intermediate Data Format

    SQOOP-1526: Sqoop2: Kerberos support when starting service

    SQOOP-1527: Sqoop2: Kerberos support (SPNEGO) in communication between server and client

    SQOOP-1549: Simplifying the Configuration class concept in Connector api

    SQOOP-1552: Revisit if we need a config list for the link/from/to configs in connector api

    SQOOP-1588: Sqoop2: Kite connector write data to HDFS

    SQOOP-1589: Sqoop2: Create common constants, error codes, and queries

    SQOOP-1590: Sqoop2: PostgreSQL repository implementation

    SQOOP-1591: Sqoop2: PostgreSQL integration tests

    SQOOP-1592: Sqoop2: Remove Hadoop1 profile

    SQOOP-1602: Sqoop2:  Fix the current balancing across Loaders internal to Sqoop 

    SQOOP-1621: Sqoop2: Allow null as a dummy Schema

    SQOOP-1624: Sqoop2: Apply repository upgrader api

    SQOOP-1647: Sqoop2: Read data from HDFS in KiteConnector

    SQOOP-1651: Sqoop2: Cleanup: Naming and ordering of methods in Repo relates classes

    SQOOP-1681: DOC: Create an API doc for the Sqoop Execution engine ( since its extensible)

    SQOOP-1702: Fix typo for SQOOP-1526

    SQOOP-1703: Sqoop2: rename Type to Column Type + size to length + minor doc fixes

    SQOOP-1706: Add IDF API doc/wiki  for the IDF interface and Schema -&gt; ColumnTypes

    SQOOP-1707: SQOOP2: Address the validate method in Column class

    SQOOP-1708: Rename Unsupported Column type to Unknown and add java doc

    SQOOP-1709: Column Type enhancements for complex types

    SQOOP-1715: Make name for column required ( fix the corr tests)

    SQOOP-1716: Add Options as a field in the Enum object ( so it can be used for validation)

    SQOOP-1717: Sqoop2: Remove Data class from docs

    SQOOP-1733: Port SQOOP-1728 to sqoop2 branch

    SQOOP-1734: Port SQOOP-1725 to sqoop2 branch

    SQOOP-1741: Port SQOOP-1736 to sqoop2 branch

    SQOOP-1749: Support List Type in CSV IDF

    SQOOP-1750: Support Map Type in  CSV IDF

    SQOOP-1751: Sqoop2: Rearrange LinkConfig and ToJobConfig of Kite Connector

    SQOOP-1752: Kite connector cannot submit CSV import job

    SQOOP-1754: Sqoop2: Remove JarUtil class

    SQOOP-1755: Sqoop2: Security guide

    SQOOP-1761: Sqoop2: Unit tests for  different Column sub classes Array/Set and Map types 

    SQOOP-1765: Sqoop2: Time/Timestamp format support for CSV IDF

    SQOOP-1769: Fix Enum to no inherit from list

    SQOOP-1771: Investigation CSV IDF FORMAT of the Array/NestedArray/ Set/ Map in Postgres and HIVE.

    SQOOP-1776: Sqoop2: Delegation Token support for Authentication

    SQOOP-1791: Sqoop2: Add simple authentication parameters to documentation

    SQOOP-1796: Support Incremental Semantics in command line tool for Job

    SQOOP-1797: Support Incremental semantics in the REST apis 

    SQOOP-1798: Support a API/ command line utility to retrieve the last value or any JOB_OUTPUT

    SQOOP-1799: Connector API : Ability for connector to indicate if its FROM and TO support incremental reading/ writing

    SQOOP-1801: Delta Fetch Merge Config API : Validations for the Delta Fetch/Merge Configs

    SQOOP-1804: Add editable and override attribute to inputs

    SQOOP-1811: Sqoop2: IDF API changes

    SQOOP-1813: Sqoop2: Add SqoopIDFUtils class and unit tests

    SQOOP-1815: Sqoop2: Date and DateTime is not encoded in Single Quotes

    SQOOP-1817: Sqoop2: Update CSVIntermediate BIT data type

    SQOOP-1819: Support Enum in CSVIDF ( + add unit tests)

    SQOOP-1825: Sqoop2: Handle NULLs for all types in CSV Intermediate Data Format

    SQOOP-1829: Sqoop2: Define IDF object model

    SQOOP-1834: Sqoop2: RBAC pluggable framework

    SQOOP-1842: Sqoop2: Fix timestamp type casting

    SQOOP-1845: Sqoop2: Make DateTime Column type support datetime with and without timezone

    SQOOP-1846: Sqoop2: DateTime support in CSV IDF and iso8601

    SQOOP-1849: Using JODA for datetime means we only have 3 digit millisecond representation for fraction

    SQOOP-1870: Sqoop2: Merge SPI and connector-sdk packages

    SQOOP-1876: Update the submission JSON in the doc (restAPI.rst)

    SQOOP-1879: Sqoop2: Submission Engine does not set all details on SubmissionRecord in Local mode

    SQOOP-1881: Randomize ports for Kafka integration tests

    SQOOP-1897: Sqoop2: Submission Engine API change for better performance

    SQOOP-1898: Change the API of getJars to use SET than LIST to avoid duplicate jars

    SQOOP-1899: Minor change to CSVIDF to use Set instead of Lists

    SQOOP-1900: Fix the SqoopWritable read/ write method to delegate the toIDF methods

    SQOOP-1901: Sqoop2: Support DRY code in IDF impementations and add JSONIDF

    SQOOP-1902: Sqoop2: Avro IDF class and unit tests

    SQOOP-1903: Wrap up the design doc once implementation is done

    SQOOP-1908: Sqoop2: Document external connector support

    SQOOP-1909: Sqoop2: Connect security guide to main docs

    SQOOP-1913: Sqoop2: Add jackson as a dependency

    SQOOP-1915: sqoop2: parseCSV in CSVIDF doesn&#39;t correctly parse strings with commas

    SQOOP-1925: Sqoop2: Clean up duplicate constants in DerbySchemaConstants, use CommonRepoConstants

    SQOOP-1930: Sqoop2: Enforce a non empty schema name and column names

    SQOOP-1931: Tech debt : Alternative to isTest flag in the SqoopOutputFormatExecutor

    SQOOP-1935: Sqoop2: Fix TestSqoopWritable test and make getString and setString package private

    SQOOP-1936: Sqoop2: Sort by comparing IDF data in shuffle phase

    SQOOP-1937: Why need  SqoopWritable, ? why not just Text?

    SQOOP-1938: DOC:update the sqoop MR engine implementation details

    SQOOP-1940: Add hashcode and equals methods to SqoopWritable

    SQOOP-1950: Sqoop2: Use TestNG

    SQOOP-1956: Sqoop2: Cleanup IDF implementations

    SQOOP-1960: Sqoop2: Share auth token across ResourceRequest in SqoopClient

    SQOOP-1962: Sqoop2: Start sqoop2 minicluster on random port

    SQOOP-1974:  Sqoop2: parseCSVString in SQOOPIDFUtils add more tests

    SQOOP-1980: Sqoop2: Rule based rest API protection

    SQOOP-1981: Sqoop2: Default implementation of RBAC in Sqoop

    SQOOP-1982: Sqoop2: Provide username globally via AuthenticationProvider

    SQOOP-1984: Sqoop2: Add error summary and details to PostgreSQL repository

    SQOOP-1985: Sqoop2: On job delete cascade to submission

    SQOOP-1988: Sqoop2: isNull handling should be moved to CSVIntermediateDataFormat

    SQOOP-1991: Sqoop2: Define slow category in integration tests

    SQOOP-1994: Sqoop2: Use common repository constants

    SQOOP-2002: Sqoop2: Refactor existing security component

    SQOOP-2004: Sqoop2: Make annotations run always

    SQOOP-2012: DOC:Explain the connector project structure and relevant modules in sqoop to depend on

    SQOOP-2013: What is the story for External Connectors to write unit and integration tests?

    SQOOP-2015: Sqoop2: Create HBase code path in Kite connector

    SQOOP-2026: Sqoop2: Make getUserName function in RequestContext support Kerberos

    SQOOP-2028: add license header to TestConnectorManagerUtils

    SQOOP-2064: Sqoop2: Update POM version on new 1.99.5 branch

    SQOOP-2072: Sqoop2: Add editable and override attributes for postgres

    SQOOP-2074: Sqoop2: Add input attributes documentation

    SQOOP-2084: Sqoop2: Fix Indentation in input attributes documentation

    SQOOP-2085: Sqoop2: Null handling in AuthorizationEngine

    SQOOP-2096: Sqoop2: Fix typos in comments in SecurityConstants

  BUG

    SQOOP-1452: Sqoop2: Upgrade to Hadoop 2.5.1

    SQOOP-1523: Sqoop2: Support for PostgreSQL database for hosting the sqoop entity repository

    SQOOP-1572: Sqoop2: Duplicate Column Name in Multiple Tables Import

    SQOOP-1604: Base/ Marker class for Config and Configuration

    SQOOP-1636: Sqoop2: Add unique constraint to the SQI_INPUT name per type per config

    SQOOP-1640: Sqoop2: Pull DatabaseProvider into sqoop-common-test module

    SQOOP-1672: Sqoop2 import inserting null strings(&#39;null&#39;) for empty values in Oracle

    SQOOP-1680:  DOC: Create an Public API doc for the Sqoop repository.

    SQOOP-1695: Sqoop2: Removed hardcoded version in pom.xml of connector-sdk 

    SQOOP-1705: SQOOP2: Support AVRO as a an implementation for the IDF interface

    SQOOP-1713: Sqoop2: Remove SQOOP-1348.patch file

    SQOOP-1730: Sqoop2: httpcore and httpclient version has not upgrade after hadoop upgraded

    SQOOP-1740: Sqoop2:The sqoop.properties should say driver.autoupgrade

    SQOOP-1747: Sqoop2: Provide more information for Kerberos initialization exception

    SQOOP-1748: Sqoop2: Client throws NPE when misconfigured for Kerberos

    SQOOP-1773: Sqoop2: ClassAvailable validator null handling

    SQOOP-1774: Sqoop2: Allow anonymous authentication

    SQOOP-1775: Sqoop2: Migrate to URL parameter user.name instead of using header

    SQOOP-1777: Sqoop2: Add integration tests to Pre-Commit build

    SQOOP-1778: Sqoop2: Increase default memory allocations for tests

    SQOOP-1782: Sqoop2: Get submissions per job

    SQOOP-1783: Sqoop2: Create derby integration upgrade tests

    SQOOP-1784: Sqoop2: Sending POST request to link or job end-point might end up with NPE

    SQOOP-1785: Sqoop2: Send driver validation results back to client when creating job

    SQOOP-1786: Sqoop2: Stop using JSONValue.parse method call

    SQOOP-1787: Sqoop2: Fix dual guava dependency warnings in maven

    SQOOP-1788: Sqoop2: Add missing version for build-helper-maven-plugin

    SQOOP-1789: Sqoop2: Add validation for partition column when using query based import

    SQOOP-1792: Sqoop2: Default to simple authentication type

    SQOOP-1806: Sqoop2: Remove the duplicate connector-config.properties file in Kite connector

    SQOOP-1812: Sqoop2: Repository upgrade issue will prevent server startup

    SQOOP-1816: Sqoop2: Add logging to the test DerbyProvider implementation

    SQOOP-1818: Sqoop2: Allow transfer between 2 schema less data sources

    SQOOP-1821: Sqoop2: External connector loading

    SQOOP-1823: Sqoop2: Fix Derby schema javadocs

    SQOOP-1827: Sqoop2: Add pattern SQOOP-XYZ-vX.patch to our pre-commit hook

    SQOOP-1830: GenericJdBcExtractor does not create java date objects when extracting

    SQOOP-1831: Sqoop2: Log filenames of detected Mapreduce files in HdfsUtils

    SQOOP-1832: Sqoop2: Enforce that integration test working directory is always in target/ directory

    SQOOP-1833: Sqoop2: Add elapsed time information to pre-commit hook

    SQOOP-1836: Sqoop2: Convert the List in Schema Columns to Array for better lookup time

    SQOOP-1837: Sqoop2: Verify that executing job has been successful in ConnectorTestCase

    SQOOP-1838: Sqoop2: While running Integration tests in IDE ( we get Derby Start Error)

    SQOOP-1839: Sqoop2: Mapreduce submission record should propogate failure info as well

    SQOOP-1840: Sqoop2: Guard test DerbyProvider from infinite waits in Derby implementation

    SQOOP-1843: Sqoop2: Fix anonymous configuration bug

    SQOOP-1844: Sqoop2: Start Derby server in DerbyProvider on random port

    SQOOP-1847: Sqoop2: Move rat configuration from special execution to the main execution

    SQOOP-1850: Sqoop2: DerbyProvider retry ping

    SQOOP-1857: Sqoop2: Add rat check to pre-commit hook

    SQOOP-1858: Sqoop2: Print out warnings from git apply on output of precommit hook

    SQOOP-1861: Sqoop2: ResourceRequest clobbers uncaught server exceptions

    SQOOP-1862:  Sqoop2: JDBC Connector To side needs to handle converting JODA objects to sql date 

    SQOOP-1871: Sqoop2: Upgrade to Hadoop 2.6.0

    SQOOP-1872: IDF API should expose a method to add dependent jars

    SQOOP-1874: Sqoop2: ConfigurableError should be in the configurable package

    SQOOP-1875: Sqoop2: Sync MSubmission with repository and add tests for the max limit handling for submission fields

    SQOOP-1882: JobManager currently ignores the TO connector IDF and assumed all IDF use String for the generic T

    SQOOP-1885: Sqoop2: KafkaConnector pom.xml needs license header

    SQOOP-1893: add license header to TestSqoopIDFUtils.

    SQOOP-1894: Sqoop2: Print out files that failed license check in pre-commit hook

    SQOOP-1895: Sqoop2: Add links to output reports to pre-commit hook

    SQOOP-1896: Upgrade the Derby repo version to 5 for 1.99.5 release

    SQOOP-1910: Sqoop2: Add test categories

    SQOOP-1911: Sqoop2: Derby1_99_4UpgradeTest is constantly failing on pre-commit hook

    SQOOP-1917: Sqoop2: &quot;show connector --all&quot; fails

    SQOOP-1927: Sqoop2: Move CSVURIValidator into validators package

    SQOOP-1929: Sqoop2: Track number of records written in Loader

    SQOOP-1934: SqoopWritable and MR engine documentation

    SQOOP-1943: Sqoop2: PreCommit should continue if license check fails

    SQOOP-1945: Sqoop2: Add table escaping to JDBC Repository

    SQOOP-1963: Generated files such as .project and .classpath files are included in source distribution 

    SQOOP-1971: Sqoop2: strURL may not be initialized when calling addDelegationToken 

    SQOOP-1972: Sqoop2: PreCommit hook have incorrect link for test reports

    SQOOP-1973: Sqoop2: Remove maven module spi completely after merging it with connector-sdk

    SQOOP-1977: Sqoop2: Pre-commit hook does not work for Python 2.6 environment

    SQOOP-1995: Sqoop2: Allow nulls only if the column for that field has IsNullable to be true 

    SQOOP-1996: Sqoop2: Change getNullable to isNullable

    SQOOP-2018: GenericJDBCConnector SqlTypes INTEGER should be set 4 bytes

    SQOOP-2021: Sqoop2: Generic JDBC Connector extractor uses wrong nulls

    SQOOP-2022: Sqoop2: SqoopIDFUtils uses bit size instead of byteSize to check for INT/LONG/FLOAT/Double

    SQOOP-2023: GenericJDBCConnector Handling unsigned Ints is broken

    SQOOP-2027: Sqoop2: SqoopIDFUtils handling of decimal need to be fixed

    SQOOP-2029:  Sqoop2: Get jobs by connector

    SQOOP-2030: Should we allow creating a job with both from and to to id been the same

    SQOOP-2032: Command line exception message says class not found

    SQOOP-2034: Sqoop2: Clean up docstring and names in repository API

    SQOOP-2041: Sqoop2: Escape identifier names

    SQOOP-2043: Sqoop2: Server errors don&#39;t look informative enough in the client

    SQOOP-2054: Sqoop2: Client cannot understand server exceptions

    SQOOP-2077: Sqoop2: Enclose missing/extra lines in output of HdfsAsserts.assertMapreduceOutput

    SQOOP-2078: Sqoop2: Add ParametrizedUtils.toArrayOfArrays utils method

    SQOOP-2081: Sqoop2: Provide ability to dump content of testing table to log

    SQOOP-2086: Sqoop2: Use named constraints

    SQOOP-2087: Sqoop2: Named constraints should be quoted

    SQOOP-2088: Sqoop2: Rename constants for named constraints to match convention

    SQOOP-2099: Sqoop2: Postgresql&#39;s detectRepositoryVersion uses wrong casing

    SQOOP-2100: Sqoop2: Connectors documentation is malformed

    SQOOP-2109: Sqoop2: Shell module is including test dependencies when building binary artifact

    SQOOP-2116: Sqoop2: RequestContext should use user short name

  IMPROVEMENT

    SQOOP-1678: Sqoop2: [HDFS Connector] Configurable null values

    SQOOP-1727: Sqoop2: Log server initialization errors to log4j

    SQOOP-1767: Sqoop2: commands in 5 minute demo docs are out-of-sync 

    SQOOP-1869: Sqoop2: Expand schema matching to support two schemaless connectors

    SQOOP-1944: Sqoop2: No (or wrong) log message when Derby server startup/shutdown unexpectedly

    SQOOP-1966: Turn off maven&#39;s source distribution profile by default

    SQOOP-1968: Optimize schema operation in getMatchingData of NameMatcher

    SQOOP-1969: Support getColumnSize method for Schema class

    SQOOP-2006: bad smell: NPE check in SQOOP-1995 is not obvious

  NEW FEATURE

    SQOOP-1763: Sqoop2: Role Based Access Control

    SQOOP-1926: Sqoop2: Add annotations for visibilty and compatibility guarantees

  TASK

    SQOOP-1350: Sqoop2: Support all supported data types in the CSV Intermediate Data Format implementation

    SQOOP-1525: Kerberos support on Sqoop 2

    SQOOP-2033: Technical Guide of the Sqoop Server

Release 1.99.4

  NEW FEATURE

    SQOOP-777   Sqoop2: Implement intermediate data format representation policy

    SQOOP-1232  Sqoop2: Provide tooling infrastructure for Sqoop2

    SQOOP-1367  Sqoop2: From/To

  IMPROVEMENT

    SQOOP-773   Sqoop2: Batch execution support for client commands

    SQOOP-1144  Sqoop2: Add fixVersion to PreCommit branch detection

    SQOOP-1189  Sqoop2: Ensure that clone methods will correctly copy over all values from all parents

    SQOOP-1196  Sqoop2: Add support for arbitrary compression codecs

    SQOOP-1211  Sqoop2: Derby repo: Sync maximal length of versions

    SQOOP-1225  Sqoop 2 documentation for connector development

    SQOOP-1290  Sqoop2: Kill Tomcat in case that Sqoop Server fails to load

    SQOOP-1509  Sqoop2: Sqoop2 Rest API refactoring

    SQOOP-1547  Sqoop2: Connector API stabilization

    SQOOP-1557  Sqoop2: SQ_CONFIGURABLE ( for entities who own configs)

    SQOOP-1566  Sqoop2: Fix the upgrade logic for SQOOP-1498

    SQOOP-1585  Sqoop2: Prefix mapreduce classes with MR ( no functionality change)

    SQOOP-1586  Sqoop2: Rename leftovers from the SQOOP2 merge of 1367

    SQOOP-1597  Sqoop2: Refactor DerbySchemaQuery into one for create/ update/ and then CRUD operarations

    SQOOP-1620  Sqoop2: FileSystem should be configurable in HDFS connector

  BUG

    SQOOP-1208  Sqoop2: job ID column is too small

    SQOOP-1218  Sqoop2: Upgrade Hadoop 2 to GA release 2.2.0

    SQOOP-1233  Sqoop2: Remove unnecessary explicit call to MessageFormat

    SQOOP-1247  Sqoop2: Distribution module is missing dependency on Tomcat module

    SQOOP-1258  Sqoop2: FrameworkMetadataUpgrade can't handle new inputs

    SQOOP-1263  Sqoop2: Using CATALINA_HOME as CATALINA_BASE

    SQOOP-1264  Sqoop2: Remove unnecessary cd command calls from sqoop.sh

    SQOOP-1285  Sqoop2: ToolRunner is not exiting with proper exit value on error

    SQOOP-1288  Add mengwei to commiter list in our root pom.xml file

    SQOOP-1291  Sqoop2: Binary package do not have top level commands executable

    SQOOP-1296  Sqoop2: Revert SQOOP-1233

    SQOOP-1308  Sqoop2: Database export with the Generic-JDBC-Connector loses rows

    SQOOP-1320  Sqoop2: Log entire SQLExceptions chain in GenericJdbcExecutor

    SQOOP-1331  Sqoop2: Add method "findConnectors" to repository API

    SQOOP-1338  Sqoop2: Exclude intellij idea project files from git

    SQOOP-1339  Synchronize .gitignore files

    SQOOP-1354  Sqoop2: wrong maven-site-plugin version

    SQOOP-1383  Sqoop2: MSSQL Export not working

    SQOOP-1424  Sqoop2: Simplify SqoopCommand in shell package

    SQOOP-1425  Sqoop2: Improve ClassUtils to enable use of primitive types and subclasses

    SQOOP-1426  Sqoop2: ThrowableBean should correct reconstruct SqoopException

    SQOOP-1436  Sqoop2: Support custom form name via the Form Annotation

    SQOOP-1537  Sqoop2: File TestJobManager is missing proper license header

    SQOOP-1578  Sqoop2: getJars should take from and to configurations

    SQOOP-1581  Sqoop2: LoaderContext has the wrong Schema

    SQOOP-1594  Sqoop2: DestroyerContext has the wrong Schema

    SQOOP-1605  Sqoop2: Misc From/to cleanups

    SQOOP-1619  Sqoop2: Enforce Unique constraint for name on configurable table

    SQOOP-1623  Sqoop2: Derive the correct Client version for sqoop

    SQOOP-1625  Repository upgrade issue

    SQOOP-1629  Sqoop2: Add unique constraint on the Config table for name and type

    SQOOP-1636  Sqoop2: Add unique constraint to the SQI_INPUT name per type per config

    SQOOP-1639  Sqoop2: CLOB data type wrong type

    SQOOP-1641  DOC: Sqoop 5 minute demo.rst update to reflect latest in code

    SQOOP-1655  SQOOP2 DOC: Document getSchema() and its use in the connector dev guide

    SQOOP-1660  DOC: Connector SDK docs + validation to be updated

    SQOOP-1661  Sqoop2: Intermediate data format text null handling

    SQOOP-1662  Sqoop2: allowNullValueInPartitionColumn should be partitionColumnNull

    SQOOP-1664  Sqoop2: Remove the unused SqoopFileOutputFormat class

    SQOOP-1665  Sqoop2: Misc Cleanup / rename lingering connection to link

    SQOOP-1668  Sqoop2: Update existing job meets NPE ( regression from SQOOP 1510)

    SQOOP-1669  Sqoop2: JDBC connector does not understand iso8610 representation using " " as separator

    SQOOP-1671  Fix incorrect merge from SQOOP-1645

    SQOOP-1673  DOC: Update Upgrade.rst to reflect the latest in the code

    SQOOP-1674  DOC: index.rst updates for Sqoop

    SQOOP-1675  Sqoop2: Update Upgrade.rst to to address Rb comments

    SQOOP-1676  Sqoop2: clientAPI.rst changes to reflect latest code

    SQOOP-1677  DOC: CommandLineClient.rst update to reflect latest in code

    SQOOP-1679  Sqoop2: Fix inconsistent naming in shell for entity driver in sqoop2

    SQOOP-1694  Sqoop2: Fix broken Hadoop100 build

    SQOOP-1696  Sqoop2: TestMapReduce.testOutputFormat is failing on Hadoop 1 profile

    SQOOP-1697  Sqoop2: HDFS Connector TestLoader.verifyOutput have invalid default value for Hadoop 1

    SQOOP-1718  Sqoop2: CommandLineClient doc error

    SQOOP-1721  Sqoop2: common jars missing for MR job

    SQOOP-1723  Sqoop2: findJobsByConnector fails

    SQOOP-1724  Sqoop2: Support old config types for backward compatibility in connector data upgrade

    SQOOP-1725  Sqoop2: Connector upgrade in 1.99.4 fails with delete configs

    SQOOP-1728  Sqoop2: Force HDFS connector as a configurable fixes

    SQOOP-1729  Sqoop2: The existing genericJDBC connector code upgrade logic  is incomplete.

    SQOOP-1731  Sqoop2: Generic JDBC upgrade from 1.99.3 to 1.99.4

    SQOOP-1736  Sqoop2: Driver missing during upgrade

    SQOOP-1740  Sqoop2:The sqoop.properties should say driver.autoupgrade

    SQOOP-1742  Sqoop2: Add type to connectors during upgrade

  TASK

    SQOOP-1219  Sqoop2: Bump up Tomcat version to 6.0.37

    SQOOP-1220  Sqoop2: Improve default catalina.properties file to work out of the box on both Hadoop 1 and 2

    SQOOP-1234  Sqoop2: Clean up comments in MSubmission class

    SQOOP-1235  Sqoop2: Repository should be immutable by default

    SQOOP-1236  Sqoop2: Classpath generated by Submission engine should contain only unique elements

    SQOOP-1266  Sqoop2: Introduce top level commands

  SUB-TASK

    SQOOP-927   Sqoop2: Integration: Mapreduce specific tests should be running on MiniCluster

    SQOOP-1254  Sqoop2: Tool: Upgrade tool

    SQOOP-1255  Sqoop2: Tool: Dump repository content to a repository independent format

    SQOOP-1262  Sqoop2: Tool: Create user guide entry for the Tooling infrastructure

    SQOOP-1376  Sqoop2: From/To: Refactor connector interface

    SQOOP-1377  Sqoop2: From/To: Improve client/server communication

    SQOOP-1379  Sqoop2: From/To: Disable tests

    SQOOP-1380  Sqoop2: From/To: Refactor models

    SQOOP-1381  Sqoop2: From/To: Refactor submission/execution engine

    SQOOP-1444  Sqoop2: Validations: Remove all references to the original Validation infastructure

    SQOOP-1469  Sqoop2: Validations: Rename constants in Status class

    SQOOP-1499  Sqoop2: Refactor MJob to hold fromConfig, ToConfig and DriverConfig ( mandatory to create a job)

    SQOOP-1500  Sqoop2: Rename Forms to Config, Create FromConfig and ToConfig

    SQOOP-1501  Sqoop2: Refactor MConnector

    SQOOP-1503  Sqoop2: Refactor MFramework (rename to MDriver) and add MDriverConfig

    SQOOP-1504  Sqoop2: Refactor MConnection (rename to MLink)

    SQOOP-1505  Sqoop2: Rename the repository schema objects to adhere to the model objects

    SQOOP-1510  Sqoop2: Refactor JobRequestHandler for submit/abort job and SubmissionHandler for get operation only

    SQOOP-1512  Refactor ConnectionRequestHandler and add ConfigurableRequestHandler

    SQOOP-1513  Sqoop2: Refactor LinkRequestHandler

    SQOOP-1514  Refactor FrameworkRequestHandler to DriverRequestHandler

    SQOOP-1515  Sqoop2: VersionRequestHandler - fixes

    SQOOP-1517  Test CommandLineClient  to accomodate the JSON API refactoring

    SQOOP-1518  Sqoop2: Update the Rest API documentation

    SQOOP-1542  Sqoop2: From/To: MConnector should handle null forms

    SQOOP-1550  Sqoop2: Remove the indirection in MDriverConfig, let it extend the MConfig instead of has-a MConfig

    SQOOP-1551  Sqoop2: Repository Upgrader api - Extensibility

    SQOOP-1554  Sqoop2: Add NullConfigurationClass/ EmptyConfigurationClass to support use cases that do not have a particular type of config

    SQOOP-1575  Sqoop2: Validations: Migrate HDFS connector to new validators

    SQOOP-1576  Sqoop2: Validations: Migrate Repository upgrade to the new validator infrastructure

    SQOOP-1628  Sqoop2: Ensure Connector/Driver/Version only support GET method

    SQOOP-1637  Sqoop2: Validations: Update documentation with the new Validator infrastructure

    SQOOP-1645  Sqoop2: Update label text and (optional) required info for the generic jdbc connector config properties

    SQOOP-1653  Sqoop2: Link and connector handler minor fixes

    SQOOP-1686  Sqoop2: Fix the JSON names for config and config values

    SQOOP-1687  Sqoop2: Single resource in JSON should not be a list

    SQOOP-1688  Sqoop2: Fix the Validation Response JSON for configs

Release 1.99.3

  SUB-TASK

    SQOOP-659: Design metadata upgrade procedure

    SQOOP-924: Sqoop2: Devguide: Describe wire protocol

    SQOOP-945: Sqoop2: Integration: Auxiliary methods that will support export functionality

    SQOOP-994: Sqoop2: Upgrade: Add calling validation to the upgrade method

    SQOOP-996: Sqoop2: Upgrade: Create upgrade tests

    SQOOP-997: Sqoop2: Upgrade: Provide ability to disable the automatic upgrade

    SQOOP-998: Sqoop2: Upgrade: Add framework upgrader

    SQOOP-1009: Sqoop2: Integration: Create Teradata provider

    SQOOP-1014: Sqoop2: Splitter: Add Bit/Boolean based implementation

    SQOOP-1015: Sqoop2: Splitter: Add Datetime based implementation

    SQOOP-1016: Sqoop2: Splitter: Add text char implementation

    SQOOP-1022: Metadata upgrade fails with NPE getConnector method

    SQOOP-1023: STMT_DELETE_FORMS_FOR_CONNECTOR query in DerbySchemaSquery looks for incorrect column

    SQOOP-1024: GenericJdbcConnectorUpgrader must ignore inputs which may not exist in old version

    SQOOP-1025: Sqoop metadata upgrade must set job id in the new job being created

    SQOOP-1077: Sqoop2: Integration: Create Netezza provider

    SQOOP-1087: Sqoop2: Integration: Abstract common functionality into src module

    SQOOP-1091: Sqoop2: Submission history API - provide SqoopClient programming API

    SQOOP-1092: Sqoop2: Submission history API - provide client shell function `show submission`

    SQOOP-1101: Sqoop2: Basic schema: Provide implementation of the proposed data types

    SQOOP-1102: Sqoop2: Basic schema: Generate the schema on import in Generic JDBC Connector

    SQOOP-1103: Sqoop2: Basic schema: Provide facility transfer Schema  from server to client

    SQOOP-1114: Sqoop2: Integration: Add tests for various Generic JDBC Connector splitters

    SQOOP-1115: Sqoop2: Integration: Provide helper methods for synchronous job submission

    SQOOP-1200: Sqoop2 1.99.3 Pom files version change on release branch

    SQOOP-1201: Sqoop2: Update docs to reflect correct version on the release branch

  BUG

    SQOOP-515: Sqoop2: Datatype support

    SQOOP-827: Sqoop2: MMapInput is null while retrieving from DB if pass empty map on write

    SQOOP-897: Sqoop2: Remove script addtowar.sh and use catalina&#39;s common.loader instead

    SQOOP-958: Sqoop2: fix version tests in Mac OS X

    SQOOP-974: Sqoop2: Add staging table support to generic jdbc export job

    SQOOP-982: Sqoop2: Allow user to pass custom parameters to catalina.sh

    SQOOP-989: Sqoop2: setenv.sh overrides value of JAVA_OPTS

    SQOOP-993: Sqoop2: Metadata upgrade

    SQOOP-995: Sqoop2: Add cloning ability to model classes

    SQOOP-1002: Sqoop2: Mapreduce local mode detection is not working correctly on Hadoop 2.x

    SQOOP-1003: Sqoop2: sqoop.sh execution error

    SQOOP-1005: Sqoop2: Update year in the notice file to 2013

    SQOOP-1019: Sqoop2: Client side caching input forms

    SQOOP-1036: Sqoop2: JobClient.getCounters can return NULL

    SQOOP-1039: Sqoop2: show version with no args should show something

    SQOOP-1040: Sqoop2: NPE in TableDisplayer

    SQOOP-1041: Sqoop2: Framework upgrade in JdbcRepository returns the outdated value

    SQOOP-1046: Sqoop2: Importing single row using decimal splitter will not import anything

    SQOOP-1048: Sqoop2: NPE when importing NULL value

    SQOOP-1049: Sqoop2: Record not imported if partition column value is NULL

    SQOOP-1062: Misspell in &quot;isVerboose()&quot; method, it should be &quot;isVerbose()&quot;

    SQOOP-1069: Sqoop2: Incorrect error message from FrameworkValidator

    SQOOP-1070: Shell scripts should not rely on $PATH if $JAVA_HOME is set

    SQOOP-1080: Sqoop2: Investigate Jenkins test failures

    SQOOP-1081: destroy() method of ConnectorManager has not been implemented yet.

    SQOOP-1082: Implement pre-commit testing with Jenkins

    SQOOP-1088: Sqoop2: Submission history API

    SQOOP-1089: Sqoop2: Accept Language header default

    SQOOP-1095: Sqoop2: PreCommit Hook have incorrect branch name

    SQOOP-1100: Sqoop2: Missing setBoolean() method for MutableContext interface

    SQOOP-1104: Sqoop2: Allow versioned patches in the PreCommit hook

    SQOOP-1105: Sqoop2: Remove our implementation of StringUtils

    SQOOP-1112: Sqoop2: Date splitter might return splits omitting some boundaries

    SQOOP-1113: Sqoop2: Text splitter will fail on interval &quot;Breezy Badger&quot;&quot; to &quot;Warty Warthog&quot;&quot;

    SQOOP-1121: Sqoop2: Serialize schema and make them available in the MR job.

    SQOOP-1123: Sqoop2: Add eclipse project metadata folder excluded from maven

    SQOOP-1128: Sqoop2: SqoopException being nested into another SqoopException in Repository

    SQOOP-1130: Sqoop2: Sqoop MapReduce Job Failed when max and min boundary are both null

    SQOOP-1131: New test added in SQOOP-1121 is using unsupported API in Hadoop 100

    SQOOP-1136: Sqoop2: MBooleanInput forget to copy persistenceId when do clone()

    SQOOP-1139: Sqoop2: JobManager.java indentation is inconsistent with rest of the codebase

    SQOOP-1145: Sqoop2: Use JSON object for serializing MAP input type

    SQOOP-1147: Sqoop2: show framework function does not behave as expected

    SQOOP-1154: Sqoop2: Text partitioner might miss or include edge values

    SQOOP-1169: Sqoop2: org.apache.sqoop.repository.schema.immutable should default to false

    SQOOP-1178: Sqoop2: get connections for connector columns out of order

    SQOOP-1180: Sqoop2: Metadata upgrade is calling validators with Model classes instead of configuration objects

    SQOOP-1205: Sqoop2: Provide upgrade guide for end users

    SQOOP-1210: Exporting data with malformed records causes sqoop2 jobs to hang until killed or they timeout

  IMPROVEMENT

    SQOOP-675: Sqoop2: Substitute submission command with top level commands start, stop and status

    SQOOP-921: Sqoop2: Create standalone shell package

    SQOOP-943: Sqoop2: Repository wide configuration of immutable disk structures

    SQOOP-971: Sqoop2: Component reconfigurability

    SQOOP-973: Sqoop2: Merge host, port and app to single server URL in Sqoop shell

    SQOOP-983: Sqoop2: Document client synchronous mode

    SQOOP-984: Sqoop2: Improve user experience on synchronous job submission

    SQOOP-985: Sqoop2: Introduce synchronous job submission to Client API

    SQOOP-990: Sqoop2: Allow users to override Sqoop2&#39;s default http port and admin port

    SQOOP-1012: Sqoop2: Generic JDBC Connector should have one static instance of validator

    SQOOP-1017: Sqoop2: Split FrameworkManager into two classes

    SQOOP-1028: Remove poll timeout parameter from Sqoop shell synchronous submission

    SQOOP-1042: Sqoop2: Name constraints in Derby repository

    SQOOP-1043: Sqoop2: Improve error messages in Derby repository

    SQOOP-1044: Sqoop2: Improve logging in metadata upgrade methods

    SQOOP-1059: Sqoop2: Remove ad hoc modle cloning methods in common module

    SQOOP-1060: Sqoop2: Increase maximal size of custom query in Generic JDBC Connector

    SQOOP-1065: Sqoop2: Remove special lock object in FrameworkManager

    SQOOP-1067: Sqoop2: Tests should not use /tmp/ directory for storing data

    SQOOP-1073: Sqoop2: Introduce schema for transferred data

    SQOOP-1075: Sqoop2: Persist Framework metadata version in repository

    SQOOP-1111: Sqoop2: Implement version detection and structure updates into Derby repository

    SQOOP-1141: Sqoop2: Provide ability to enable/disable connections and jobs

    SQOOP-1142: Sqoop2: Provide creater and last edited by to metadata structures

    SQOOP-1143: Sqoop2: Provide server audit log for operations upon metadata structures

    SQOOP-1182: Expose compression options for Sqoop2 import

    SQOOP-1183: Sqoop2: Add getConnector(String) to the client API

    SQOOP-1184: Sqoop2: Improve error messages during metadata upgrade

  NEW FEATURE

    SQOOP-663: Sqoop2: Introduce connector SDK

    SQOOP-1013: Sqoop2: Provide splitters for additional data types to Generic JDBC Connector

    SQOOP-1076: Sqoop2: Introduce Boolean model type

    SQOOP-1155: Sqoop 2 documentation for connector development

  TASK

    SQOOP-672: Unify logger usage across entire code base

    SQOOP-744: Sqoop2: Supply log4j configuration for generated mapreduce job

    SQOOP-745: Sqoop2: Change &quot;submit&quot; client command to &quot;submission&quot;

    SQOOP-1001: Sqoop2: Document methods for overriding server port

    SQOOP-1109: Sqoop2: Add new committers to root pom.xml file

    SQOOP-1110: Sqoop2: Precommit: Add routine to detect if patch touch test

Release 1.99.2

  SUB-TASK

    SQOOP-831: Unit test for common module

    SQOOP-861: Sqoop2: Integration: Create basic integration infrastructure

    SQOOP-882: Sqoop2 integration: Auxiliary classes for various database support

    SQOOP-896: Sqoop2: Remove PrefixContext dependency in Execution engine

    SQOOP-908: Sqoop2 integration: Create MySQL and PostgreSQL database providers

    SQOOP-909: Sqoop2 integration: Create Oracle and Microsoft SQL Server database providers

    SQOOP-925: Sqoop2: Devguide: Describe client API for embedding Sqoop client in applications

    SQOOP-930: Sqoop2: Devguide: Building and setting up developer environment

    SQOOP-939: Sqoop2: devguide: Document how to open project in Eclipse

    SQOOP-946: Sqoop2: Integration: Enhance the POC test case

    SQOOP-953: Sqoop2: Integration: Schema support

    SQOOP-987: Exclude mockito jars from being copied into the sqoop2 distribution

  BUG

    SQOOP-746: Sqoop2: Mapreduce job should have running with speculative execution disabled

    SQOOP-783: Sqoop2: Merge HdfsSequenceExportExtractor and HdfsTextExportExtractor to one Extractor

    SQOOP-799: Sqoop2: Change SqoopConnector interface to abstract class

    SQOOP-802: Sqoop2: Convert main &quot;Manager&quot; classes to singletons.

    SQOOP-811: Client shell variable substitution for recent commands

    SQOOP-812: Sqoop2: Serialization of Configuration objects to and from json is not working properly

    SQOOP-813: Sqoop2: LoaderExecutor might get into deadlock when exception is raised outside Loader itself

    SQOOP-815: Sqoop2: Get version for client requires working connection to server

    SQOOP-822: Sqoop2: Git repository revision is not fetched

    SQOOP-835: Sqoop2: Do not recreate package-info.java each compilation

    SQOOP-843: Sqoop2: Generic JDBC connector is committing transaction on export with autoCommit on

    SQOOP-844: Sqoop2: HdfsExportPartitioner is not always respecting maximal number of partitions

    SQOOP-845: Sqoop2: Improve Generic JDBC validator

    SQOOP-850: Sqoop2: Move server initialization from server module to core

    SQOOP-851: Sqoop2: NullPointerException in Mapreduce Submission engine initialization

    SQOOP-852: Sqoop2: Mapreduce submission engine is not closing opened JobClient object

    SQOOP-858: Sqoop2: Add validation messages on form level

    SQOOP-865: Sqoop2: Client request cache is incorrectly setting the framework validations

    SQOOP-867: Sqoop2 client shows wrong msg

    SQOOP-868: Mismatched msg in sqoop2 client

    SQOOP-871: Connector-level job-specific prop gives wrong help msg

    SQOOP-872: sqoop2 client &#39;show framework&#39; command isn&#39;t resolving the show.prompt_framework_opts prop

    SQOOP-873: Sqoop2 build should ignore Intellij files

    SQOOP-874: Sqoop2: Provide log4j configuration for client

    SQOOP-875: Sqoop2: ClassUtils.instantiate class should not be logging on ERROR level

    SQOOP-879: Sqoop2: NPE when deleting job object that do not have associated any submissions

    SQOOP-880: Sqoop2: NPE when stopping job that was never executed

    SQOOP-881: Sqoop2: Change default port from 8080

    SQOOP-884: Sqoop2: Disable interactive client commands in batch mode

    SQOOP-887: Sqoop2: Move string constants from FormDisplayer to resource file

    SQOOP-888: Sqoop2: Move out checking of special condition token to Validator in Generic JDBC Manager

    SQOOP-889: Sqoop2: Move tomcat related properties from dist/pom.xml to root pom.xml

    SQOOP-892: Sqoop2: Validate acceptable number of mappers and reducers

    SQOOP-893: Fix job submission progress percentage

    SQOOP-894: Sqoop2: Increase counter and group size in derby repository

    SQOOP-905: Sqoop 2: Job submission shows wrong date format in client console

    SQOOP-941: Sqoop2: Do not send sensitive values from server to client

    SQOOP-942: Sqoop2: Refactore code repetition in SqoopRequests objects

    SQOOP-952: Sqoop2: Create job function requires uppercased type name

    SQOOP-966: Sqoop2: Remove placeholder class IgnoredForm

    SQOOP-980: Sqoop2: Show connection and job command hung

  IMPROVEMENT

    SQOOP-647: Provide facility to cache server responses on client side

    SQOOP-660: Improve user experience in displaying connection/job metadata

    SQOOP-678: Sqoop2: Add counters handling to map reduce submission engine

    SQOOP-682: Sqoop2: Use templating in job.etl classes

    SQOOP-723: Add possibility to have synchronous submissions in Sqoop 2

    SQOOP-750: Sqoop2: Introduce show option client command

    SQOOP-803: Sqoop2: Add gpg profile to pom file so that we can easily deploy artifacts to mvn repository

    SQOOP-806: Sqoop2: Put &quot;creation&quot; and &quot;lastUpdate&quot; date to Connection and Job objects

    SQOOP-807: Sqoop2: Verify whether job object can be safely removed prior removing

    SQOOP-814: Sqoop2: Start using configuration objects in Generic JDBC Connector

    SQOOP-826: Sqoop2: Add log4j test configuration to all maven modules

    SQOOP-833: add *.eml &quot;ant eclipse&quot; (IntelliJ import) generated file, to .gitignore

    SQOOP-841: Sqoop2: Remove final keyword from manager classes

    SQOOP-842: Sqoop2: Put partition to template in Extractor as well

    SQOOP-863: Sqoop2: Introduce ProgressThread into Extractor and Loader

    SQOOP-864: Sqoop2: Introduce ETL context objects

    SQOOP-866: Sqoop2: Introduce framework validations

    SQOOP-876: Expose the xid and cid when show status of job in sqoop2 client

    SQOOP-877: Sqoop2: Increase field size of output.outputDirectory property value from 25 to 50

    SQOOP-899: Sqoop2: Properly document REST endpoints in the server handler classes

    SQOOP-900: Sqoop2: Introduce human readable coding style for queries stored in DerbySchemaQuery

    SQOOP-919: Sqoop2: Improve Form API for simple java handling

    SQOOP-920: Sqoop2: Print out warnings in client shell for objects created with status ACCEPTABLE

    SQOOP-922: Sqoop2: Shell commands are throwing exceptions when invalid function is specified

    SQOOP-947: Sqoop2: Introduce the concept of &quot;sensitivity&quot; input to all supported metadata structures

    SQOOP-967: Sqoop2: Introduce dummy configuration key to easily identify Sqoop2 job

    SQOOP-972: Sqoop2: Load server URL from environment in shell

    SQOOP-975: Sqoop2: Port conflict problems in tomcat

    SQOOP-986: Sqoop2: Add detection of local mode to mapreduce submission engine

  NEW FEATURE

    SQOOP-643: Sqoop2: Implement simple listings for connector and job objects

    SQOOP-664: Send user name as HTTP header in client to server communication

    SQOOP-785: Sqoop2: Add splitter implementation for NUMERIC/DECIMAL type

    SQOOP-895: Sqoop2: Do not serialize framework and connector configurations into mapreduce configuration object

    SQOOP-903: Sqoop2: Add schema support to Generic JDBC Connector

    SQOOP-918: Sqoop2: Introduce client API and change Sqoop shell to use it

  TASK

    SQOOP-805: Sqoop2: Document show option function in CommandClientGuide

    SQOOP-809: Sqoop2: Remove old deprecated comments from distribution pom file

Release 1.99.1

  SUB-TASK

    SQOOP-680: Re enable unit tests for map reduce execution engine

    SQOOP-698: Document installation procedure for Sqoop 2

    SQOOP-699: Create content for User guide for Sqoop 2

    SQOOP-700: Provide examples to Sqoop 2 user guide

    SQOOP-701: Create content for Sqoop 2 Developer guide

    SQOOP-703: Move sqoop 2 documentation to top level directory in binary artefact

    SQOOP-708: Create documentation for Sqoop 2 client

    SQOOP-713: Introduce maven profiles for different Hadoop versions

    SQOOP-714: Make map reduce related code to be compatible with Hadoop 1

    SQOOP-715: Add support for Hadoop 1 to addtowar.sh script in Sqoop 2

    SQOOP-742: Put 5 minutes demo on index page in Sqoop 2 documentation

    SQOOP-753: Sqoop2: Update top level README file

    SQOOP-755: Sqoop2: Provide license file with license information for all artifacts included in binary release

    SQOOP-756: Sqoop2: Exclude junit jar from our binary artifact

    SQOOP-757: Sqoop2: Disable maven reports project wise

    SQOOP-758: Sqoop2: Generate documentation in package goal

    SQOOP-786: Sqoop2: Include jars from WAR archive in LICENSE.txt file

    SQOOP-787: Sqoop2: Provide CHANGELOG.txt file

    SQOOP-800: Sqoop2: Update NOTICE file

  BUG

    SQOOP-511: Need to set persistent id for connector if in repository already

    SQOOP-537: TestMPersistableEntity does not contain license header

    SQOOP-596: Implement connection resource end-to-end

    SQOOP-608: Implement job resource from end to end

    SQOOP-631: Sqoop2 client is not working on Mac OS X

    SQOOP-632: Sqoop 2 client help text contains link to old incubator page

    SQOOP-644: Remove DISCLAMER.txt file from branch sqoop2

    SQOOP-651: adding .gitattributes to prevent CRLF and LF mismatches for source and text files

    SQOOP-655: Generic JDBC connector for export

    SQOOP-671: Mapreduce counters are not used in generated mapreduce jobs

    SQOOP-673: Mapreduce submission manager should not call update() on finished submissions

    SQOOP-674: Sqoop2: Exceptions in special map reduce threads can cause mapreduce job to freeze

    SQOOP-686: Empty job name will result in NPE during job submission

    SQOOP-688: Add netbeans files to gitignore and rat

    SQOOP-690: Fix threading issues in SqoopOutputFormatLoadExecutor

    SQOOP-692: Move execution specific error codes from CoreError to it&#39;s own error codes class

    SQOOP-693: Intermediate data format support for export

    SQOOP-695: Change default host on client to &quot;localhost&quot;

    SQOOP-696: Client command submission status will finish gracefully when executed for non existing job

    SQOOP-702: Refactor OutputLoadExecutor

    SQOOP-705: Framework-defined text/sequence partitioner/extractor for HDFS

    SQOOP-707: Update developer list in Sqoop 2 pom file

    SQOOP-710: Remove dependency on unreleased commons-cli 1.3 from Sqoop 2 client

    SQOOP-727: We should use more strict regular expressions in addtowar.sh script

    SQOOP-728: Increase varchar limits for external link and exceptions in Derby repository

    SQOOP-729: SubmissionDisplayer should display Stack Trace only in Verbose mode

    SQOOP-738: Sqoop is not importing all data in Sqoop 2

    SQOOP-759: Sqoop2: Loading client resource file is failing on ResourceBundle not found exception

    SQOOP-760: Sqoop2: Fix invalid \h escape sequence in client resource file

    SQOOP-761: HDFSTextExportExtractor loses lines around partition boundaries

    SQOOP-764: Sqoop2: Fix typo in client resource file &quot;prompt.conn_id&quot;

    SQOOP-765: Sqoop2: JDBC repository is incorrectly checking if job exists in update handler

    SQOOP-766: Sqoop2: Fix client resources

    SQOOP-768: Sqoop2: Compilation on hadoop profile 100 will fail

    SQOOP-770: Sqoop2: executable scripts in binary distribution tarball are not executable

    SQOOP-771: Sqoop2: Improve addtowar.sh

    SQOOP-772: OutOfMemory from document generation

    SQOOP-774: Sqoop2: exception is thrown when creating a connection object if connectionString starts with an empty space

    SQOOP-775: Sqoop2: addtowar.sh script is silently ignoring unknown arguments

    SQOOP-778: Remove empty SqoopUserGuide and SqoopDeveloperGuide

    SQOOP-779: Sqoop2: NPE when JobConnectorContext has a null value

    SQOOP-780: Sqoop2: GENERIC_JDBC_CONNECTOR_0011:The type is not supported - 2

    SQOOP-781: Sqoop2: Improve logging in GenericJdbcImportInitializer

    SQOOP-782: Update comment to reflect that TestHdfsExtract works fine.

    SQOOP-784: Sqoop2: Creating job for connection with id &gt; 1 will results in NullPointerException

    SQOOP-788: Sqoop2: Import sometimes duplicate some data

    SQOOP-789: Fix Hadoop-1 build

    SQOOP-790: Remove flakiness from TestSqoopOutputformatLoadExecutor

  IMPROVEMENT

    SQOOP-306: Move to a maven build

    SQOOP-347: Pull versions into properties in the pom.xml

    SQOOP-507: Update dist/pom.xml so that maven doesn&#39;t download tomcat every time

    SQOOP-525: Enable dist package build by default

    SQOOP-534: Add ability to find out if MPersistableEntity do already have persistent ID

    SQOOP-545: Add IntelliJ IDEA files to RAT exclude

    SQOOP-567: Support connection validation in JDBC repository

    SQOOP-568: Configuration reload period should be configurable in PropertiesConfigurationProvider

    SQOOP-573: Do not change working directory for client

    SQOOP-581: Client should be sending used locale back to sqoop server to retrieve locale aware data

    SQOOP-590: Switch Sqoop 2 to Apache Tomcat 6 For Better Integration With Apache Bigtop

    SQOOP-612: Provide unit tests for derby metadata repository

    SQOOP-618: Remove most important FindBugs warnings and errors in Sqoop 2

    SQOOP-619: Display user persistent id of newly created connection and job objects

    SQOOP-620: Introduce name to connection and job objects

    SQOOP-625: Enforce checking advertised maximal size for MStringInput

    SQOOP-629: Provide better exception handling during server-client communication

    SQOOP-630: Check if connection/job is in use before deleting as deleting used entity might result in FK violations

    SQOOP-642: Provide resource reading for both interactive and batch mode processing

    SQOOP-645: Separate job engine to separate maven module

    SQOOP-646: Provide support for &quot;set&quot; metadata in Sqoop 2

    SQOOP-648: Move all string message in client to resource file for easy translation

    SQOOP-662: Introduce pluggable configuration objects

    SQOOP-667: We should persist in repository all properties of MSubmission metadata class

    SQOOP-676: Add lastUpdateDate to MSubmission

    SQOOP-677: Destroyer needs to be called from OutputCommitter

    SQOOP-679: Wrap exception to MSubmission metadata object

    SQOOP-681: Split configuration in Generic JDBC connector between job and connection

    SQOOP-684: Encode type of the job into executed map reduce job

    SQOOP-694: Introduce client &quot;verbose&quot; mode

    SQOOP-704: Exclude patches from RAT checks in Sqoop2

    SQOOP-719: Improve user experience with addtowar.sh script in Sqoop 2

    SQOOP-722: Improve Sqoop 2 packaging

    SQOOP-734: Change ConnectorBean to send JSON objects rather than sets of arrays

    SQOOP-735: Introduce output format option to Sqoop 2 import

    SQOOP-737: Give user option to set number of extractors and loaders

    SQOOP-762: Sqoop2: Improve logging in mapreduce execution engine

    SQOOP-776: Sqoop2: show connection command shows password in plain text

  NEW FEATURE

    SQOOP-531: Define connector execution lifecycle

    SQOOP-532: Define intefaces for connector-defined execution classes

    SQOOP-533: Intermediate data format support for import

    SQOOP-588: MapReduce infrastructure for executing ETL framework

    SQOOP-589: Framework-defined text/sequence loaders for HDFS

    SQOOP-605: Generic JDBC connector for import

    SQOOP-610: Job submission engine for import

    SQOOP-613: Add support for integer type to metadata model

    SQOOP-614: Provide client side ability to clone connection or job object

    SQOOP-623: Add support for loading Map inputs in Sqoop2

    SQOOP-624: Add test coverage plugin to root pom file

    SQOOP-627: Convert forms structures on connector level to configuration classes

    SQOOP-656: End to end submission engine

    SQOOP-658: Solve hadoop dependency distribution/loading on server side

    SQOOP-666: Introduce execution engine

    SQOOP-712: Add support of Hadoop 1.x to Sqoop 2

    SQOOP-716: Create server notification REST callback to get information if job has update

    SQOOP-739: Connectors in Sqoop 2 should be versionable

    SQOOP-740: Provide export submission engine implementation for Sqoop 2

  TASK

    SQOOP-491: Create configuration directory with documented configuration files under Sqoop2.

    SQOOP-492: Implement a documentation system for Sqoop2

    SQOOP-493: Distribution build for Sqoop2 should contain sources

    SQOOP-494: Create client infrastructure to allow interactive selection of options of a command.

    SQOOP-495: Support for parameter substitution in the client shell.

    SQOOP-496: Refine the interface for Connector and Repository to support connection metadata

    SQOOP-497: Enhance repository interface to support Connection CRUD

    SQOOP-501: Infrastructure to support input of sensitive information like passwords in the client shell

    SQOOP-502: Implement show connector command end-to-end

    SQOOP-512: Intermediate data representation

    SQOOP-514: Layout changes for Sqoop 2 distribution

    SQOOP-544: Split job metadata for different job types (import, export)

    SQOOP-576: Implement command &quot;show framework&quot; end to end

    SQOOP-577: Design storage in derby repository for connect and job metadata

    SQOOP-584: Create facility to validate user supplied connection and job forms

    SQOOP-697: Put together documentation for Sqoop 2

    SQOOP-733: Remove unnecessary version repetition in Sqoop 2 pom files

    SQOOP-747: Sqoop 1.99.1 release preparation

