[
https://issues.apache.org/jira/browse/CURATOR-116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14043449#comment-14043449
]
ASF GitHub Bot commented on CURATOR-116:
----------------------------------------
Github user Randgalt commented on a diff in the pull request:
https://github.com/apache/curator/pull/13#discussion_r14185554
--- Diff:
curator-recipes/src/main/java/org/apache/curator/framework/recipes/queue/DistributedDelayQueue.java
---
@@ -77,14 +77,22 @@
finalFlushMs
)
{
+ @Override
protected long getDelay(String itemNode)
{
+ return getDelay(itemNode, System.currentTimeMillis());
+ }
+
+ protected long getDelay(String itemNode, long sortTime)
--- End diff --
This can be private, right?
> Ordering of delayed distributed queue is inconsistent
> -----------------------------------------------------
>
> Key: CURATOR-116
> URL: https://issues.apache.org/jira/browse/CURATOR-116
> Project: Apache Curator
> Issue Type: Bug
> Components: Recipes
> Affects Versions: 2.5.0
> Reporter: Cameron McKenzie
> Priority: Minor
> Labels: DelayedDistributedQueue, recipes
>
> The ordering in which elements in the delayed distributed queue are processed
> is inconsistent. Only elements that have reached their expiry time are
> processed, but their actual order is not deterministic due to the logic used
> for sorting. The current time is used during the sorting process, so if an
> element becomes ready for processing half way through the sort, the order is
> not deterministic.
> The current time should be determined at the start of the sort process, and
> this point in time used for all comparisons.
> I believe this is the root cause for CURATOR-115 also, but I cannot reproduce
> CURATOR-115, so I have raised this as a separate defect.
--
This message was sent by Atlassian JIRA
(v6.2#6252)