use of org.apache.rya.export.api.store.AddStatementException in project incubator-rya by apache.
the class AccumuloRyaStatementStore method updateStatement.
@Override
public void updateStatement(final RyaStatement original, final RyaStatement update) throws UpdateStatementException {
try {
removeStatement(original);
addStatement(update);
} catch (final AddStatementException | RemoveStatementException e) {
throw new UpdateStatementException("Unable to update the Rya Statement", e);
}
}
use of org.apache.rya.export.api.store.AddStatementException in project incubator-rya by apache.
the class MemoryTimeMerger method export.
/**
* Exports all statements after the provided timestamp.
* @throws ParentMetadataExistsException -
* @throws FetchStatementException
*/
private void export() throws ParentMetadataExistsException, FetchStatementException {
LOG.info("Creating parent metadata in the child.");
// setup parent metadata repo in the child
final MergeParentMetadata metadata = new MergeParentMetadata.Builder().setRyaInstanceName(ryaInstanceName).setTimestamp(new Date()).setParentTimeOffset(timeOffset).setFilterTimestmap(timestamp).build();
childStore.setParentMetadata(metadata);
// fetch all statements after timestamp from the parent
final Iterator<RyaStatement> statements = parentStore.fetchStatements();
LOG.info("Exporting statements.");
while (statements.hasNext()) {
System.out.print(".");
final RyaStatement statement = statements.next();
try {
childStore.addStatement(statement);
} catch (final AddStatementException e) {
LOG.error("Failed to add statement: " + statement + " to the statement store.", e);
}
}
}
use of org.apache.rya.export.api.store.AddStatementException in project incubator-rya by apache.
the class MemoryTimeMerger method runJob.
@Override
public void runJob() {
final Optional<MergeParentMetadata> metadata = parentStore.getParentMetadata();
// check the parent for a parent metadata repo
if (metadata.isPresent()) {
LOG.info("Merging statements...");
final MergeParentMetadata parentMetadata = metadata.get();
if (parentMetadata.getRyaInstanceName().equals(ryaInstanceName)) {
try {
importStatements(parentMetadata);
} catch (AddStatementException | ContainsStatementException | RemoveStatementException | FetchStatementException e) {
LOG.error("Failed to import statements.", e);
}
}
} else {
try {
LOG.info("Cloning statements...");
export();
} catch (final ParentMetadataExistsException | FetchStatementException e) {
LOG.error("Failed to export statements.", e);
}
}
}
use of org.apache.rya.export.api.store.AddStatementException in project incubator-rya by apache.
the class AccumuloRyaStatementStore method addStatement.
@Override
public void addStatement(final RyaStatement statement) throws AddStatementException {
try {
accumuloRyaDao.add(statement);
accumuloRyaDao.flush();
// RYA-197 is the ticket for fixing this hack.
if (!containsStatement(statement)) {
statement.setTimestamp(statement.getTimestamp() + 1L);
accumuloRyaDao.add(statement);
}
} catch (final RyaDAOException | ContainsStatementException e) {
throw new AddStatementException("Unable to add the Rya Statement", e);
}
}
Aggregations