[Scala] proposol a new capability mode for maintain core data strucutre in the server

Đang mở
#1,685 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
30/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
scala
Lĩnh vực
backend

Hướng nghiên cứu

Không có tệp, bài kiểm thử hoặc điểm vào nào được nêu. Trước tiên, hãy xác định implementation hiện có của CompatibleMode và các đường dẫn đăng ký hoặc deserialization, sau đó xác định phạm vi cần thiết cho một chế độ add-only và việc đăng ký tường minh các trường có thể xóa; công việc được xem là hoàn tất khi hành vi mới được triển khai và xác minh cho việc tiến hóa dữ liệu tương thích.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement

[Background]
For safe maintain core persistence data compatible are the most consider things in server-side.
In many server-side project, only add new field in every new release version and carefully delete existing field is a good practice usually.

Our COMPATIBLE mode are not check for delete field. There are difficult check safty when release new version.

[Advice]
Add a new CompatibleMode only allow add new field and explicitly give a register process allow ignore field. Such as:

case class Foo(a: Int, b: String, c: Long)

val fury = Fury.builder()..withCompatibleMode(CompatibleMode.ALLOW_NEW_FIELD).build()
fury.registerDeletableField("Foo.c") // which means Foo.c bytes data can ignored when doing deserilaize process.

This can give a great help to check new release version are safe on data structure level.

Ngôn ngữ chính
Java
Star
4.6k
Fork
470
Merge trung bình
9 giờ 28 phút
Pull request đã merge (30 ngày)
33

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của apache/fory

Tất cả issue của apache/fory

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.