You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Peter Bacsko (JIRA)" <ji...@apache.org> on 2018/09/21 12:24:00 UTC
[jira] [Commented] (OOZIE-3351) Flaky test
TestMemoryLocks#testWriteLockSameThreadNoWait()
[ https://issues.apache.org/jira/browse/OOZIE-3351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16623506#comment-16623506 ]
Peter Bacsko commented on OOZIE-3351:
-------------------------------------
This must be an ordering problem in {{SameThreadWriteLocker}}:
{code:java}
if (token != null) {
coordinator.lockAcquireDone();
log.info("Got lock [{0}]", nameIndex);
sb.append(nameIndex + "-L1 ");
if (token2 != null) {
sb.append(nameIndex + "-L2 ");
}
sb.append(nameIndex + "-U1 ");
...{code}
We should call {{lockAcquireDone()}} only after updating the StringBuffer, just like in the abstract {{Locker}} class:
{code:java}
LockToken token = getLock();
if (token != null) {
log.info("Got lock [{0}]", nameIndex);
sb.append(nameIndex + "-L ");
coordinator.lockAcquireDone();{code}
> Flaky test TestMemoryLocks#testWriteLockSameThreadNoWait()
> ----------------------------------------------------------
>
> Key: OOZIE-3351
> URL: https://issues.apache.org/jira/browse/OOZIE-3351
> Project: Oozie
> Issue Type: Sub-task
> Affects Versions: 5.0.0
> Reporter: Andras Piros
> Priority: Major
>
> The unit test {{TestMemoryLocks#testWriteLockSameThreadNoWait()}} is flaky:
> {noformat}
> 2018-09-21 09:58:36 [INFO] -------------------------------------------------------
> 2018-09-21 09:58:36 [INFO] T E S T S
> 2018-09-21 09:58:36 [INFO] -------------------------------------------------------
> 2018-09-21 09:59:01 [INFO] Running org.apache.oozie.lock.TestMemoryLocks
> 2018-09-21 09:59:01 [ERROR] Tests run: 12, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 24.06 s <<< FAILURE! - in org.apache.oozie.lock.TestMemoryLocks
> 2018-09-21 09:59:01 [ERROR] testWriteLockSameThreadNoWait(org.apache.oozie.lock.TestMemoryLocks) Time elapsed: 0.219 s <<< FAILURE!
> 2018-09-21 09:59:01 junit.framework.ComparisonFailure: expected:<a:[1-L1 a:1-L2 a:1-U1 a:2-N] a:1-U2> but was:<a:[2-N a:1-L1 a:1-L2 a:1-U1] a:1-U2>
> 2018-09-21 09:59:01 at junit.framework.Assert.assertEquals(Assert.java:100)
> 2018-09-21 09:59:01 at junit.framework.Assert.assertEquals(Assert.java:107)
> 2018-09-21 09:59:01 at junit.framework.TestCase.assertEquals(TestCase.java:269)
> 2018-09-21 09:59:01 at org.apache.oozie.lock.TestMemoryLocks.testWriteLockSameThreadNoWait(TestMemoryLocks.java:301)
> ...
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)