@Override
public void close() {
Collection<CouchDbConnector> connectorSet = _connectors.values();
for (CouchDbConnector connector : connectorSet) {
List<String> errornousResultsDescriptions = new ArrayList<String>();
List<DocumentOperationResult> results = connector.flushBulkBuffer();
for (DocumentOperationResult result : results) {
if (result.isErroneous()) {
String id = result.getId();
String error = result.getError();
String reason = result.getReason();
String revision = result.getRevision();
logger.error("Error occurred while flushing bulk buffer: {}, id: {}, revision: {}, reason: {}",
new Object[] { error, id, revision, reason });
errornousResultsDescriptions.add(error);
}
}
if (!errornousResultsDescriptions.isEmpty()) {
throw new MetaModelException(errornousResultsDescriptions.size() + " out of " + results.size()
+ " operations in bulk was errornous: " + errornousResultsDescriptions);
}
}
}