mirror of
https://github.com/OpenHFT/Chronicle-Map.git
synced 2021-09-13 01:26:12 +00:00
request for ChronicleStampedLock
This commit is contained in:
@@ -0,0 +1 @@
|
||||
image::../../../../../../../../../../../../Public/Pictures/file.png[]
|
||||
+5
@@ -88,6 +88,11 @@ public class DirtyReadOffender {
|
||||
*/
|
||||
} catch (Exception throwables) {
|
||||
throwables.printStackTrace();
|
||||
} finally {
|
||||
System.out.println(
|
||||
" ,,@t=" + System.currentTimeMillis() +
|
||||
" DirtyReadOffender COMMITTED"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+10
-2
@@ -21,7 +21,7 @@ public class DirtyReadVictim {
|
||||
long stamp = 0;
|
||||
System.out.println(
|
||||
" ,,@t=" + System.currentTimeMillis() +
|
||||
" DirtyReadVictim CALLING offHeapLock.tryOptimisticRead()"
|
||||
" DirtyReadVictim ENTERING offHeapLock.tryOptimisticRead()"
|
||||
);
|
||||
ChronicleStampedLock offHeapLock = new ChronicleStampedLock();
|
||||
while ((stamp = offHeapLock.tryOptimisticRead()) == 0) {
|
||||
@@ -29,7 +29,7 @@ public class DirtyReadVictim {
|
||||
}
|
||||
System.out.println(
|
||||
" ,,@t=" + System.currentTimeMillis() +
|
||||
" DirtyReadVictim CALLED offHeapLock.tryOptimisticRead()"
|
||||
" DirtyReadVictim ENTERED offHeapLock.tryOptimisticRead()"
|
||||
);
|
||||
try {
|
||||
chm.acquireUsing("369604101", bond);
|
||||
@@ -48,6 +48,10 @@ public class DirtyReadVictim {
|
||||
" DirtyReadVictim sleeping 60 seconds"
|
||||
);
|
||||
Thread.sleep(60_000);
|
||||
System.out.println(
|
||||
" ,,@t=" + System.currentTimeMillis() +
|
||||
" DirtyReadVictim awakening"
|
||||
);
|
||||
} finally {
|
||||
if (offHeapLock.validate(stamp)) {
|
||||
System.out.println(
|
||||
@@ -64,6 +68,10 @@ public class DirtyReadVictim {
|
||||
" coupon=[" + coupon + "] is *DIRTY*. "
|
||||
);
|
||||
}
|
||||
System.out.println(
|
||||
" ,,@t=" + System.currentTimeMillis() +
|
||||
" DirtyReadVictim EXITED offHeapLock.tryOptimisticRead()"
|
||||
);
|
||||
}
|
||||
/**
|
||||
* ben.cotton@rutgers.edu END
|
||||
|
||||
+2
-1
@@ -69,7 +69,7 @@ public class DirtyReadVictimTest {
|
||||
" DirtyReadVictim OPTIMISTICALLY_READ coupon=" +
|
||||
coupon + " "
|
||||
);
|
||||
|
||||
// THIS Test will pass when ChronicleStampedLock is GA
|
||||
Assert.assertFalse(Boolean.TRUE);
|
||||
} else {
|
||||
System.out.println(
|
||||
@@ -78,6 +78,7 @@ public class DirtyReadVictimTest {
|
||||
" must apply PESSIMISTIC_POLICY (dirty read endured)" +
|
||||
" coupon=[" + coupon + "] is *DIRTY*. "
|
||||
);
|
||||
// THIS Test will execute pass when ChronicleStampedLock is GA
|
||||
Assert.assertFalse(Boolean.FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user