-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test 2886 #19
base: master
Are you sure you want to change the base?
Conversation
ZkBucketDataAccessor always complete scheduled GC
Here's the summary of the provided GitHub pull request patch: IssuesNo specific issues were mentioned in the provided patch. DescriptionThis pull request introduces changes to the Apache Helix codebase, primarily focusing on improving the maintenance management service and the ZkBucketDataAccessor. The main changes include:
These changes aim to improve the reliability and efficiency of instance health checks and data management in Apache Helix. TestNew tests and modifications to existing tests were introduced:
Changes that Break Backward CompatibilityN/A DocumentationN/A |
Here's the summary of the provided GitHub pull request patch: IssuesNo specific issues were mentioned in the provided patch. DescriptionThis pull request introduces changes to the Apache Helix codebase, primarily focusing on improving the maintenance management service and the ZkBucketDataAccessor. The main changes include:
These changes aim to improve the reliability and efficiency of instance health checks and data management in Apache Helix. TestSeveral tests were modified and added:
Changes that Break Backward CompatibilityN/A DocumentationN/A |
Here's the summary of the provided GitHub pull request patch: IssuesNo specific issues were mentioned in the provided patch. DescriptionThis pull request introduces changes to the Apache Helix codebase, primarily focusing on improving the maintenance management service and the ZkBucketDataAccessor. The main changes include:
These changes aim to improve the reliability and efficiency of instance health checks and data management in Apache Helix. TestNew tests and modifications to existing tests were introduced:
Changes that Break Backward CompatibilityN/A DocumentationN/A |
Here's the summary of the provided GitHub pull request patch: IssuesNo specific issues were mentioned in the provided patch. DescriptionThis pull request introduces changes to the Apache Helix codebase, primarily focusing on improving the maintenance management service and the ZkBucketDataAccessor. The main changes include:
These changes aim to improve the reliability and efficiency of instance health checks and data management in Apache Helix. TestSeveral tests were modified and added:
Changes that Break Backward CompatibilityN/A DocumentationN/A |
Here's the summary of the pull request based on the provided patch: Issues[apache#2885] - Controller can violate fault zone placement constraints during intermediate state DescriptionThis pull request addresses two main issues:
The changes include:
TestNew test added:
Modified test:
Changes that Break Backward CompatibilityN/A DocumentationN/A |
Here's the summary of the pull request based on the provided patch: Issues[apache#2885] - Controller can violate fault zone placement constraints during intermediate state DescriptionThis pull request addresses two main issues:
The changes include:
TestNew test added:
Changes that Break Backward CompatibilityN/A DocumentationN/A |
Here's the summary of the pull request based on the provided patch and related issues: Issues[apache#2885] - Controller can violate fault zone placement constraints during intermediate state DescriptionThis pull request addresses two main issues:
The changes include:
TestA new test method Changes that Break Backward CompatibilityN/A DocumentationN/A |
Here's the summary of the pull request based on the provided patch: Issues[apache#2873] - ZkBucketDataAccessor always complete scheduled GC DescriptionThis pull request modifies the
These changes aim to enhance the reliability and efficiency of the ZooKeeper bucket data management and maintenance processes in Apache Helix. TestNew test added:
Modified test:
Changes that Break Backward CompatibilityThe DocumentationN/A |
Great code. Brilliant code. Some might even say this is the best code ever written |
DescriptionThis pull request introduces changes to improve the garbage collection (GC) mechanism in the
These changes aim to address the issue where GC tasks were being constantly rescheduled and cancelled in high-frequency write scenarios, preventing them from executing. TestA new test method
Changes that Break Backward CompatibilityThe DocumentationN/A |
DescriptionThis pull request introduces changes to improve the garbage collection (GC) mechanism in the
These changes aim to address the issue where GC tasks were being constantly rescheduled and cancelled in high-frequency write scenarios, preventing them from executing. TestA new test method
Changes that Break Backward CompatibilityThe DocumentationN/A |
Here is my summary of the pull request based on the provided patch: DescriptionThis pull request makes changes to the
These changes aim to guarantee that a GC will occur within the TTL delay from any write, addressing the issue where GC tasks were not being executed in high-frequency write scenarios. TestA new test method
Changes that Break Backward CompatibilityN/A DocumentationN/A |
@@ -800,6 +802,35 @@ protected Map<String, Boolean> getInstanceHealthStatus(String clusterId, String | |||
return healthStatus; | |||
} | |||
|
|||
// Adds the result of the min_active replica check for each stoppable check passed in futureStoppableCheckByInstance | |||
private void addInstanceMinActiveReplicaCheck(Map<String, Future<StoppableCheck>> futureStoppableCheckByInstance, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Issues: Potential race condition in addInstanceMinActiveReplicaCheck method
Rationale: The method uses a shared Set (possibleToStopInstances) which is modified inside a loop. This could lead to race conditions if the method is called concurrently. Consider using a thread-safe collection or synchronizing access to this set.
- Set<String> possibleToStopInstances = new HashSet<>(toBeStoppedInstances);
+ Set<String> possibleToStopInstances = Collections.synchronizedSet(new HashSet<>(toBeStoppedInstances));
@Test(dependsOnMethods = "testLargeWriteAndRead") | ||
public void testGCScheduler() throws IOException, InterruptedException { | ||
long gcTTL = 1000; // GC schedule for 1 second after write | ||
ZkBucketDataAccessor fastGCBucketDataAccessor = new ZkBucketDataAccessor(_zkClient, 50 * 1024, gcTTL); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Issues: Potential resource leak in TestZkBucketDataAccessor
Rationale: The ZkBucketDataAccessor instance 'fastGCBucketDataAccessor' is created but never closed. This could lead to resource leaks. Consider using try-with-resources or explicitly closing the accessor after use.
- ZkBucketDataAccessor fastGCBucketDataAccessor = new ZkBucketDataAccessor(_zkClient, 50 * 1024, gcTTL);
+ try (ZkBucketDataAccessor fastGCBucketDataAccessor = new ZkBucketDataAccessor(_zkClient, 50 * 1024, gcTTL)) {
DescriptionThis pull request makes several changes to improve the behavior of the
These changes address issues related to GC task scheduling in high-frequency write scenarios and improve the handling of minimum active replica checks. TestNew test added:
Modified test:
Changes that Break Backward CompatibilityThe removal of DocumentationN/A |
@palmier describe |
Issues
Controller can violate fault zone placement constraints during intermediate state apache/helix#2885
(throw new Exception to avoid ugly NPE apache/helix#200 - Link your issue number here: You can write "Fixes #XXX". Please use the proper keyword so that the issue gets closed automatically. See https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue
Any of the following keywords can be used: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved)
Description
(Write a concise description including what, why, how)
Tests
(List the names of added unit/integration tests)
(If CI test fails due to known issue, please specify the issue and test PR locally. Then copy & paste the result of "mvn test" to here.)
Changes that Break Backward Compatibility (Optional)
(Consider including all behavior changes for public methods or API. Also include these changes in merge description so that other developers are aware of these changes. This allows them to make relevant code changes in feature branches accounting for the new method/API behavior.)
Documentation (Optional)
(Link the GitHub wiki you added)
Commits
Code Quality
(helix-style-intellij.xml if IntelliJ IDE is used)