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

Hudson commented on SQOOP-1926:
-------------------------------

SUCCESS: Integrated in Sqoop2-hadoop200 #710 (See 
[https://builds.apache.org/job/Sqoop2-hadoop200/710/])
SQOOP-1926: Sqoop2: Add annotations for visibilty and compatibility guarantees 
(jarcec: 
https://git-wip-us.apache.org/repos/asf?p=sqoop.git&a=commit&h=89f737b2ac4b3be31016e4fa5b17c88f1e29ed5a)
* common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java
* common/src/main/java/org/apache/sqoop/model/MLink.java
* common/src/main/java/org/apache/sqoop/schema/type/AbstractNumber.java
* common/src/main/java/org/apache/sqoop/schema/type/AbstractString.java
* common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java
* common/src/main/java/org/apache/sqoop/model/MIntegerInput.java
* common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java
* common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java
* common/src/main/java/org/apache/sqoop/model/MInputType.java
* common/src/main/java/org/apache/sqoop/model/MConfig.java
* common/src/main/java/org/apache/sqoop/utils/UrlSafeUtils.java
* common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java
* common/src/main/java/org/apache/sqoop/model/MValidatedElement.java
* common/src/main/java/org/apache/sqoop/schema/type/FloatingPoint.java
* common/src/main/java/org/apache/sqoop/json/SubmissionBean.java
* common/src/main/java/org/apache/sqoop/model/ConfigUtils.java
* common/src/main/java/org/apache/sqoop/model/MJob.java
* common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexType.java
* 
common/src/main/java/org/apache/sqoop/validation/validators/HostAndPortValidator.java
* common/src/main/java/org/apache/sqoop/schema/type/Enum.java
* connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partition.java
* common/src/main/java/org/apache/sqoop/submission/counter/SqoopCounters.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/JarUtil.java
* common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java
* common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java
* common/src/main/java/org/apache/sqoop/json/LinksBean.java
* common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java
* common/src/main/java/org/apache/sqoop/validation/ConfigValidationError.java
* common/src/main/java/org/apache/sqoop/submission/SubmissionStatus.java
* common/src/main/java/org/apache/sqoop/model/MConfigType.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormat.java
* common/src/main/java/org/apache/sqoop/schema/type/Map.java
* common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java
* connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Loader.java
* common/src/main/java/org/apache/sqoop/submission/counter/CounterGroup.java
* common/src/main/java/org/apache/sqoop/model/MLinkConfig.java
* common/src/main/java/org/apache/sqoop/model/MConfigList.java
* common/src/main/java/org/apache/sqoop/json/VersionBean.java
* common/src/main/java/org/apache/sqoop/submission/counter/Counters.java
* common/src/main/java/org/apache/sqoop/validation/Message.java
* common/src/main/java/org/apache/sqoop/schema/type/Date.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableUpgradeUtil.java
* common/src/main/java/org/apache/sqoop/model/MToConfig.java
* 
common/src/main/java/org/apache/sqoop/validation/validators/DatasetURIValidator.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopIDFUtils.java
* common/src/main/java/org/apache/sqoop/model/MDriverConfig.java
* common/src/main/java/org/apache/sqoop/model/MEnumInput.java
* common/src/main/java/org/apache/sqoop/schema/type/Array.java
* common/src/main/java/org/apache/sqoop/classification/InterfaceAudience.java
* common/src/main/java/org/apache/sqoop/schema/SchemaMatchOption.java
* common/src/main/java/org/apache/sqoop/schema/type/Bit.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Partitioner.java
* 
common/src/main/java/org/apache/sqoop/validation/validators/CSVURIValidator.java
* common/src/main/java/org/apache/sqoop/model/MClonable.java
* common/src/main/java/org/apache/sqoop/utils/MapResourceBundle.java
* common/src/main/java/org/apache/sqoop/schema/type/Set.java
* common/src/main/java/org/apache/sqoop/common/MutableMapContext.java
* common/src/main/java/org/apache/sqoop/schema/SchemaError.java
* common/src/main/java/org/apache/sqoop/common/DirectionError.java
* common/src/main/java/org/apache/sqoop/model/MMapInput.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/ConnectorConfigurableUpgrader.java
* common/src/main/java/org/apache/sqoop/json/JsonBean.java
* common/src/main/java/org/apache/sqoop/model/MConfigurableType.java
* common/src/main/java/org/apache/sqoop/model/MStringInput.java
* common/src/main/java/org/apache/sqoop/model/SubmissionError.java
* common/src/main/java/org/apache/sqoop/schema/type/Unknown.java
* common/src/main/java/org/apache/sqoop/model/ConfigClass.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/FileFormat.java
* common/src/main/java/org/apache/sqoop/common/MutableContext.java
* connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Destroyer.java
* common/src/main/java/org/apache/sqoop/common/ErrorCode.java
* connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Extractor.java
* common/src/main/java/org/apache/sqoop/common/ImmutableContext.java
* common/src/main/java/org/apache/sqoop/model/MDriver.java
* common/src/main/java/org/apache/sqoop/json/ConnectorBean.java
* common/src/main/java/org/apache/sqoop/classification/InterfaceStability.java
* connector/connector-sdk/src/main/java/org/apache/sqoop/job/Constants.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormat.java
* common/src/main/java/org/apache/sqoop/schema/type/Time.java
* common/src/main/java/org/apache/sqoop/schema/ByteArraySchema.java
* common/src/main/java/org/apache/sqoop/model/Validator.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/NameMatcher.java
* common/src/main/java/org/apache/sqoop/json/util/SerializationError.java
* common/src/main/java/org/apache/sqoop/schema/type/Column.java
* 
common/src/main/java/org/apache/sqoop/validation/validators/NullOrContains.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Transferable.java
* common/src/main/java/org/apache/sqoop/schema/type/Text.java
* common/src/main/java/org/apache/sqoop/validation/Status.java
* common/src/main/java/org/apache/sqoop/json/ThrowableBean.java
* common/src/main/java/org/apache/sqoop/common/VersionInfo.java
* common/src/main/java/org/apache/sqoop/model/MNamedElement.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/EmptyConfiguration.java
* common/src/main/java/org/apache/sqoop/model/MConnector.java
* common/src/main/java/org/apache/sqoop/model/MFromConfig.java
* connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/From.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/configurable/ConfigurableError.java
* 
common/src/main/java/org/apache/sqoop/validation/validators/ClassAvailable.java
* common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java
* common/src/main/java/org/apache/sqoop/schema/type/FixedPoint.java
* common/src/main/java/org/apache/sqoop/schema/type/Decimal.java
* common/src/main/java/org/apache/sqoop/json/LinkBean.java
* common/src/main/java/org/apache/sqoop/validation/ConfigValidationRunner.java
* common/src/main/java/org/apache/sqoop/json/DriverBean.java
* common/src/main/java/org/apache/sqoop/schema/type/ColumnType.java
* common/src/main/java/org/apache/sqoop/json/SchemaBean.java
* pom.xml
* common/src/main/java/org/apache/sqoop/json/JSONUtils.java
* common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java
* common/src/main/java/org/apache/sqoop/validation/validators/NotNull.java
* common/src/main/java/org/apache/sqoop/model/Configurable.java
* common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java
* common/src/main/java/org/apache/sqoop/validation/ConfigValidationResult.java
* common/src/main/java/org/apache/sqoop/etl/io/DataReader.java
* common/src/main/java/org/apache/sqoop/schema/type/Binary.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormatError.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/SqoopAvroUtils.java
* common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java
* common/src/main/java/org/apache/sqoop/common/PrefixContext.java
* common/src/main/java/org/apache/sqoop/submission/counter/Counter.java
* common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java
* common/src/main/java/org/apache/sqoop/common/SupportedDirections.java
* connector/connector-sdk/pom.xml
* common/src/main/java/org/apache/sqoop/validation/validators/NotEmpty.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/spi/SqoopConnector.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/LocationMatcher.java
* 
common/src/main/java/org/apache/sqoop/validation/validators/AbstractValidator.java
* common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/Initializer.java
* common/src/main/java/org/apache/sqoop/model/MBooleanInput.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherFactory.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormatError.java
* common/src/main/java/org/apache/sqoop/json/JobBean.java
* common/src/main/java/org/apache/sqoop/common/SqoopException.java
* common/src/main/java/org/apache/sqoop/schema/type/AbstractPrimitiveType.java
* common/src/main/java/org/apache/sqoop/schema/NullSchema.java
* connector/connector-sdk/src/main/java/org/apache/sqoop/job/etl/To.java
* common/src/main/java/org/apache/sqoop/validation/validators/StartsWith.java
* common/src/main/java/org/apache/sqoop/utils/ClassUtils.java
* common/src/main/java/org/apache/sqoop/model/Input.java
* common/src/main/java/org/apache/sqoop/model/MInput.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/JSONIntermediateDataFormatError.java
* common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java
* common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java
* common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java
* common/src/main/java/org/apache/sqoop/schema/type/AbstractDateTime.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/CSVIntermediateDataFormat.java
* common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java
* common/src/main/java/org/apache/sqoop/schema/Schema.java
* common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java
* common/src/main/java/org/apache/sqoop/common/MapContext.java
* common/src/main/java/org/apache/sqoop/model/ModelError.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/AVROIntermediateDataFormat.java
* common/src/main/java/org/apache/sqoop/common/Direction.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/idf/IntermediateDataFormatError.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/common/AvroDataTypeUtil.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/MatcherError.java
* common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java
* common/src/main/java/org/apache/sqoop/model/Config.java
* common/src/main/java/org/apache/sqoop/schema/type/AbstractComplexListType.java
* 
connector/connector-sdk/src/main/java/org/apache/sqoop/connector/matcher/Matcher.java
* common/src/main/java/org/apache/sqoop/validation/validators/Contains.java
* common/src/main/java/org/apache/sqoop/model/MSubmission.java
* common/src/main/java/org/apache/sqoop/schema/type/DateTime.java
* common/src/main/java/org/apache/sqoop/json/JobsBean.java
* client/src/main/java/org/apache/sqoop/client/SqoopClient.java


> Sqoop2: Add annotations for visibilty and compatibility guarantees
> ------------------------------------------------------------------
>
>                 Key: SQOOP-1926
>                 URL: https://issues.apache.org/jira/browse/SQOOP-1926
>             Project: Sqoop
>          Issue Type: New Feature
>            Reporter: Abraham Elmahrek
>            Assignee: Abraham Elmahrek
>             Fix For: 1.99.5
>
>         Attachments: SQOOP-1926.0.patch, SQOOP-1926.1.patch, 
> SQOOP-1926.2.patch
>
>
> In Hadoop, there are annotations that describe the visibility of an API and 
> its compatibility story:
> {noformat:title=https://github.com/apache/hadoop/blob/branch-2.6/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/Job.java#L76}
> @InterfaceAudience.Public
> @InterfaceStability.Evolving
> {noformat}
> It would be nice to use some thing similar to this (if not the same thing) 
> and define our own (or same) compatibility story.
> This lock down the connector APIs and define a better contract about what can 
> be modified.
> Reference:
> # 
> http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/Compatibility.html
> # 
> http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/InterfaceClassification.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to