GitLink Programming Summer Camp (GLCC) is a summer programming activity for college students nationwide, under the guidance of the China Computer Federation (CCF) and organized by the CCF Open Source Development Committee (CCF ODC). The event will cover nearly a thousand colleges and universities, and will unite various open source foundations, enterprises, communities, and experts with the aim of encouraging young students to participate in real open source software development, enhancing their technical skills, and providing outstanding talent for the open source community. GLCC also provides an open and friendly platform for young students to communicate and hopes to further promote the prosperity and development of the domestic open source community.
The his_config_info table currently records additions, updates, and deletions of the formal configuration versions, allowing users to view the history of configuration changes. However, it has the following issues:
Incomplete History for Beta Configurations:
The history table only records changes for formal versions but does not track the history of gray (beta) configurations. Actions like beta publishing and stopping beta are not recorded. Since the current reconciliation logic is based on the change history, there are issues with pushing consistent beta changes upon server node restarts due to the lack of beta change history. The current values of op_type are Insert - I, Update - U, and Delete - D. We need to add a field to distinguish configuration types, config_type, with values formal for formal versions and beta for beta versions.
Beta Incremental Reconciliation:
Based on the configuration change history, including beta publishing and stopping beta records, we need to implement incremental reconciliation for beta publishing and improve the completeness of beta consistency.
Incomplete Historical Records:
The historical records lack some important information, such as c_use, c_desc, effect, type, and c_schema parameters. This information needs to be included in the history. We need to add an ext_info field in JSON format to store auxiliary information. This auxiliary information should also be restored during rollback (note: rollback for non-formal versions is not supported).
Target
Enhance the configuration history functionality by adding change history for beta (gray) configurations, improving historical record fields, and refining the consistency reconciliation mechanism based on the change history for beta configurations.
Document the entire configuration change process, including both formal and beta releases.
Document functionalities based on configuration change history, including the incremental reconciliation mechanism and configuration rollback mechanism.
Implement change history for beta configurations, incremental reconciliation for beta changes, and improve the completeness of configuration change historical information.
Add relevant documentation and provide an upgrade guide for users.
GitLink编程夏令营(GLCC),是在CCF中国计算机学会指导下,由CCF开源发展委员会(CCF ODC)举办的面向全国高校学生的暑期编程活动。活动将覆盖近千所高校,并联合各大开源基金会、开源企业、开源社区、开源专家,旨在鼓励青年学生通过参加真实的开源软件开发,提升自身技术能力,为开源社区输送优秀人才。为青年学生提供开放友好的交流平台,希望进一步推动国内开源社区的繁荣发展。
Nacos将会作为指导组织参加本次的“GitLink编程夏令营(GLCC)”
背景
当前配置历史 his_config_info 记录了配置的正式版本配置内容的新增,更新及删除,以提供用户查看配置的变更历史。功能当前存如下问题:
目标
对历史记录功能进行补充完善,增加灰度类型的变更历史,完善历史记录字段,基于变更历史完善灰度类型的一致性对账机制。
难度
基础
导师
柳遵飞 liuzunfei@gmail.com
产出要求
能力要求
GitLink Programming Summer Camp (GLCC) is a summer programming activity for college students nationwide, under the guidance of the China Computer Federation (CCF) and organized by the CCF Open Source Development Committee (CCF ODC). The event will cover nearly a thousand colleges and universities, and will unite various open source foundations, enterprises, communities, and experts with the aim of encouraging young students to participate in real open source software development, enhancing their technical skills, and providing outstanding talent for the open source community. GLCC also provides an open and friendly platform for young students to communicate and hopes to further promote the prosperity and development of the domestic open source community.
Nacos will participate as a guiding organization in “GitLink Programming Summer Camp (GLCC)”.
Background
The
his_config_info
table currently records additions, updates, and deletions of the formal configuration versions, allowing users to view the history of configuration changes. However, it has the following issues:Incomplete History for Beta Configurations: The history table only records changes for formal versions but does not track the history of gray (beta) configurations. Actions like beta publishing and stopping beta are not recorded. Since the current reconciliation logic is based on the change history, there are issues with pushing consistent beta changes upon server node restarts due to the lack of beta change history. The current values of op_type are Insert - I, Update - U, and Delete - D. We need to add a field to distinguish configuration
types
,config_type
, with values formal for formal versions and beta for beta versions.Beta Incremental Reconciliation: Based on the configuration change history, including beta publishing and stopping beta records, we need to implement incremental reconciliation for beta publishing and improve the completeness of beta consistency.
Incomplete Historical Records: The historical records lack some important information, such as c_use, c_desc, effect, type, and c_schema parameters. This information needs to be included in the history. We need to add an ext_info field in JSON format to store auxiliary information. This auxiliary information should also be restored during rollback (note: rollback for non-formal versions is not supported).
Target
Enhance the configuration history functionality by adding change history for beta (gray) configurations, improving historical record fields, and refining the consistency reconciliation mechanism based on the change history for beta configurations.
Difficulty
Basic
Mentor
Zunfei Liu (liuzunfei@gmail.com)
Output Requirements
Technical Requirements