Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: data verification during server restart #423

Closed
2 tasks done
cubxxw opened this issue May 25, 2023 · 13 comments
Closed
2 tasks done

Feature: data verification during server restart #423

cubxxw opened this issue May 25, 2023 · 13 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Milestone

Comments

@cubxxw
Copy link
Contributor

cubxxw commented May 25, 2023

Checklist

  • I've searched for similar issues and couldn't find anything matching
  • I've discussed this feature request in the OpenIMSDK Slack and got positive feedback

Is this feature request related to a problem?

❎ No

Problem Description

Add a data verification mechanism to prevent dirty data after the server restarts

Solution Description

At present, our server does not verify data after restarting, which may cause dirty data to appear in the system. I propose to add a data verification mechanism to verify the data after the server is restarted to ensure the correctness and integrity of the data.

Benefits

  1. You can discover and repair dirty data as soon as possible after the server restarts to ensure the accuracy and integrity of system data. This is critical for many business systems.
  2. Add a periodic data verification mechanism to detect data anomalies earlier and reduce losses. This is especially important for business-critical data.

Potential Drawbacks

none

Additional Information

More details, such as customized verification rules for different business data. The importance of the data is divided into different levels, and a differentiated verification strategy is adopted.

@cubxxw cubxxw added the kind/feature Categorizes issue or PR as related to a new feature. label May 25, 2023
@cubxxw cubxxw added this to the Large refactoring efforts milestone May 25, 2023
@cubxxw
Copy link
Contributor Author

cubxxw commented May 25, 2023

https://github.com/Stone-afk Discuss it here or in slack

@Stone-afk
Copy link

1

@Stone-afk Stone-afk removed their assignment May 26, 2023
@Stone-afk
Copy link

click the wrong place =。=

@cubxxw
Copy link
Contributor Author

cubxxw commented May 26, 2023

LGTM

@Stone-afk
Copy link

???

@skiffer-git
Copy link
Member

A separate module (rpc) needs to be added to manage sequences. Redis is used for caching, while MySQL is used for persistent storage.

@skiffer-git
Copy link
Member

Sequence Manager Module:

  1. Provides several interfaces to external entities, which can be viewed specifically in RedisModel.go.
  2. Saves the maximum sequence to MySQL in steps of 100.
  3. When restarting, it loads the sequence from MySQL. If data anomalies are discovered, it directly increments the maximum sequence by 100.

@kubbot
Copy link
Member

kubbot commented Aug 17, 2023

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@kubbot kubbot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 17, 2023
@cubxxw
Copy link
Contributor Author

cubxxw commented Aug 17, 2023

@Stone-afk how are u?

@Stone-afk
Copy link

This problem is a bit more complicated than I imagined, and getting familiar with the project code takes some time. In recent months, I have been very busy with work and cannot find time to do it. Brother, why not assign it to other developers.

@Stone-afk Stone-afk removed their assignment Aug 17, 2023
@cubxxw
Copy link
Contributor Author

cubxxw commented Aug 17, 2023

This problem is a bit more complicated than I imagined, and getting familiar with the project code takes some time. In recent months, I have been very busy with work and cannot find time to do it. Brother, why not assign it to other developers.

okkey

@kubbot kubbot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 18, 2023
@cubxxw cubxxw modified the milestones: v3.1, v3.4 Sep 28, 2023
@kubbot
Copy link
Member

kubbot commented Mar 2, 2024

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@kubbot kubbot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 2, 2024
@kubbot
Copy link
Member

kubbot commented Mar 11, 2024

This issue was closed because it has been stalled for 7 days with no activity.

@kubbot kubbot closed this as not planned Won't fix, can't repro, duplicate, stale Mar 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
Status: Done
Development

No branches or pull requests

4 participants