GitHub
06/25/2025, 9:23 PM<https://github.com/linkedin/venice/tree/main|main>
by misyel
<https://github.com/linkedin/venice/commit/4d118997c852b175f960de4298fe9e14b41d6fc4|4d118997>
- [controller] Add more logging to deferred version swap service (#1888)
linkedin/veniceGitHub
06/25/2025, 10:58 PM<https://github.com/linkedin/venice/tree/main|main>
by sushantmane
<https://github.com/linkedin/venice/commit/af839cef301b18f5af02b2937637e92da5cfb24c|af839cef>
- [admin-tool] Add support to update largest used RT version in admin tool (#1894)
linkedin/veniceGitHub
06/25/2025, 11:32 PM<https://github.com/linkedin/venice/tree/main|main>
by sushantmane
<https://github.com/linkedin/venice/commit/c1382bd5b492ee696ebf48a2bd39fd89c5e02d95|c1382bd5>
- [server] Delete RT offset emission metrics (#1895)
linkedin/veniceGitHub
06/25/2025, 11:38 PM<https://github.com/linkedin/venice/tree/main|main>
by minhmo1620
<https://github.com/linkedin/venice/commit/f6b9f4dd6e66c3c3445ce746f89f8e34bd71d422|f6b9f4dd>
- [controller] Refactor code to reduce call to check access in CreateVersion (#1905)
linkedin/veniceGitHub
06/26/2025, 5:43 PM<https://github.com/linkedin/venice/tree/main|main>
by haoxu07
<https://github.com/linkedin/venice/commit/93fdd6faefce54e8c88c548461adbf15b9dea1f6|93fdd6fa>
- [tc] Add count by value support on client side (#1857)
linkedin/veniceGitHub
06/26/2025, 5:58 PM<https://github.com/linkedin/venice/tree/main|main>
by misyel
<https://github.com/linkedin/venice/commit/a411641599fd8010167dabf2b875867e948800b4|a4116415>
- [server] Mark latch as created in SIT for future versions (#1897)
linkedin/veniceGitHub
06/26/2025, 6:00 PM<https://github.com/linkedin/venice/tree/main|main>
by misyel
<https://github.com/linkedin/venice/commit/2ff2583d3cb1ccb63c31c179b1cddbd1421a574f|2ff2583d>
- [controller] Use controller client for roll forward (#1889)
linkedin/veniceGitHub
06/26/2025, 6:20 PMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
Concurrency Details:
• Each request creates its own response object - no shared state
• Result aggregation happens in request-scoped maps
• Predicate evaluation is stateless and thread-safe
• No blocking calls or synchronization needed - pure computation
• Thread-safe by design - immutable request builders and response objects
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
Unit tests added:
• AvroComputeAggregationRequestBuilderTest: Comprehensive validation tests
• Valid configurations with single and multiple fields
• Invalid bucket definitions (null, empty)
• Null and empty field validation
• Non-existent field detection
• Chaining multiple countGroupByBucket calls
• Boundary cases for field names and bucket names
• AvroComputeAggregationResponseTest: Result processing tests
• All predicate type methods (IntPredicate, LongPredicate, FloatPredicate, DoublePredicate, StringPredicate)
• Complex predicate combinations (AND, OR, nested)
• Null value handling in predicate evaluation
• Utf8 value conversion for string fields
• Type casting error scenarios
• Mixed data types handling
• Edge cases for all predicate methods
Integration tests added:
• ReadComputeValidationTest.testCountGroupByBucketAggregation: End-to-end test
• Creates store with multiple field types (int, long, float, double, string)
• Populates with test data covering various scenarios
• Verifies bucket aggregation on all field types
• Tests all predicate methods for each type
• Verifies complex predicate combinations
• Tests with various data patterns and bucket definitions
Test Coverage:
• Input validation: 100% coverage of error cases
• Response processing: All predicate types and methods covered
• Integration: Full workflow from request to response validated
• Type casting: Proper error handling for type mismatches
• Predicate evaluation: All combination scenarios tested
• Edge cases: Null values, empty results, boundary conditions
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
This is a new feature that doesn't affect existing functionality:
• All changes are backward compatible
• New functionality is opt-in through the new countGroupByBucket API
• Existing client operations remain unchanged
• No changes to wire protocol or storage format
• Existing countGroupByValue functionality remains unaffected
linkedin/veniceGitHub
06/26/2025, 10:44 PMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
N/A just logs
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
06/27/2025, 12:00 AM<https://github.com/linkedin/venice/tree/main|main>
by WhitneyDeng
<https://github.com/linkedin/venice/commit/a41f8b24030a64d921046c7fcd2c6f1c8c89a463|a41f8b24>
- [log-compaction][logs][controller] add logs for debugging & visibility to scheduled log compaction (#1907)
linkedin/veniceGitHub
06/27/2025, 8:33 PMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
06/27/2025, 10:26 PM<https://github.com/linkedin/venice/tree/main|main>
by sushantmane
<https://github.com/linkedin/venice/commit/9db06ddaa13bd8c9f04cb8d6cb24d0428f7792a5|9db06dda>
- [server] Emit versioned storage quota stats and keep SIT open for current store version (#1868)
linkedin/veniceGitHub
07/01/2025, 2:20 AMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
New opt-in server config, as described above.
linkedin/veniceGitHub
07/01/2025, 4:48 AM<https://github.com/linkedin/venice/tree/main|main>
by FelixGV
<https://github.com/linkedin/venice/commit/17684d22b13c2948486dee2d6d6a98a0eb1688e9|17684d22>
- [server][dvc] IngestionTaskReusableObjects.Strategy config (#1909)
linkedin/veniceGitHub
07/07/2025, 9:59 PMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/07/2025, 10:22 PMPROCEED
(continue with the roll forward) or a ROLL_BACK
(do not roll forward and roll back the target region) and the validations will be configurable via implementing the StoreLifecycleHooks
class. To support different implementations of the StoreLifecycleHooks
class, we will need to introduce a new field in the store schema to store the implementation to use
## Solution
Introduce a new field, storeLifecycleHooksConfig
, in the store metavalue and admin operation schema. The storeLifecycleHooksConfig
will be a record and it will contain two fields in the record: storeLifecycleHooksClassName
and storeLifecycleHooksParams
. storeLifecycleHooksClassName
will be the FQCN of the StoreLifecycleHooks
implementation and storeLifecycleHooksParams
will optionally provide additional args to the StoreLifecycleHooks
implementation
The new schema looks like so:
{
"name": "storeLifecycleHooksConfig",
"doc": "Config to specify the class name and params to be used for the store lifecycle hooks",
"type": [
"null",
{
"name": "StoreLifecycleHooksConfig",
"type": "record",
"fields": [
{"name": "storeLifecycleHooksClass", "type": "string"},
{"name": "storeLifecycleHooksParams", "type": {"type": "map", "values": "string"}}
]
}
],
"default": null
}
### Code changes
• Added new code behind a config. If so list the config names and their default values in the PR description.
• Introduced new log lines.
• Confirmed if logs need to be rate limited to avoid excessive logging.
### Concurrency-Specific Checks
Both reviewer and PR author to verify
• Code has no race conditions or thread safety issues.
• Proper synchronization mechanisms (e.g., synchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
n/a. This pr only adds in the new avro schemas.
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/08/2025, 8:55 PMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/09/2025, 6:07 PM<https://github.com/linkedin/venice/tree/main|main>
by ranwang2024
<https://github.com/linkedin/venice/commit/9c3ad76fcca8aab78dab203c267964af9b0e3e8a|9c3ad76f>
- Integrate MultiTaskSchedulerService with HelixVeniceClusterResources, AdminSparkServer and AdminTool (#1817)
linkedin/veniceGitHub
07/09/2025, 6:07 PM/auto_migrate_store
in AdminSparkServer, implemented on both server and client sides, and packaged the client logic into the AdminTool. Operators can now trigger an automatic store migration directly from the command-line tool.
### Code changes
• Added new code behind a config. If so list the config names and their default values in the PR description.
• Introduced new log lines.
• Confirmed if logs need to be rate limited to avoid excessive logging.
### Concurrency-Specific Checks
Both reviewer and PR author to verify
• Code has no race conditions or thread safety issues.
• Proper synchronization mechanisms (e.g., synchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/09/2025, 11:07 PMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
New unit and e2e test
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/10/2025, 5:50 PMcountByValue
and countByBucket
aggregation operations, but lacks comprehensive integration tests to validate these features. This creates several issues:
• Limited Test Coverage: The existing test suite doesn't validate the complete functionality of aggregation operations
• Regression Risk: Without proper integration tests, changes to aggregation logic could introduce bugs unnoticed
• Feature Validation Gap: Users need confidence that aggregation operations work correctly across different data types and scenarios
• Development Confidence: Developers need reliable tests to ensure new features don't break existing aggregation functionality
The current implementation supports complex predicate combinations and multiple data types, but these capabilities aren't thoroughly tested in an integration environment.
## Solution
This PR adds comprehensive integration tests for countByValue
and countByBucket
functionality in the ReadComputeValidationTest
class. The solution provides:
### Test Coverage
• countByValue Tests: Validates value-based aggregation with TopK functionality
• countByBucket Tests: Tests bucket-based aggregation with complex predicate combinations
• Data Type Coverage: Tests all supported types (Float, Integer, Double, Long, String)
• Predicate Coverage: Validates all predicate operations (lt, lte, gt, gte, eq, anyOf)
• Complex Scenarios: Tests AND/OR predicate combinations
### Key Features Tested
// countByValue functionality
- Single field aggregation (jobType, location)
- Multi-field aggregation
- TopK result limiting
- Data type conversion handling
// countByBucket functionality
- All numeric types (Float, Integer, Double, Long)
- String type aggregation
- All predicate operations
- Complex predicate combinations (AND, OR)
- Edge cases and boundary conditions
### Performance Considerations
• Tests use realistic data sizes to validate performance
• Validates memory usage patterns for aggregation operations
• Ensures no memory leaks in predicate evaluation
• Tests concurrent access patterns where applicable
### Code Changes
• Added new integration test methods to ReadComputeValidationTest
• No new configuration required
• No new log lines added
• No concurrency changes (tests are single-threaded)
### Concurrency-Specific Checks
• Code has no race conditions (tests are single-threaded)
• No synchronization mechanisms needed for test code
• No blocking calls in critical sections
• Thread-safe collections not applicable for test code
• Proper exception handling in test scenarios
## How was this PR tested?
• New integration tests added: testCountGroupByValueAggregation()
and testCountGroupByBucketAggregation()
• Modified existing tests: Extended ReadComputeValidationTest
class
• Verified backward compatibility: All existing tests continue to pass
• Performance testing: Validated test execution time and memory usage
• Cross-platform testing: Tests run successfully on different environments
### Test Execution Results
./gradlew internalvenice-test-common:integrationTest --tests "ReadComputeValidationTest"
# All tests pass successfully
# testCountGroupByValueAggregation: PASS
# testCountGroupByBucketAggregation: PASS
# All existing tests: PASS
### Test Coverage Metrics
• Predicate Types: 100% coverage for numeric types (Int, Long, Float, Double)
• String Predicates: 33% coverage (equalTo, anyOf tested)
• Complex Predicates: 100% coverage (AND, OR combinations)
• Data Types: 100% coverage for all supported types
• Edge Cases: Comprehensive boundary condition testing
## Does this PR introduce any user-facing or breaking changes?
• No. This PR only adds integration tests and doesn't modify any existing functionality.
The changes are purely additive and don't affect:
• Existing API contracts
• User-facing interfaces
• Performance characteristics
• Backward compatibility
• Configuration requirements
All existing functionality remains unchanged, and users will not experience any differences in behavior.
linkedin/veniceGitHub
07/10/2025, 8:50 PMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/10/2025, 11:35 PM<https://github.com/linkedin/venice/tree/main|main>
by FelixGV
<https://github.com/linkedin/venice/commit/66b7b57975c9cb1ba14ef1a6247498e6cee08862|66b7b579>
- [tc] Add count by bucket support on client side (#1903)
linkedin/veniceGitHub
07/11/2025, 1:35 AMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/11/2025, 4:39 PM<https://github.com/linkedin/venice/tree/main|main>
by MikeDafi
<https://github.com/linkedin/venice/commit/48f2fab3e650e68517a1ffdd5c2a4a49e0f790e2|48f2fab3>
- [controller] Store Deleted Validation Endpoint (#1869)
linkedin/veniceGitHub
07/11/2025, 5:06 PMda-vinci-client
module. The key updates include adding support for new PubSub methods in SharedKafkaConsumer
, replacing Kafka-specific classes with PubSub equivalents in test cases, and updating method calls to use PubSub abstractions.
### Migration to PubSub Abstractions:
• `SharedKafkaConsumer.java`: Added new methods such as getPositionByTimestamp
, beginningPosition
, and endPosition
, which throw UnsupportedOperationException
to align with the PubSub abstraction layer.
• `KafkaClusterBasedRecordThrottlerTest.java`: Replaced InMemoryKafkaBroker
with InMemoryPubSubBroker
and updated method calls to use getPubSubBrokerAddress
instead of getKafkaBootstrapServer
. [1] [2] [3] [4] [5] [6]
### Test Updates for PubSub Compatibility:
• `StoreIngestionTaskTest.java`: Replaced Kafka-specific classes (InMemoryKafkaBroker
, MockInMemoryConsumer
, etc.) with their PubSub equivalents (InMemoryPubSubBroker
, MockInMemoryConsumerAdapter
, etc.). Updated method calls and object initializations to align with the new PubSub abstractions. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
These changes are part of a broader effort to decouple the codebase from Kafka-specific dependencies and enable support for other PubSub systems.
### Code changes
• Added new code behind a config. If so list the config names and their default values in the PR description.
• Introduced new log lines.
• Confirmed if logs need to be rate limited to avoid excessive logging.
### Concurrency-Specific Checks
Both reviewer and PR author to verify
• Code has no race conditions or thread safety issues.
• Proper synchronization mechanisms (e.g., synchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/11/2025, 6:02 PMVeniceTwoLayerMultiRegionMultiClusterWrapper.getPubSubClientProperties
and VeniceClusterWrapper.getPubSubClientProperties
in to consumer properties to instantiate change log consumer, we could reuse the same integration test logic with specific pub sub client.
### Code changes
• Added new code behind a config. If so list the config names and their default values in the PR description.
• Introduced new log lines.
• Confirmed if logs need to be rate limited to avoid excessive logging.
### Concurrency-Specific Checks
Both reviewer and PR author to verify
• Code has no race conditions or thread safety issues.
• Proper synchronization mechanisms (e.g., synchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/11/2025, 6:27 PMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
Integration tests and will add unit tests once have some consensus on the changes.
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/11/2025, 6:29 PMsynchronized
, RWLock
) are used where needed.
• No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
• Verified thread-safe collections are used (e.g., ConcurrentHashMap
, CopyOnWriteArrayList
).
• Validated proper exception handling in multi-threaded code to avoid silent thread termination.
## How was this PR tested?
• New unit tests added.
• New integration tests added.
• Modified or extended existing tests.
• Verified backward compatibility (if applicable).
## Does this PR introduce any user-facing or breaking changes?
• No. You can skip the rest of this section.
• Yes. Clearly explain the behavior change and its impact.
linkedin/veniceGitHub
07/11/2025, 10:05 PM<https://github.com/linkedin/venice/tree/main|main>
by sixpluszero
<https://github.com/linkedin/venice/commit/7b2db60638bec2f87cb667e63c693b3bbf32906c|7b2db606>
- [samza][producer] Add batch produce support for PUT/DELETE operation in Venice Writer (#1896)
linkedin/venice