[server] Close StoreIngestionTask when the last partition of a storage engine is dropped by Helix#20
Merged
sixpluszero merged 13 commits intolinkedin:masterfrom Oct 1, 2022
Conversation
FelixGV
reviewed
Sep 29, 2022
Contributor
FelixGV
left a comment
There was a problem hiding this comment.
Thanks a lot Jialin! Left some minor comments, please take a look.
FelixGV
requested changes
Sep 30, 2022
Contributor
FelixGV
left a comment
There was a problem hiding this comment.
Thanks Jialin, I left a few more comments. Please take a look. We can sync up if needed.
…agePartitionGracefully()
…wn and new SIT creation
2b0b5bd to
67c2d21
Compare
FelixGV
approved these changes
Oct 1, 2022
Contributor
FelixGV
left a comment
There was a problem hiding this comment.
Thanks a lot Jialin! LGTM!
eolivelli
pushed a commit
to eolivelli/venice
that referenced
this pull request
May 26, 2023
ZacAttack
pushed a commit
that referenced
this pull request
Jun 1, 2023
…ion with Kafka (#452) * [push-job] Fix VenicePushJob - loading Kafka configuration * [tests] Fix tests failing due to SASL implementation * [controller][server] Ensure that Kafka SASL properties are preserved (#10) * [samza][pulsar-sink] Pass SASL properties to the Producer * [server][pulsar-sink] More fixes about SASL authentication (#11) - Fix Venice Server loading Kafka SASL parameters - Remove JAAS configuration from PulsarSink tests, Kafka is not configured with SASL - Add a generic `writerConfig` to tune the PulsarSink * [tests] Add Kafka SASL integration tests end-to-end (#20) * Fix build * Fix build * Increase code coverage * fix test
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Close StoreIngestionTask when the last partition of a storage engine is dropped by Helix
This pull request fixes a bug in StoreIngestionTask(SIT) logic: When last partition of a storage engine is dropped but StoreIngestionTask is not close, new consumption request towards the same topic will use the removed empty storage engine which is still associated with the current SIT. However, StorageService will create a separated storage engine and create RocksDB partition in the new storage engine. When drainer is processing and persisting its first message, it will use the old storage engine and found no partition instance in there and thus lead to PersistenceFailureException
Now, it will close SIT when Helix is issuing the OFFLINE->DROPPED message towards the last partition of the storage engine.
When there is a new OFFLINE->STANDBY helix request coming in for the same topic, the KafkaStoreIngestionTask will create open new storage engine and create new SIT and associate to it.
How was this PR tested?
Internal CI Test
Does this PR introduce any user-facing changes?