Details
Description
f I make a fresh clone of the repo, and then run mvn package, I get a test failure:
------------------------------------------------------------------------------- Test set: org.apache.phoenix.schema.PMetaDataImplTest ------------------------------------------------------------------------------- Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec <<< FAILURE! - in org.apache.phoenix.schema.PMetaDataImplTest testEviction(org.apache.phoenix.schema.PMetaDataImplTest) Time elapsed: 0.027 sec <<< FAILURE! java.lang.AssertionError: expected:<3> but was:<2> at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.failNotEquals(Assert.java:834) at org.junit.Assert.assertEquals(Assert.java:645) at org.junit.Assert.assertEquals(Assert.java:631) at org.apache.phoenix.schema.PMetaDataImplTest.testEviction(PMetaDataImplTest.java:98)
This appears to be a bug in PMetaDataImpl.java. The test looks right.
Table b should get evicted first, which creates enough space for d. But in fact c gets evicted first, and then b needs to be evicted as well to make enough room.
I don't know if there's a race condition in here somewhere. It's odd that no one has picked up on a failing test before, so I'm wondering whether it succeeds in some environments. But it fails for me on both Ubuntu and Fedora (both with 64-bit Java 8).