-
Notifications
You must be signed in to change notification settings - Fork 89
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[da-vinci][server][controller] Fetch latest update schema available f…
…or push status writer in all Venice components (#750) Previously, PushStatusStoreWriter uses PUSH_STATUS_SYSTEM_SCHEMA_STORE's current protocol id as value schema, and relying on a config: PUSH_STATUS_STORE_DERIVED_SCHEMA_ID (default = 1) to as update schema id, and use a hardcoded specific write op record as partial update record. This is wrong as 1-1 is our legacy schema type which is a union with content of [update schema, del op]. The actual static update record is only the first branch of the union. And we found that Fast-Avro fails to deserialize this schema as writer schema and 1-3 as reader schema. Even though vanilla Avro does not throw exception, but it does not give correct deserialized result as well. This PR fixed the above issue by asking all components that use PushStatusStoreWriter to fetch the latest value schema and latest update schema from StoreSchemaFetcher and schema repository. PushStatusStoreWriter will no longer use protocol ID / value schema from AvroProtocolDefinition as it might not be registered. It will also not rely on config to find update protocol ID. This PR also performs some cleanup: Remove PushStatusStoreRecordDeleter and merge functionality into PushStatuStoreWriter. Make PushStatusStoreWriter/PushStatusStoreReader no longer optional in Admin code as it has been rolled out for more than 2 years. Some other code cleanup.
- Loading branch information
1 parent
3cf409e
commit 2e708d3
Showing
19 changed files
with
305 additions
and
343 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
77 changes: 0 additions & 77 deletions
77
...mmon/src/main/java/com/linkedin/venice/pushstatushelper/PushStatusStoreRecordDeleter.java
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.