You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pegasus.apache.org by GitBox <gi...@apache.org> on 2022/01/06 13:17:21 UTC

[GitHub] [incubator-pegasus] empiredan commented on issue #865: Feature: support to update the replication factor of each table

empiredan commented on issue #865:
URL: https://github.com/apache/incubator-pegasus/issues/865#issuecomment-1006584218


   > Good enhancement~
   > 
   > I have some questions about updating table replica count:
   > 
   > 1. There're also cluster-level config called `max_replica_count`, will it be confict if cluster `max_replica_count` is not equal to table `max_replica_count`? Will important features work such as user read/write, learn, load balance, rolling_update?
   > 2. Table `app_info` file will store in each replica disk (_dir/.app_info), if `max_replica_count` is updated, this file should also be updated, how to update it?
   > 3. In your description, `cure` (executed each 10s) will delete redunant replica or add lacking replica. Could you please add some manual test results?
   > 
   > Expecting your reply~
   
   Ok, let's discuss one by one:
   1.  Does cluster-level config mean `max_allowed_replica_count` in https://github.com/XiaoMi/rdsn/pull/963 ? Actually `max_replica_count` is the RF, and `max_allowed_replica_count` is a the upper bound to which an RF can be set. Or we should rename `max_replica_count` as replication_factor to avoid misunderstanding ?
   2. Good question ! This implementation has't written into `.app_info`, this is a bug ! To guarantee the atomicity, I think first the request `set_replica_count` can be replicated to each replica; Received the request, each replica writes it into `slog`, and then writes the new `max_replica_count` into `.app_info`. Even if a replica server fails during the process, the request will not be lost.
   3. As is described in this issue, increasing `max_replica_count` has been tested sufficiently, however decreasing `max_replica_count` has not been tested. I'll test decreasing later to see if redundant replica can be processed correctly.


-- 
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: dev-unsubscribe@pegasus.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pegasus.apache.org
For additional commands, e-mail: dev-help@pegasus.apache.org