Migration notes from 5.0 pre-releases
This page lists the changes between pre-releases and explains any changes required to migrate from these early releases to the stated version of Atoti Data Connectors:
Changelogs:
Migration notes:
Changes between 5.0.0-M2 and 5.0.0
Added
Issue Key | Details |
---|---|
BAST-1152 | Added support for messaging source (Kafka) |
Changed
Issue Key | Details |
---|---|
BAST-1239 | Refactoring changes including renaming classes and reorganizing packages |
BAST-1297 | Externalized glob to regex logic used in cloud topic factories so it can be overridden if needed |
BAST-1269 | Improved how default configurations can be overridden |
BAST-1282 | Flattened module structure |
BAST-1283 | rollbackOnTransactionOnError property is now true by default |
Fixed
Issue Key | Details |
---|---|
BAST-1272 | Removed trailing slash in ScopeTemplateResolverService which was causing issues for cloud topics |
BAST-1285 | Fixed dlc.enabled not being true by default |
BAST-1287 | Fixed serialization and deserialization of all DTOs |
BAST-1291 | Fixed bug in exception handler causing stack trace to not be present |
BAST-1298 | Fixed bug where implicit unload topics were being created for topics which do not match a table name |
BAST-1283 | Fixed bug where rollbackOnTransactionOnError property was being ignored (and default behavior is now true) |
BAST-1292 | Fixed vulnerable dependencies being brought in |
Migrate from 5.0.0-M2 to 5.0.0
Upgrading from version 5.0.0-M2, see Atoti Data Connectors 5.0 Release Notes.
Atoti Data Connectors uses Atoti Server 6.1.1. For new features and fixes included in that release, please see the release notes for Atoti Server.
Breaking Changes
None
Headline announcement
- Flattened Module Structure: To simplify imports, we have flattened the module structure.
- Renamed and reorganized packages: We’ve reoganized packages and renamed a few classes and methods to better align the properties and the description objects.
- Added support for Kafka Messaging Source: Support for streaming from a Kafka source has been added. See Messaging Configuration.
Flattened Module Structure
We’ve flattened the module structure to simplify imports. See Getting Started for the updated dependencies.
Default rollbackTransactionOnError behavior
The default behavior has changed to roll back the transaction on error.
You can override this behavior by setting the dlc.rollback-transaction-on-error
property to false
.
Renamed & Reorganized Packages
Change Type | OLD Class Name | NEW Class Name |
---|---|---|
Renamed & moved | com.activeviam.io.dlc.impl.ParserOverrides |
com.activeviam.io.dlc.impl.description.ParserOverridesDescription |
Renamed & moved | com.activeviam.io.dlc.impl.DlcAliases |
com.activeviam.io.dlc.impl.description.AliasesDescription |
Renamed & moved | com.activeviam.io.dlc.api.description.sink.AnonymousSinkDescription |
com.activeviam.io.dlc.impl.description.topic.channel.publish.AnonymousTargetDescription |
Renamed & moved | com.activeviam.io.dlc.api.description.sink.SinkDescription |
com.activeviam.io.dlc.impl.description.topic.channel.publish.TargetDescription |
Renamed & moved | com.activeviam.io.dlc.api.description.column.calc.AnonymousColumnCalculatorDescription |
com.activeviam.io.dlc.impl.description.topic.channel.column.calc.AnonymousCustomFieldDescription |
Renamed & moved | com.activeviam.io.dlc.api.description.column.calc.ColumnCalculatorDescription |
com.activeviam.io.dlc.impl.description.topic.channel.column.calc.CustomFieldDescription |
Renamed & moved | com.activeviam.io.dlc.api.request.DlcOperationScope |
com.activeviam.io.dlc.impl.operations.request.scope.DlcScope |
Moved | com.activeviam.io.dlc.api.description.DlcDescription |
com.activeviam.io.dlc.impl.description.DlcDescription |
Moved | com.activeviam.io.dlc.impl.NamedEntityResolverService |
com.activeviam.io.dlc.impl.utils.NamedEntityResolverService |
Moved | com.activeviam.io.dlc.api.request.DlcLoadRequest |
com.activeviam.io.dlc.impl.operations.request.DlcLoadRequest |
Moved | com.activeviam.io.dlc.api.annotations.ConditionalOnDlcEnabled |
com.activeviam.io.dlc.impl.annotations.ConditionalOnDlcEnabled |
Moved | com.activeviam.io.dlc.description.AwsCsvSourceDescription |
com.activeviam.io.dlc.impl.description.source.AwsCsvSourceDescription |
Moved | com.activeviam.io.dlc.description.AzureCsvSourceDescription |
com.activeviam.io.dlc.impl.description.source.AzureCsvSourceDescription |
Moved | com.activeviam.io.dlc.description.GcpCsvSourceDescription |
com.activeviam.io.dlc.impl.description.source.GcpCsvSourceDescription |
Moved | com.activeviam.io.dlc.description.JdbcSourceDescription |
com.activeviam.io.dlc.impl.description.source.JdbcSourceDescription |
Moved | com.activeviam.io.dlc.description.LocalAvroSourceDescription |
com.activeviam.io.dlc.impl.description.source.LocalAvroSourceDescription |
Moved | com.activeviam.io.dlc.description.LocalCsvSourceDescription |
com.activeviam.io.dlc.impl.description.source.LocalCsvSourceDescription |
Moved | com.activeviam.io.dlc.description.LocalParquetSourceDescription |
com.activeviam.io.dlc.impl.description.source.LocalParquetSourceDescription |
Moved | com.activeviam.io.dlc.description.TupleSourceDescription |
com.activeviam.io.dlc.impl.description.source.TupleSourceDescription |
Moved | com.activeviam.io.dlc.description.AvroTopicDescription |
com.activeviam.io.dlc.impl.description.topic.AvroTopicDescription |
Moved | com.activeviam.io.dlc.description.CsvTopicDescription |
com.activeviam.io.dlc.impl.description.topic.CsvTopicDescription |
Moved | com.activeviam.io.dlc.description.JdbcTopicDescription |
com.activeviam.io.dlc.impl.description.topic.JdbcTopicDescription |
Moved | com.activeviam.io.dlc.description.ParquetTopicDescription |
com.activeviam.io.dlc.impl.description.topic.ParquetTopicDescription |
Moved | com.activeviam.io.dlc.description.TupleTopicDescription |
com.activeviam.io.dlc.impl.description.topic.TupleTopicDescription |
Moved | com.activeviam.io.dlc.description.UnloadTopicDescription |
com.activeviam.io.dlc.impl.description.topic.UnloadTopicDescription |
Moved | com.activeviam.io.dlc.api.description.ChannelDescription |
com.activeviam.io.dlc.impl.description.topic.channel.ChannelDescription |
Moved | com.activeviam.io.dlc.description.CsvParserDescription |
com.activeviam.io.dlc.impl.description.topic.parser.CsvParserDescription |
Moved | com.activeviam.io.dlc.impl.operations.request.DlcListenStatusRequest |
com.activeviam.io.dlc.api.request.DlcListenStatusRequest |
Moved | com.activeviam.io.dlc.api.request.DlcLoadRequest |
com.activeviam.io.dlc.impl.operations.request.DlcLoadRequest |
Moved | com.activeviam.io.dlc.api.request.DlcStartListenRequest |
com.activeviam.io.dlc.impl.operations.request.DlcStartListenRequest |
Moved | com.activeviam.io.dlc.api.request.DlcListenStatusRequest |
com.activeviam.io.dlc.impl.operations.request.DlcListenStatusRequest |
Moved | com.activeviam.io.dlc.api.request.DlcStopListenRequest |
com.activeviam.io.dlc.impl.operations.request.DlcStopListenRequest |
Moved | com.activeviam.io.dlc.api.request.DlcUnloadRequest |
com.activeviam.io.dlc.impl.operations.request.DlcUnloadRequest |
Moved | com.activeviam.io.dlc.impl.operations.DlcListenStatusOperation |
com.activeviam.io.dlc.impl.operations.DlcListenStatusOperation |
Moved | com.activeviam.io.dlc.impl.operations.DlcLoadOperation |
com.activeviam.io.dlc.impl.operations.DlcLoadOperation |
Moved | com.activeviam.io.dlc.impl.operations.DlcStartListenOperation |
com.activeviam.io.dlc.impl.operations.DlcStartListenOperation |
Moved | com.activeviam.io.dlc.impl.operations.DlcStopListenOperation |
com.activeviam.io.dlc.impl.operations.DlcStopListenOperation |
Moved | com.activeviam.io.dlc.impl.operations.DlcUnloadOperation |
com.activeviam.io.dlc.impl.operations.DlcUnloadOperation |
Moved | com.activeviam.io.dlc.api.response.DlcStatus |
com.activeviam.io.dlc.api.operations.response.DlcStatus |
NamedEntityResolverService
OLD Method | NEW Method |
---|---|
columnCalculatorDescriptions |
customFields |
getDlcSinkDescription |
getTarget |
CSV Parser
OLD Method | NEW Method |
---|---|
columnNames |
columns |
OLD Property | NEW Property |
---|---|
column-names |
columns |
Channel
OLD Property | NEW Property |
---|---|
target-name |
target |
JDBC Source
OLD Method | NEW Method |
---|---|
driverClassName |
driverClass |
OLD Property | NEW Property |
---|---|
driver-class-name |
driver-class |
See Atoti Data Connectors 5.0.0 Migration Notes for details on:
- Completely re-written DLC
- Our step guide to migrating to the new DLC API
Changes between 5.0.0-M1 and M2
Added
Issue Key | Details |
---|---|
BAST-1246 | Added implicit parsing column calculators which can be overridden via ParserOverrides bean |
BAST-1249 | Added cloud (Azure, AWS, GCP) support for CSV. |
BAST-1153 | Added support for JDBC source type. |
BAST-1177 | Added support for UNLOAD operation. |
BAST-1154 | Added support for listening operations (START_LISTEN , LISTEN_STATUS , STOP_LISTEN ). |
BAST-1151 | Added support for Avro and Parquet. |
Changed
Issue Key | Details |
---|---|
BAST-1162 | Requests now enforce that every topic belongs to only one source. You can specify the source / source type in the request. |
BAST-1262 | Changed the structure of the configuration properties. |
Fixed issues introduced in 5.0.0-M1
Issue Key | Details |
---|---|
BAST-1238 | Correctly propagate errors to the IDlcResponse object & type requests and responses. |
Migrate from 5.0.0-M1 to 5.0.0-M2
Upgrading from version 5.0.0-M1, see Atoti Data Connectors 5.0.0-M2 Release Notes.
Atoti Data Connectors uses Atoti Server 6.1.1 . For new features and fixes included in that release, please see the release notes for Atoti Server.
Breaking Changes
- Configuration Properties : The structure of the configuration properties has changed.
- Single Source per Topic : Requests now enforce that every topic belongs to only one source. You can specify the source / source type in the request.
Headline announcement
See Atoti Data Connectors 5.0.0 Migration Notes for details on:
- Implicit Parsing Column Calculators: Added implicit parsing column calculators which can be overridden via
ParserOverrides bean. This means you no longer need to keep
CsvColumnParser
s in your channel description. - CSV Cloud support: Added support for loading CSV files from Azure, AWS, and GCP.
- UNLOAD Operation: Added support for
UNLOAD
operation. - Listening Operations: Added support for listening operations (
START_LISTEN
,LISTEN_STATUS
,STOP_LISTEN
). - Avro & Parquet: Added support for Avro and Parquet.
Dependency Changes
None.
Configuration files
The format of the configuration properties has changed.
Previous | New | Additional Notes |
---|---|---|
dlc.local-csv-sources | dlc.csv.local.sources | Sources were previously a list, now they are a map from source name to description |
dlc.csv-topics | dlc.csv.topics |
Services
No changes.
Other Changes
Operations can now be extended directly rather than via the IDlcOperation
interface.
DlcLoadRequest.builder().operation("LOAD")
should be replaced with DlcLoadRequest.builder()