Neo4j 3.5 到 4.3 版本升级变化 (英文硬性翻译)
发布于 3 个月前 作者 pangguoming 310 次浏览 来自 分享

Neo4j 4.0.9

由于安全问题 Jetty 9.4.17 -> 9.4.34 - https://nvd.nist.gov/vuln/detail/CVE-2020-27216 Jersey 2.29 -> 2.32 - SRCCLR-SID-3606 Jackson 2.10.0 而更新依赖项 -> 2.10.5 – 版本兼容性 在收到 neo4j 配置之前不要将连接密码存储在本地存储中 备份命令中不相关 SSL 策略的特殊处理 修复了一个问题,即在执行页面错误的过程中意外并发关闭页面游标可能会导致闩锁未释放,从而捕获所有想要查看该页面的未来游标。 修复了在网络问题或实例重启时集群可能会卡住引导的错误。

Neo4j 4.0.10

修复了以 high_limit 格式扫描记录的问题,其中尝试读取恰好是次要单元的记录会引发异常或读取无效数据,而不是将其观察为未使用 允许在 neo4j-admin 副本中跨版本复制 升级到 Apache Shiro 1.7.0

Neo4j 4.0.11

修复了升级到 high_limit 格式的问题,其中一些辅助单元记录 ID 可能已在空闲列表中结束 修复了在一致性检查期间迭代 lucene 索引中的所有索引条目的进一步数组索引越界问题。 修复编译表达式的问题,其中错误说得到 NO_VALUE 而不是预期的输入。 更新 jetty 以解决安全漏洞 CVE-2020-27218

Neo4j 4.1.4

备份命令中不相关 SSL 策略的特殊处理 允许具有读取查询和架构命令的事务 添加在集群中设置默认数据库的过程 修复了在网络问题或实例重启时集群可能会卡住引导的错误。 浏览器:在收到 neo4j 配置之前不要将连接密码存储在本地存储中

Neo4j 4.1.6

修复了记录格式存储从标准格式升级到对齐格式的问题,其中属性存储无法正确迁移 修复了一致性检查器中的一个问题,如果发现唯一性索引而没有对约束的任何引用,检查器将抛出异常并失败 修复编译表达式的问题,其中错误说得到 NO_VALUE 而不是预期的输入。 修复了由于缺少集群数据而导致 neo4j-admin 独立报告失败的错误 更新 jetty 以解决安全漏洞 CVE-2020-27218 添加 :server 断开链接到浏览器侧边栏

Neo4j 4.1.7

删除调试日志消息:“未找到 uniqueValueSelectivity 的索引未找到索引” 修复在 reduce 表达式中使用聚合可能导致错误结果的错误。 修复了使用 DUMP DATA 选项删除数据库后导致实例无法重新启动的错误。 升级到 Apache Shiro 1.7.1

Neo4j 4.1.9

更新 Netty 到 4.1.60 修复某些从“lucene+native-3.0”索引读取的查询可能发生 NullPointerException 的错误。 修复从 3.5 存储升级时,如果存在全文索引,neo4j-admin 副本将失败的错误

Neo4j 4.1.9

将 Netty 升级到 4.1.63 修复创建或更改用户并将其用户名和密码设置为相同参数失败的问题 管理命令停止使用“Xms”堆设置 修复了在同时更改数据库目录的情况下执行多个写入时事务可能回滚的错误。 修复了长度和大小函数返回 1 而不是对不支持的输入值抛出错误的问题

Neo4j 4.2.0

强调 行政 ALIGNED 存储格式 - 可以在启动时为新数据库设置减少 I/O 操作总数的新存储格式。 观察内部调度程序的程序 - 引入了观察后台任务执行的新功能。 启动时的动态设置 - 可以使用新的 –expand-commands 参数并通过在启动之前执行对外部组件的调用来设置配置。 数据库管理中的 WAIT/NOWAIT – 可以使用 WAIT 或 NOWAIT 选项执行管理数据库的命令 (CREATE/DROP/START/STOP)。使用 WAIT,用户可以等待命令完成、超时或给定的秒数。 索引和约束管理命令——Cypher 提供命令来创建、删除和查看索引和约束 (CREATE/DROP/SHOW INDEX/CONSTRAINT)。 在 SHOW 命令中过滤——Cypher SHOW 命令提供了一种新的、简单的方法来检索列的选择、过滤和聚合结果。 备份/恢复改进——DBA 可以在具有更复杂功能的多数据库环境中创建备份和恢复数据库:元数据可以保存在数据库旁边并按需应用于其恢复,可以备份或恢复多个或所有数据库。 旋转时压缩指标 – CSV 指标文件可以旋转时压缩。 指标的数据库命名空间 - 可以根据请求按数据库组织指标。 neo4j-admin 改进——该工具改进了“copy”、“store-info”和“memrec”的操作。 HTTP 端口选择性设置 – 可以为浏览器、HTTP API、事务端点、管理端点和非托管扩展单独启用或禁用 HTTP 端口。 因果集群 运行/暂停只读副本——单个数据库的复制可以在只读副本中暂停或恢复。 数据库隔离 - 可以在集群成员上有选择地隔离具有内部错误的数据库。 暗号 Planner 改进——Cypher planner 扩展了“索引支持的 order by”功能的使用,即当 ORDER BY 子句存在且受索引支持时,它可以在更多情况下设置更有效的计划。 八进制文字 – ### Neo4j 4.2 中 Cypher 查询中的八进制数以“0o”开头 – Cypher 。 功能和程序 round() 函数 - round() 已改进以选择返回值的精度。 dbms.functions() 过程——函数按类别组织。 安全 过程和用户定义的函数权限——DBA 可以授予、拒绝或撤销用户对特定过程和用户定义的函数的访问权限。与他们当前的安全配置文件相比,用户还可能具有更高的访问权限。 基于角色的访问控制默认图 – 无论默认设置如何,都可以针对默认图授予、拒绝或撤销权限。 用户创建中的 PLAINTEXT 和 ENCRYPTED 密码 - 可以根据要求以纯文本或单向加密格式设置密码。 显示当前用户 - 用户可以查看其当前用户的个人资料。 SHOW PRIVILEGES as commands – DBA 可以将要执行的命令可视化以重新创建安全配置文件。 Java 驱动程序的 OCSP 装订支持 – 该驱动程序提供对 OCSP 装订的支持。 重要变化 我们对新安装的 Neo4j 的行为进行了一些更改。一般情况下,升级不受更改影响,但请仔细查看此列表,但有两个例外: 引入了 metrics.filter 设置,默认情况下它会减少在升级安装中收集的指标数量。 默认情况下,由 metrics.jmx.enabled 管理的 JMX 指标设置为 false。 这是完整的更改列表: metrics.csv.interval – 在新安装中,默认值为 30 秒(原为 3 秒)。 metrics.csv.rotation.compression – 这是一个新参数,默认情况下 CSV 指标文件在轮换时压缩(它们在以前的版本中未压缩)。 metrics.jmx.enabled – 在新安装中,默认情况下禁用 JMX 指标。 metrics.filter – 默认设置的指标数量已减少。当前的默认设置包括: 螺栓连接 bolt.messages_received bolt.messages_started dbms.pool.bolt.free *dbms.pool.bolt.total_size *dbms.pool.bolt.total_used *dbms.pool.bolt.used_heap *causal_clustering.core.is_leader *causal_clustering.core.last_leader_message *causal_clustering.core.replication_attempt *causal_clustering.core.replication_fail *check_point.duration *check_point.total_time *cypher.replan_events *ids_in_use.node *ids_in_use.property *ids_in_use.relationship *pool.transaction…total_used pool.transaction…used_heap pool.transaction…used_native 商店大小 事务.active_read *transaction.active_write *transaction.committed transaction.last_committed_tx_id *transaction.peak_concurrent *transaction.rollbacks page_cache.hit page_cache.page_faults *page_cache.usage_ratio *vm.file.descriptors.count *vm.gc.time vm.heap.used *vm.memory.buffer.direct.used

Neo4j 4.2.1

修复了以 high_limit 格式扫描记录的问题,其中尝试读取恰好是次要单元的记录会引发异常或读取无效数据,而不是将其观察为未使用 升级到 Apache Shiro 1.7.0 允许在 neo4j-admin 副本中跨版本复制 cypher-shell:将驱动程序版本更新到 4.2.0 这修复了从 3.5 直接升级到 4.1 或 4.2 会导致没有创建 PUBLIC 角色的错误。

Neo4j 4.2.2

修复了记录格式存储从标准格式升级到对齐格式的问题,其中属性存储无法正确迁移 修复了升级到 high_limit 格式的问题,其中一些辅助单元记录 ID 可能已在空闲列表中结束 默认情况下为指标启用 jmx 端点 修复了在一致性检查期间迭代 lucene 索引中的所有索引条目的进一步数组索引越界问题。 修复了一致性检查器中的一个问题,如果发现唯一性索引而没有对约束的任何引用,检查器将抛出异常并失败 修复编译表达式的问题,其中错误说得到 NO_VALUE 而不是预期的输入。 当实例遇到大量垃圾收集或虚拟机暂停时,改进了发现系统重新启动/超时行为。 更新 jetty 以解决安全漏洞 CVE-2020-27218

Neo4j 4.2.3

dbms.listQueries 过程包括响应中嵌套查询的所有查询部分 修复了动态禁用后无法再次启用查询记录器的问题,例如 使用 CALL dbms.setConfigValue 在日志中批处理 TxPullRequests 修复在 reduce 表达式中使用聚合可能导致错误结果的错误。 修复了一个错误,即索引扫描将用于错误地解决 OPTIONAL MATCH。 添加 :server disconnect 链接到侧边栏

Neo4j 4.2.4

修复从 3.5 存储升级时,如果存在全文索引,neo4j-admin 副本将失败的错误。 不要在更新系统数据库时清除 ldap auth 缓存 更新 jetty 以解决安全漏洞 CVE-2020-27223 使 SchemaReadRuntimeResult 尊重 numberOfRecords 修复了使用 DUMP DATA 选项删除数据库后导致实例无法重新启动的错误。 浏览器:引入由摩纳哥提供支持的新编辑器

Neo4j 4.2.5

更新 Netty 到 4.1.60 排除 Netty 3 将 jetty 更新至 9.4.39.v20210325 以解决漏洞 CVE-2021-28165 正确尊重日志级别 NONE(例如在 dbms.logs.debug.level)

Neo4j 4.2.6

浏览器:尽可能使用最后一个数据库而不是默认数据库 尽可能使用最后一个数据库而不是默认数据库 修复了长度和大小函数返回 1 而不是对不支持的输入值抛出错误的问题

107 / 5000

Neo4j 4.2.7

修复了收到恐慌后关闭导入的问题 将 –expand-commands 标志添加到 neo4j-admin 命令

501 / 5000

Neo4j 4.2.8

修复了事务上的安全上下文被覆盖以允许运行管理命令但未正确重置为先前状态的错误。 将球衣更新至 2.34 以解决 CVE-2021-28168 将 commons io 提升到 2.9 以解决 VLNDB-239195 修复了通过 Fabric 运行聚合查询会因命名空间错误而失败的错误。 修复了一致性检查器中的一个错误,该错误阻止所有节点索引使用为较大索引设计的索引检查变体。

Neo4j 4.3.0

强调 可操作性 改进的服务器端路由功能 - 服务器端路由已扩展以涵盖更多用例。客户端连接到集群 DBMS 并根据事务类型(只读与读写)和实例类型(领导者与追随者或只读副本)自动执行或重定向查询。事务重定向可以由客户端(客户端路由)或服务器(服务器端路由)编排。更多信息请点击这里。 新的动态设置 – dbms.lock.acquisition.timeout、dbms.transaction.bookmark_ready_timeout、dbms.security.ldap.authentication.attribute、dbms.security.ldap.authorization.user_search_filter、dbms.security.ldap.authorization.user_search_base、dbms。 security.ldap.authentication.user_dn_template 和 dbms.security.ldap.authorization.group_membership_attributes 现在是动态的。 更改扩展命令选项的权限——neo4j.conf 文件可以与扩展命令选项一起使用,并具有更宽松的权限(Linux 和 MacOS 中的所有者:RW 和组:R)。 因果集群中的实例唯一标识——集群成员具有唯一标识。在以前的版本中,成员由其 URI 标识。 使用 neo4j-admin unbind 存档集群状态——当使用 neo4j-admin unbind 实用程序从集群中删除实例时,操作员可以保存其集群状态以进行端口验尸分析和问题解决。 使用种子存储创建数据库——集群 DBMS 中的数据库可以从在其中一个成员中恢复的种子创建。更多信息请点击这里。 重命名用户和角色 - 管理员可以重命名用户和角色而无需重新创建它们。更多信息请点击这里。 SHOW FUNCTIONS 和 SHOW PROCEDURES 命令——管理员可以使用新的 SHOW 命令查看 DBMS 上可用的功能和过程,由基于角色的访问控制安全控制。 CREATE 和 DROP FULLTEXT INDEX 命令——管理员可以使用 CREATE INDEX 和 DROP INDEX 命令创建和删除全文索引。 日志改进——新设置允许管理员自定义查询、安全和一般日志。日志现在具有结构化 (JSON) 和非结构化格式,参数可以限制长度并在需要时进行混淆。可以将查询计划和事务 ID 添加到查询日志中,以改进查询分析。更多信息请点击这里。 备份/恢复增强——Neo4j 4.3 在增量备份、延迟和并行恢复操作方面提供了更多功能。更多信息请点击这里。 许可证目录——Neo4j 4.3 在 Neo4j 主目录下提供了一个新的标准目录来存储许可证文件。 neo4j.conf 文件中的默认设置是 ${NEO4J_HOME}/licenses。 可扩展性和联合 用于创建/删除密集节点的关系链锁——Neo4j 4.3 具有用于写入关系(插入/更新/删除)的改进锁定机制。有了关系链的新概念,关系不再直接连接到关系存储中的开始和结束节点。 只读副本集群——Neo4j 4.3 将集群功能扩展到使用一个或多个只读模式下的只读副本实例,从读写模式下使用的单个实例复制数据。 表现 节点标签和关系类型索引——在 Neo4j 4.3 中添加了一个新的关系类型索引,类似于现有的节点标签索引。节点标签和关系类型索引现在通过使用 INDEX 命令创建和维护为任何其他索引。实际上,如果不需要这些索引,现在可以删除它们,并且如果必须重建它们,它们不会阻止启动。此外,它们通过 SHOW INDEX 命令可见。更多信息请点击这里。 关系类型/属性索引——类似于与节点关联的属性的索引,Neo4j 4.3 为与关系关联的属性提供原生索引功能。更多信息请点击这里。 Cypher Planner 改进 - 为 ORDER BY 和 LIMIT 添加了改进。 isEmpty 内置函数——Neo4j 4.3 提供了 isEmpty() 函数作为一种惯用的方法来测试具有给定数据类型的某些对象的空性。更多信息请点击这里。 开发/语言 exists() 和 IS NOT NULL 功能——IS NOT NULL 是断言对象为空或不为空的首选方式。 exists() 可能与函数混淆,它已被弃用。 转换函数——Neo4j 4.3 包含了转换数字、字符串和布尔值的新函数。 toIntegerOrNull()、toFloatOrNull()、toBooleanOrNull()、toStringOrNull()、toIntegerList()、toFloatList()、toBooleanList() 是将toStringList() 添加到以前版本中可用的现有转换函数中。 安全 每个用户的主数据库——类似于 Linux 用户的主目录,主数据库是数据 Qiángdiào

回到顶部