You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2015/10/19 23:48:27 UTC
[jira] [Created] (ACCUMULO-4035) Spurious
NamespacesIT.verifyConstraintInheritance failure
Josh Elser created ACCUMULO-4035:
------------------------------------
Summary: Spurious NamespacesIT.verifyConstraintInheritance failure
Key: ACCUMULO-4035
URL: https://issues.apache.org/jira/browse/ACCUMULO-4035
Project: Accumulo
Issue Type: Bug
Components: test
Reporter: Josh Elser
Assignee: Josh Elser
Priority: Minor
Fix For: 1.6.5, 1.7.1, 1.8.0
{noformat}
java.lang.AssertionError: null
at org.junit.Assert.fail(Assert.java:86)
at org.junit.Assert.fail(Assert.java:95)
at org.apache.accumulo.test.NamespacesIT.verifyConstraintInheritance(NamespacesIT.java:516)
{noformat}
Which lines up with the following code, the assertion failure happening on the {{fail()}}
{code}
c.namespaceOperations().addConstraint(namespace, constraintClassName);
assertTrue(c.namespaceOperations().listConstraints(namespace).containsKey(constraintClassName));
assertTrue(c.tableOperations().listConstraints(t1).containsKey(constraintClassName));
int num = c.namespaceOperations().listConstraints(namespace).get(constraintClassName);
assertEquals(num, (int) c.tableOperations().listConstraints(t1).get(constraintClassName));
// doesn't take effect immediately, needs time to propagate to tserver's ZooKeeper cache
UtilWaitThread.sleep(250);
Mutation m1 = new Mutation("r1");
Mutation m2 = new Mutation("r2");
Mutation m3 = new Mutation("r3");
m1.put("a", "b", new Value("abcde".getBytes(UTF_8)));
m2.put("e", "f", new Value("123".getBytes(UTF_8)));
m3.put("c", "d", new Value("zyxwv".getBytes(UTF_8)));
BatchWriter bw = c.createBatchWriter(t1, new BatchWriterConfig());
bw.addMutations(Arrays.asList(m1, m2, m3));
try {
bw.close();
fail();
} catch (MutationsRejectedException e) {
assertEquals(1, e.getConstraintViolationSummaries().size());
assertEquals(2, e.getConstraintViolationSummaries().get(0).getNumberOfViolatingMutations());
}
{code}
Looks like this is just another case where a test poorly makes assumptions about ZK propagation.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)