更新日志

此页面列出了 Neo4j Kafka 连接器的更改。

版本 5.1.12

这是一个维护版本,提供了更新的依赖项。

版本 5.1.11

这是一个维护版本,提供了更新的依赖项。

版本 5.1.10

这是一个维护版本,提供了更新的依赖项。

版本 5.1.9

功能 详情

错误 已修复

Neo4j 版本解析不正确。

解决了由于 Neo4j 版本字符串处理不当导致目标连接器失败的问题。

版本 5.1.8

功能 详情

功能 新增

目标连接器支持 decimaldatetimetimestamp Kafka Connect 类型。

当传入消息包含内置的 Kafka Connect 类型(decimaldatetimetimestamp)之一时,目标连接器无法处理该消息,因为它不支持这些类型。现在已提供对这些类型的支持。

为避免数据丢失,decimal 类型的值将转换为 string 值。

错误 已修复

如果未设置错误记录报告器,则重新抛出异常。

当目标连接器未配置任何错误处理选项时,Kafka Connect 不会设置错误记录报告器,并且引发的异常会被静默忽略。现在,如果未设置错误记录报告器,这些异常将不再被忽略,而是重新抛出。

错误 已修复

用户提供的返回结果的 Cypher 查询在 Cypher 目标策略中失败。

当目标连接器配置为 Cypher 策略且提供的查询包含 RETURN 子句时,内部重写的 Cypher 查询未能正确生成,导致连接器失败。Cypher 生成逻辑现已修复,此类查询现已受支持。

版本 5.1.7

这是一个维护版本,提供了更新的依赖项。

版本 5.1.6

这是一个维护版本,提供了更新的依赖项。

版本 5.1.5

新增和更新的功能

功能 详情

功能 新增

为源连接器添加了 neo4j.payload-mode 配置属性。

引入了 neo4j.payload-mode 选项来定义变更消息的结构。可用值为 COMPACTEXTENDEDCOMPACT 提供更简单的消息,但在属性类型更改时面临模式兼容性问题,而 EXTENDED 包含类型信息以避免此类问题。默认值为 EXTENDED

错误 已修复

防止了因在 CDC 源事件的模式生成中添加重复字段而导致的异常。

解决了 ChangeEvent 模式生成过程中重复字段导致异常(org.apache.kafka.connect.errors.SchemaBuilderException: Cannot create field because of field name duplication id)的问题。在为键数组元素构建模式时,如果不同的映射包含相同的字段名,则该字段会被多次添加,从而导致此异常。现在,已适当处理重复字段以避免此问题。

版本 5.1.4

新增和更新的功能

功能 详情

错误 已修复

修复了 CDC 模式目标连接器中的一个错误,该错误导致不包含任何起始或结束节点键的关系更新和删除事件错误地生成了 Cypher 语句。

解决了引用不包含任何起始或结束节点键的关系更新和删除事件的消息生成 Cypher 语句,从而在目标数据库上更新或删除更广泛实体的问题。现在,这些消息会生成失败,应通过常规错误处理机制进行处理。

版本 5.1.3

新增和更新的功能

功能 详情

错误 已修复

修复了目标连接器中的一个错误,该错误导致不带有效约束的消息无法处理。

解决了从 neo4j-streams 4.1 源插件创建的消息(其中包含唯一约束但在实体中没有相应值)导致 Cypher 查询包含空属性过滤器以进行匹配的问题。根据操作类型(UPDATE/DELETE/CREATE),这可能导致意外行为,因为查询可能与预期节点不匹配。

版本 5.1.2

新增和更新的功能

功能 详情

修复

在未启用模式时,使用 JsonConverter 支持 JSON 字符串

解决了 org.apache.kafka.connect.json.JsonConverterschemas.enable=false 时不支持 JSON 字符串的问题。现在,连接器可以正确处理传入的 JSON 字符串,而无需模式定义。

版本 5.1.1

新增和更新的功能

功能 详情

修复

更新了 Neo4j 驱动程序,以缓解 Netty 的 CVE-2023-34462。

Neo4j 驱动程序已更新到最新的 4.4.x 版本(4.4.18),其中包括 Netty 的 CVE-2023-34462 的修复程序。

版本 5.1.0

新增和更新的功能

功能 详情

功能 新增

为 CDC 源消息添加了值序列化策略。

我们引入了一个可选属性 neo4j.cdc.topic.$topic.value-strategy,它指定 CDC 源消息的值将如何序列化。可用选项包括 CHANGE_EVENTENTITY_EVENT

版本 5.1.0-rc02

新增和更新的功能

功能 详情

功能 破坏性更改

源连接器生成的变更事件的模式结构已更改,与早期版本不兼容。

在早期版本的 Neo4j Kafka 连接器中,源连接器派生 Kafka Connect 结构来表达实体属性,这在属性类型更改时的模式兼容性方面存在限制。现在,模式派生逻辑已更新,可将类型信息编码到专用结构中,从而不再受此限制。

功能 新增

模式目标策略现在会检查标记为键的属性是否存在匹配的键约束。

在模式目标策略处理程序中添加了一项新检查,该检查现在将验证所提供模式中标记为键的属性是否存在匹配约束。如果未找到匹配约束,则会将其作为消息记录到 Kafka Connect 日志中。

配置 已更改

重命名以下目标配置属性

  • neo4j.pattern.node.topic.{TOPIC_NAME}neo4j.pattern.topic.{TOPIC_NAME}

  • neo4j.pattern.relationship.topic.{TOPIC_NAME}neo4j.pattern.topic.{TOPIC_NAME}

  • neo4j.pattern.node.merge-propertiesneo4j.pattern.merge-node-properties

  • neo4j.pattern.relationship.merge-propertiesneo4j.pattern.merge-relationship.properties

改进了模式目标配置,不再需要在配置属性名称中指定模式类型。

版本 5.1.0-rc01

新增和更新的功能

功能 详情

功能 新增

添加了对目标连接器中错误处理的支持。

目标连接器现在已具备适当的错误处理功能,因此可以利用 Kafka Connect 错误处理配置并将失败消息直接发送到 DLQ。

配置 已移除

移除了以下源属性

  • neo4j.enforce-schema

移除了以下目标属性

  • neo4j.batch-parallelize

新版源连接器始终生成支持模式的消息。要禁用模式,请相应配置您的键和值转换器。

新版目标连接器不实现任何并行化逻辑,并按照更改在主题中出现的顺序处理更改。

配置 已更改

重命名以下配置属性

  • topicneo4j.query.topic

为了保持一致性,Query 源策略的 topic 配置已重命名为 neo4j.query.topic

功能 配置 新增

添加了新的目标属性

  • neo4j.cypher.bind-timestamp-as

  • neo4j.pattern.bind-timestamp-as

  • neo4j.pattern.bind-header-as

  • neo4j.pattern.bind-key-as

  • neo4j.pattern.bind-value-as

  • neo4j.pattern.bind-value-as-event

添加了新的源属性

  • neo4j.query.poll-duration

Cypher 策略现在还允许在用户提供的 Cypher 查询中绑定消息时间戳。

节点和关系模式策略现在允许将消息时间戳、消息头、键和值作为单独且可配置的变量绑定到用户提供的模式中。

查询源策略已重新实现,因此可以配置 poll 周期以等待指定时长,在此期间,配置的查询会多次执行,直到发现更改。

功能 新增

改造了目标连接器中的模式策略。

节点和关系模式目标策略已重新实现,并进行了多项改进。

  • 现在,在将更改应用到数据库时,消息顺序得以保留。

  • 模式现在允许将源消息中的属性映射到模式中定义的自定义属性名称。

  • 在定义属性时,模式可以包含对消息时间戳、消息头、键和值的引用。

版本 5.1.0-beta02

新增和更新的功能

功能 详情

功能 新增

添加了新的目标属性

  • neo4j.cypher.bind-header-as

  • neo4j.cypher.bind-key-as

  • neo4j.cypher.bind-value-as

  • neo4j.cypher.bind-value-as-event

Cypher 策略现在允许将消息头、键和值作为单独且可配置的变量绑定到用户提供的 Cypher 查询中。

修复 破坏性更改

Cypher 类型的模式转换

从 Connect 值(定义为自定义 Connect 类型,如 DateTimePoint 等)转换 Cypher 值的问题已修复。除了基于字符串的时间类型之外,我们还添加了基于结构的临时类型,它们将更好地与所有转换器配合使用。此外,还为点类型添加了一个新的 dimension 字段,这提高了它与所有转换器的兼容性。这些新类型将用于连接器生成的时间类型。

在使用 Protobuf 转换器时,这曾导致问题。

此更改可能会破坏此连接器早期版本生成的模式的现有模式兼容性。请考虑放宽这些主题的模式兼容性模式,或启动一个新主题以自动获取更新的模式。

版本 5.1.0-beta01

新增和更新的功能

功能 详情

功能 新增

目标连接器的 CDC 消息支持

Neo4j Aura 5 和最新 Neo4j 5.x 企业版中提供的新 CDC 消息格式,以及旧流更改消息格式,现在都已在 CDC Source IDSchema 目标策略中受支持。

配置 已更改

一些 sink 属性已重命名。

为了提供一致且更直观的命名,我们重命名了一些 sink 属性。这影响了以下属性(

  • neo4j.cdc.sourceId.topic.$topicneo4j.cdc.source-id.topic.$topic

  • neo4j.cdc.sourceId.labelNameneo4j.cdc.source-id.label-name

  • neo4j.cdc.sourceId.propertyNameneo4j.cdc.source-id.property-name

版本 5.1.0-alpha03

新增和更新的功能

功能 详情

配置 已更改

一些 sink 属性已重命名。

为了提供一致且更直观的命名,我们重命名了一些 sink 属性。这影响了以下属性(

  • neo4j.topic.cypher.$topicneo4j.cypher.topic.$topic

  • neo4j.topic.cdc.sourceIdneo4j.cdc.sourceId.topic.$topic

  • neo4j.topic.cdc.sourceId.labelNameneo4j.cdc.sourceId.labelName

  • neo4j.topic.cdc.sourceId.idNameneo4j.cdc.sourceId.propertyName

  • neo4j.topic.cdc.schemaneo4j.cdc.schema.topics

  • neo4j.topic.pattern.node.$topicneo4j.pattern.node.topic.$topic

  • noe4j.topic.pattern.merge-node-propertiesneo4j.pattern.merge-node-properties

  • neo4j.topic.pattern.relationship.$topicneo4j.pattern.relationship.topic.$topic

  • neo4j.topic.pattern.merge-relationship-propertiesneo4j.pattern.merge-relationship-properties

  • neo4j.topic.cudneo4j.cud.topics

功能 已更改

CDC 事件的模式已更新。

我们更新了一个模式,使其与 CREATEUPDATEDELETE 操作兼容,从而可以将它们以 backward 兼容模式发布到同一个 Kafka 主题。

错误 已修复

修复了 CDC 索引模式配置的解析方式错误

以前,如果指定了多个连续索引,可能会收到错误。

版本 5.1.0-alpha02

新增和更新的功能

功能 详情

功能 新增

为 CDC 源消息添加了键序列化策略。

我们引入了一个可选属性 neo4j.cdc.topic.$topic.key-strategy,它指定 CDC 源消息的键将如何序列化。可用选项包括 SKIPELEMENT_IDENTITY_KEYSWHOLE_VALUE

功能 已更改

支持 Neo4j 5.15 中变更事件引入的新 keys 字段

Neo4j 5.15 在变更事件模式中引入了一项破坏性更改,其中节点和关系变更事件中 keys 字段的结构已更新,以处理多个键约束。此版本支持旧结构和新结构以实现兼容性。

© . All rights reserved.