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)