alirezazamani commented on a change in pull request #1523:
URL: https://github.com/apache/helix/pull/1523#discussion_r520904922



##########
File path: 
helix-core/src/main/java/org/apache/helix/common/caches/TaskDataCache.java
##########
@@ -267,6 +277,10 @@ public void updateWorkflowContext(String resourceName, 
WorkflowContext workflowC
    * Update context of the Workflow or Job
    */
   private void updateContext(String resourceName, ZNRecord record) {
+    if (record != null && _initialContextMapHashcode.containsKey(resourceName)
+        && 
_initialContextMapHashcode.get(resourceName).equals((record.toString().hashCode())))
 {
+      return;
+    }

Review comment:
       Yeah, your point is true since the possible input of hashcode is bigger 
than the possible outputs. However, since we convert the input to a string, the 
chance is pretty low (note that it will not be random strings and input string 
is derived from the ZNRecord). Also, hash collisions usually happen in short 
size strings. We had other options like deep copy and etc. but that options 
could cause memory and GC issues.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to