Skip to content

20240203‐EN

WangLiang/王良 edited this page Feb 5, 2024 · 9 revisions

中文版


Meeting Host: @WangLiang(wangliang181230

Attendees (PPMC only, see Appendix for other attendees): @Jimin、@ChenJianbin、@WangLiang、@Yixia、@Liuyuecai

Next biweekly meeting:

  • Time: 2024/2/17 is the Spring Festival holiday in China, Pause once. Tentatively scheduled for the 2024/3/2. (If there are any changes, we will notify separately. Please follow the email-list: [email protected], [email protected])
  • Host: @WuJiangke(xingfudeshi

Completed tasks(Done)

  1. Discussion on Library Migration Scope @Jimin done

    • Seata Java, seata go, k8s, ctl @DongJunduo, official website, simple (Java, go)
  2. ASF ICLA contributor signature: @Jimin

    • Public email template done
    • Contact the corresponding developer Done via email after database migration
  3. Review email template: @Jimin

    • Provide review email template writing
    • Feedback with issues
  4. Incubation progress synchronization @Jimin

    • The legal issue has been resolved, don
    • Reported to Apache Secretary Done
  5. Supplementary documents: Development history done, user guide @YinXiangkun, configuration document split @ChenJianbin, upgrade document split @ChenJianbin, deployment document split @ChenJianbin @Jimin @YinXiangkun

    • Usage guide split completed (completed, go to be completed)
    • Upgrade document split completed (completed)
    • Configuration document (completed) (Jianbin), deployment document ✅
  6. Collect contributor information with contributions greater than 100 lines and trace it back to @Yunqing done

    • It has been sent to the DingTalk group, with 16 such @users.noreply.github.com emails; And 17 people who couldn't find their email;
  7. Compliance and security @LiuQiufeng @Jimin done

    • The default language has been changed to English; Done
    • The official website has added license check, dependency check, license, and URL updates; Done
    • The commercial link has been removed; Done
    • The maintainer list has been removed; Done
    • The security vulnerabilities on the official website have been fixed; Done
    • User registration removal; Done
    • Note: It is not allowed to have significantly the same code as other Apache repositories
  8. Baidu search traffic decline issue (according to seata.apache.org, not seata.io) @LiuQiufeng

    • The automatic generation of sitemap.xml and site.txt by CI has been completed
    • The content pre rendering transformation has been completed
    • The API's automatic reporting to Baidu function has been completed, but the amount given by Baidu is very small
  9. Abandon the language sparrow; Migration of historical documents to wiki @LiuYuecai @Yixia @SummerCodeTutor

    • Scattered documents do not migrate done
    • Design, extracurricular materials, and other documents need to be migrated (Java, go merged with seata main repository wiki storage) done
    • New directory storage (completed)
    • Migration of documents related to summer code to the corresponding directory (priority given to project completion in this year's plan design) @ChenJianbin @WangLiang @LiuYuecai done
    • The design documents/open source summer have all been migrated; There is no need to migrate the weekly meeting, just give the old address to the wiki;
  10. Single test coverage target @Jiawei @WangZhongxiang

    • seata-core @WangZhongxiang done
    • seata-common @Jiawei done
  11. Disposal of backlog PR @ChenJianbin @LiuYuecai

    • Java: Unmanned items before May 2022 have been closed and left messages, except for some important ones (completed)
  12. 1.8.0 + 2.0.0 documentation, releaseNotes, and samples updates @Yixia

    • 1.8.0 + 2.0.0 releaseNotes done
    • Email sending standards, same transaction mode, one business scenario @Yixia Done
  13. Branch maintenance. Maintenance plan public document @JiangJunmin done

    • Maintain by version, only maintain the last 3 versions (including the latest version) merge, done
  14. Compatibility plan for new and old warehouses. Sort out APIs, @YinXiangkun (already sorted out, to be discussed separately)

    • User API sorting, Saga completed (12.9), done (12.23) @YinXiangkun done
  15. Compatibility testing (JDK, Arch, Spring core+boot, Druid) @WangLiang

    • OS, JDK, Spring Boot, Compatibility Test PR, Completed
    • Separate workflows to improve parallelism; Don't do it for now.
  16. Confirm the use of TCC and whether it is necessary to be compatible with special usage methods @Yixia @Zongjie (follow up with relevant PR)

    • Unified specification: The Java TCC annotation standard is unified and printed on the implementation class. After completing the rm annotation, it needs to be disclosed in the document. In addition, the LocalTCC annotation should be discarded and the TwoPhase annotation should also be used; Done
  17. Baidu search traffic decline issue (according to seata.apache.org, not seata.io) @LiuQiufeng

    • Ranking has increased and the official website is at the top. Done (old domain name, completed)
  18. Package migration: io.seata -> org.apache.seata

    • Merge the current PR as soon as possible and handle it uniformly @Jimin done 2/3

Lecture items

    1. PPMC's understanding of Apache policies and compliance needs to be improved
    1. Try to use email and communicate in English as much as possible
    1. Registration for the competition, due tomorrow at 1.21 (Performance Competition Function Design), everyone is actively participating
    1. Task lists, etc. can be sent to email groups:
    • Vulnerability

Ongoing tasks(Doing)

  1. Compliance and security @LiuQiufeng @Jimin doing

    • Logo renovation:@LiuQiufeng done
    • English blog; From 0 to 1; Translate the existing one; Todo @Yunqing has completed 16 articles, and all article title placeholders have been added. There are still 30-40 articles @Yuanxin, and more than 10 have been completed in the past two weeks; (Expected to be completed in 1-1.5 months)
    • 41 front-end security vulnerabilities @Jimin, awaiting review merge, (2/3: 18 remaining vulnerabilities remain unresolved)
    • Seata go has 5 remaining vulnerabilities @Yixia Monthly financial target next week (all fixed) done
    • There are still 125 seata samples left. @Yixia Also to be launched in summer, with pre dependencies (PR has been submitted, create a new branch, merge it first, and run to see if there are any problems) @Jimin to be confirmed
      • Simple is running in a new format, and the code specifications need to be compatible and modified @Yixia
    • https://github.com/apache/incubator-seata/discussions/6233 Compliance related issues
      • External link: @LiuQiufeng @Jimin
      • Apache Logo: Add Apache elements to the logo of Seat.
    • Basic work completed:
      • Next week, the first round of acceptance will be conducted by the supervisor. An email has been sent and the supervisor has reviewed it, leaving only the two issues discussed above.
      • Problem: The domain name of the official website document has not been switched. The introduction of slogan's seata in the first month has been improved in the origin section @Jimin @LiuQiufeng done
    • Part of page 301 redirects to 404 Not Found: @LiuQiufeng @Jimin
    • When adding a node to a cluster, it is necessary to verify whether the node is legal: @ChenJianbin (2/3 new)
  2. Baidu search traffic decline issue (according to seata.apache.org, not seata.io) @LiuQiufeng

    • Official website keyword optimization (long-term): The first two weeks have not been processed yet, and we will work together to improve the page experience in the future
    • Improve page experience score; Todo (Phase 2; Phase 1 focuses on compliance first;
    • There is an issue with the jump format. The link under the new domain name needs to be manually submitted for modification, and a quick migration process is required. URL mapping
    • The description of the official website found on Baidu, content optimization, and current effects are shown in three screenshots: (priority processing)
      • screenshot
      • screenshot
      • screenshot
  3. 1.8.0 + 2.0.0 documentation, releaseNotes, and samples updates @Yixia

    • Java sample (new version not yet released, no need to upgrade), seata version upgraded to 2.0, public logic optimization, progress completed 7, 40%. (PR has been submitted, but further optimization is needed)
  4. Compatibility plan for new and old warehouses. Sort out APIs, @YinXiangkun (already sorted out, to be discussed separately)

    • State Machine Designer Framework Selection and Basic Framework (12.9) First Version Completed (12.23) (PR Completed, awaiting review; after individual branch development is completed, submit to 2. x branch separately) @YinXiangkun
  5. Log optimization: (Overall progress: less than 20%) (@Jimin PR has been submitted and meets the requirements of internationalization. The stack generated has corresponding errorCode, and a link chain will be displayed in the error message to the FAQ page.)

    • Log formatting input: info, error (the format has been determined, replace the 'log. error' and other fields with the new todo);
    • Error code has been raised for PR, awaiting review @Jimin (internal exceptions are all sea exceptions, packaged uniformly, please follow the specifications in the future)
    • Independent log printing (now framework and business logs mixed together) todo
  6. Single test coverage target of 70% @WangZhongxiang leads @Jiawei (2/3: no progress in the first two weeks)

  7. Capacity building for integrated testing and regression @Jiawei @XiongJingliu

    • Summer code e2e integration testing framework, Docker composition, to be confirmed (plan stage)
    • Run integration testing afterwards
    • Redis needs to test version compatibility
  8. Compatibility testing (JDK, Arch, Spring core+boot, Druid) @WangLiang

    • Test MySQL Driver version; Compatibility testing of different versions of workflow; View together with the testing framework (to be completed by the testing framework)
  9. Performance benchmark @Yixia (overall framework has been built) (2/3: no progress yet)

    • Only testing framework consumption, SQL logic
    • Open source stress testing tools assist in establishing benchmarks
    • Including graphical representation (this meaning is yet to be determined)
    • Determine the addition of new module implementations;
    • Performance benchmark issues;
    • POC will demonstrate to everyone @Yixia Todo
  10. Mock test @Minghua (4 PR have been submitted, awaiting review merge)

    • Preliminary review has been conducted. Next week, a separate PR will be provided for mock server, and some content will mention sea samples
    • Add test cases @Minghua (PR has been merged, but single testing often fails and needs to be reviewed again to see if it can be put into use) (@Jimin trace)
  11. Disposal of backlog PR @ChenJianbin @LiuYuecai

  12. Package migration: io.seata -> org.apache.seata

    • Merge the current PR as soon as possible and handle it uniformly@Jimin done
  13. Confirm the use of TCC and whether it is necessary to be compatible with special usage methods @Yixia @Zongjie (follow up with relevant PR)

    • For the reminder of how to use TCC annotations, if the second stage annotation is typed on the interface, the default behavior is: supported RPC framework, warning prompt; Unsupported RPC framework, with direct exceptions. The above behavior can be controlled by the same switch to determine whether to display warning log prompts or exception prompts. Todo (PR to be submitted)
  14. Seata go direction

    • Compliance governance: @Yixia @Jimin @LiuYuecai
      • Warehouse, governance of some dependency packages, CVE security vulnerabilities: done
      • ModelName to be adjusted
    • Construction and Implementation of the Seata Go Saga Framework @Yixia @YinXiangkun @XiongJingliu (Overall Progress: 60-70%)
      • Develop and complete preliminary tasks[ https://github.com/apache/incubator-seata/wiki/20231213 ]
      • We have initially merged some PRs and there will be a demo in the coming year.
    • Align the features and bugfix of Seata Java, currently aligned with version 1.5.1, which needs to be upgraded (modify according to 2. x and not maintain the dual branch strategy) @LiuYuecai has already marked it
      • I have made a list: the list is clear, 2 issues have been submitted, and the remaining issues need to be submitted (one of which is being followed up on @TangRulin)
  15. Authentication: @JiangJunmin

    • Authentication of TM's request and RM's request (PR submitted, pending review)
  16. Integrated RocketMQ Task Claim: (Minghua)

  17. Used by reserved plan discussion @ChenJianbin

  18. API compatibility:

    • Priority compatibility for major scenarios: Completed, @YinXiangkun done
    • Server compatibility:
      • Old io. seata class name exists in JSON serialization, completed @ChenJianbin done
      • The data in Raft mode is compatible with each other and can only be upgraded to server2.1 or above (note: Raft currently has fewer users, so data compatibility does not need to be considered temporarily) @ChenJianbin
    • RM/TM API: Share in groups and divide tasks. (@Jimin trace)
      • Interceptor failure issue: Keep the name and package name of the old interceptor@Jimin
      • TCC: @Yixia
      • SAGA: @Yin Xiangkun
      • RPC: @Jimin
      • Universal: @WuJiangke

Matters to be discussed

  1. resource-id + application-name unique identifier confirmation @ChenJianbin has a lower priority and currently does not have time (we will initiate further discussions when we have time)

    • resource-id may be duplicated, leading to issues with distribution. Ensure uniqueness, and the final solution is tentative. Please reschedule the meeting for discussion
      • Damang Database: Only one schema can be filled in (confirmed with Damang technical personnel)
    • Next meeting communication, prepare documents; Require dynamic scalability;
  2. Seata go direction:

    • Ecological expansion: Bilibili and other service frameworks @Jimin Byte @HaoHongfan. See if we can do it again next week or not by the end of January. (I talked to Byte's Cloud-We-GO and found that the article is hanging on both sides. They will help review it.)
  3. Console token automatically refreshes @LiuQiufeng scheme completed done (pending voting, deadline Monday, 20231225) Junmin PR next week

  4. TYPE_SEATA_MERGE messages require an independent thread pool to handle @ChenJianbin Todo

  5. The issue of the startup sequence of RM/proxy init @Haitao will start investing at the end of January

    • TM/RM not initialized, rm registered, no longer ignored, direct exception; TODO, confirm io.seata.core.rpc.netty.RmNettyRemotingClient#registerResource getClientChannelManager().getChannels().isEmpty()
    • The plan has been determined, PR is under development, progress: 70% @Haitao
  6. Jackson is strongly dependent on scope provided and has been modified to compile dependency @Yixia @Haitao

    • Low priority: @Haitao
  7. 2.1 version core synchronization: (marked with * as important, must be uploaded)

    • Multi version protocol PR split, not included in plan 2.1;
    • Console configuration (linked to various configuration centers for push pull), @WangLiang 2.1 version not available, separate meeting for discussion; (When the task is sent out, if the PR can be reused, reuse it; if not, restart the PR)
    • Saga enhancement; Console Saga designer redesign; Drive front-end resources and keep up with tasks;
    • Function enhancement: done
    • Insert console: done (implemented by triggering nodejs script through Maven plugin)
    • Parallel tasks (PR not merged)
    • Saga Trace Spring: PR has been submitted, but due to package name adjustment, it needs to be adjusted again. We will review it later.
    • Priority authentication, Junmin. Version 2.1 is required, please let me know if there are any issues
    • Token renewal: If version 2.1 cannot catch up, it will not be available
    • SQL parser: remove
    • Error code, merge in the first version first;
    • Old io. seata APIs are compatible;
    • RocketMQ integration
  8. Multiple threaded branch registration rollback sequence error or omission

    • [Issue # 6311: The issue of concurrent use of seata by multiple threads]( https://github.com/apache/incubator-seata/issues/6311
    • Resulting in issues with data dependent branches and incorrect rollback order@ChenJianbin (Plan to be discussed: performance and consistency issues, need to be discussed in a meeting again)
    • Multiple threads create multiple branches, and when the transaction resolution is rolled back, there are still branches registered, resulting in one less branch being read during the rollback, causing the rollback order to be out of order, and rolling back the transaction.
    • The solution can be to merge and roll back, for example, the same resource can be rolled back at once in a single distribution, which can avoid the problem of multiple distributions and possible incorrect rollback order. When distributed locally, it is completely possible to select for update to query the corresponding undo log of xid and roll back according to the local timestamp.
    • The disadvantage of undo is that its datatime accuracy needs to be accurate to the nanosecond level
  9. Discussion on compatibility issues between high and low versions of Server:

    • Raft mode:
      • Port synchronization issue (solution: metadata synchronization to solve this problem)
    • Protocol solution:
      • sofa-bolt: @Yixia synchronize the issue
      • grpc:
      • python:
  10. Confusion issue with articles related to Seata on the market: @Jimin


Issue Claim

Issue Description Github ID Status
configuration log output · Issue #6191 · apache/incubator-seata (github.com) 按照配置所属的模块做日志输出 王良 pr review
xa 不支持 org.mariadb.jdbc:mariadb-java-client:3.x.x 版本 · Issue #5454 · apache/incubator-seata (github.com) 支持3.x的mariadb driver wt-better、@清铭 todo
复合主建自增表结构,插入多行数据且未携带主键值时执行异常 · Issue #5043 · apache/incubator-seata (github.com) 限制sql使用,比如要么都没有pk,要么都有pk,不允许批量插入的时候部分有,部分无的情况 建国 为BUG,需处理
seata1.5.2主键中带有逗号导致获取全局锁lock key值错误 · Issue #5136 · apache/incubator-seata (github.com) pk存在逗号,导致竞争锁不准的bug
1. 文档标注
2. 客户端校验包含逗号直接报错
3. 协议版本协商功能
4. 含有逗号的base64处理+特殊标识
俊敏 done:1、2,undo: 3、4

PR Review

PR Description Reviewer Status
feature: saga remove spring by wt-better · Pull Request #6017 · apache/incubator-seata (github.com) 清铭,健斌,宗杰,王良 处理包名再review
feature: Saga annotation by leezongjie · Pull Request #5300 · apache/incubator-seata (github.com) 健斌,亦夏,王良,清铭 依赖5399;拉会沟通 @亦夏(处理包名再review)

Other matters

  1. E2E Integration Testing Framework Performance Demonstration (February 3, 2024)
    • Container arrangement
    • YAmL file defines the testing process, eliminates code intrusion, and forms a workflow
    • Can the workflow meet the testing framework on Dubbo's end

Attendees of this meeting (only PPMC)

@Jimin、@ChenJianbin、@WangLiang、@Yixia、@LiuYuecai

Appendix: Other Attendees

@LiuQiufeng、@WangZhongxiang、@YinXiangkun、@JiangJunmin、@XiongJingliu、@TangRulin、@HaoHongfan、@HuShuli

Clone this wiki locally