use of com.arjuna.ats.arjuna.state.OutputObjectState in project wildfly by wildfly.
the class TransactionObjectStoreTestCase method testExposeAllLogs.
@Test
public void testExposeAllLogs() throws Exception {
String serviceUrl = managementClient.getRemoteJMXURL().toString();
try {
RecoveryStoreProxy prs = StoreManagerProxy.getRecoveryStore(serviceUrl, null);
// this immediately checks whether we really got a store manager proxy or not
assertNotNull(prs.getStoreName());
// write a log record to the object store
// create a record that by default the tooling does not expose
byte[] data = new byte[10240];
OutputObjectState state = new OutputObjectState();
Uid uid = new Uid();
state.packBytes(data);
assertTrue(prs.write_committed(uid, FOO_TYPE, state));
// probe the log store
cli.sendLine("/subsystem=transactions/log-store=log-store:write-attribute(name=expose-all-logs,value=false)");
cli.sendLine("/subsystem=transactions/log-store=log-store:probe()");
// check the log record is not listed
cli.sendLine("cd /subsystem=transactions/log-store=log-store/transactions");
cli.sendLine("ls");
String ls = cli.readOutput();
assertFalse("Unexpected uid in the log.", ls != null && ls.contains(uid.toString()));
// probe the log store again for all records
cli.sendLine("/subsystem=transactions/log-store=log-store:write-attribute(name=expose-all-logs,value=true)");
cli.sendLine("/subsystem=transactions/log-store=log-store:probe()");
// check the log record is listed
cli.sendLine("cd /subsystem=transactions/log-store=log-store/transactions");
cli.sendLine("ls");
ls = cli.readOutput();
assertTrue("Could not find the expected uid in the log.", ls != null && ls.contains(uid.toString()));
// remove the log record
cli.sendLine("/subsystem=transactions/log-store=log-store/transactions=" + escapeColons(uid.toString()) + ":delete()");
// probe the log store again
cli.sendLine("/subsystem=transactions/log-store=log-store:probe()");
// check the log record is not listed
cli.sendLine("cd /subsystem=transactions/log-store=log-store/transactions");
cli.sendLine("ls");
ls = cli.readOutput();
assertFalse("Unexpected uid in the log after its remove.", ls != null && ls.contains(uid.toString()));
// set back the expose-all-logs attribute
cli.sendLine("/subsystem=transactions/log-store=log-store:write-attribute(name=expose-all-logs,value=false)");
} finally {
StoreManagerProxy.releaseProxy(serviceUrl);
}
}
Aggregations