You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The user partitioning strategy in use is needed by several different parts of the system. I would like to standardize this and make sure it only gets defined in one place.
Here is a partial list of places where the partitioning info is necessary:
The client needs to know the partitioning strategy to direct the request to the correct velox partition (this means hostname currently, as right now there is one Velox partition per machine).
The server's need to know for a given incoming request whether they are responsible for that user. If it is a user that is directed to the right machine and Velox can't find a model for them, we can assume it is a new user and serve the request. If the request was directed to the wrong machine, then Velox should return an error message.
If Spark retrains user models as well as feature models, each Velox partition should only read the updated models for the users that belong to that partition.
If adding a new Velox machine to the serving cluster, the partitioning strategy is needed to determine how to migrate users to the new cluster member. Similarly, this info is needed for failover if a machine goes down.
The text was updated successfully, but these errors were encountered:
After talking with @dcrankshaw: We shouldn't fail a request that's sent to the wrong partition, we should forward it to the correct partition & log that it needed to do a hop to the correct partition
The user partitioning strategy in use is needed by several different parts of the system. I would like to standardize this and make sure it only gets defined in one place.
Here is a partial list of places where the partitioning info is necessary:
The text was updated successfully, but these errors were encountered: