qqu0127 opened a new issue, #2198: URL: https://github.com/apache/helix/issues/2198
**Is your feature request related to a problem? Please describe.** The use of write-through cache in https://github.com/apache/helix/blob/5a4cfc71a5bca3e5d87bafc627eb3b571deb162d/helix-view-aggregator/src/main/java/org/apache/helix/view/aggregator/ViewClusterRefresher.java#L53 It is a border line bug. During each refresh cycle, this local cache is compared with source cluster data, the delta computed and written to both local cache and view cluster data. The refresh is triggered only when cluster change happens on source cluster data. However, there is no synchronization between local cache and view cluster data. It becomes a problem if local cache and remote data (source of truth) diverged. If the view cluster data is changed by other app, the system may enter eventual inconsistency until human involvement (reset the resource state to force trigger a sync and refresh) **Describe the solution you'd like** The issue occurs because the original design has a false assumption, only the current app is updating the view cluster data. To fix this, we could add a synchronization mechanism to pull data from view cluster. If a divergence is detected, a refresh should be triggered to fix the remote data. Enforcing cluster data access with ACL is another approach, but that entails much more changes and assumption change, it's not ready yet. **Additional context** Add any other context or screenshots about the feature request here. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
