@Override public String toString() { return "BulkWriteError{" + "index=" + index + ", code=" + getCode() + ", message='" + getMessage() + '\'' + ", details=" + getDetails() + '}'; } }
static List<BulkWriteError> translateWriteErrors(final List<com.mongodb.bulk.BulkWriteError> errors) { List<BulkWriteError> retVal = new ArrayList<BulkWriteError>(errors.size()); for (com.mongodb.bulk.BulkWriteError cur : errors) { retVal.add(new BulkWriteError(cur.getCode(), cur.getMessage(), DBObjects.toDBObject(cur.getDetails()), cur.getIndex())); } return retVal; }
private void mergeWriteErrors(final List<BulkWriteError> newWriteErrors, final IndexMap indexMap) { for (BulkWriteError cur : newWriteErrors) { this.writeErrors.add(new BulkWriteError(cur.getCode(), cur.getMessage(), cur.getDetails(), indexMap.map(cur.getIndex()) )); } }
check(errors).hasSize(1); check(errors.get(0).getCode()).is(11000); check(errors.get(0).getMessage()).contains("duplicate key"); return;
private BsonDocument manufactureGetLastErrorResponse(final MongoBulkWriteException e) { BsonDocument response = new BsonDocument(); addBulkWriteResultToResponse(e.getWriteResult(), response); if (e.getWriteConcernError() != null) { response.putAll(e.getWriteConcernError().getDetails()); } if (getLastError(e) != null) { response.put("err", new BsonString(getLastError(e).getMessage())); response.put("code", new BsonInt32(getLastError(e).getCode())); response.putAll(getLastError(e).getDetails()); } else if (e.getWriteConcernError() != null) { response.put("err", new BsonString(e.getWriteConcernError().getMessage())); response.put("code", new BsonInt32(e.getWriteConcernError().getCode())); } return response; }
List<String>duplicateIds = new ArrayList<String>(); List<BulkWriteError> errors = mbwe.getWriteErrors(); for (BulkWriteError error : errors) { LOGGER.error("{}", error.getMessage()); // extract from error.message the id of the duplicated document, (11000 is the duplicate id code) if (error.getCode() == 11000) { Matcher m = Pattern.compile("[0-9a-f]{24}") .matcher(error.getMessage()); m.find(); duplicateIds.add(m.group()); } } // here the duplicateIds will hold all the found ids, you can print them in console for example: System.out.println(duplicateIds.toString()); // and do whatever else you like with them
@Override public String toString() { return "BulkWriteError{" + "index=" + index + ", code=" + getCode() + ", message='" + getMessage() + '\'' + ", details=" + getDetails() + '}'; } }
static List<BulkWriteError> translateWriteErrors(final List<com.mongodb.bulk.BulkWriteError> errors) { List<BulkWriteError> retVal = new ArrayList<BulkWriteError>(errors.size()); for (com.mongodb.bulk.BulkWriteError cur : errors) { retVal.add(new BulkWriteError(cur.getCode(), cur.getMessage(), DBObjects.toDBObject(cur.getDetails()), cur.getIndex())); } return retVal; }
logger.error(bwerror.getMessage()); fatalerror = true; break;
private void mergeWriteErrors(final List<BulkWriteError> newWriteErrors, final IndexMap indexMap) { for (BulkWriteError cur : newWriteErrors) { this.writeErrors.add(new BulkWriteError(cur.getCode(), cur.getMessage(), cur.getDetails(), indexMap.map(cur.getIndex()) )); } }
log.error("The update filter '" + ((UpdateManyModel) failedModel).getFilter().toString() + "' failed to update with event '" + ((UpdateManyModel) failedModel).getUpdate().toString() + "' in the MongoDB Event Table due to " + bulkWriteError.getMessage()); } else { if (failedModel instanceof InsertOneModel) { log.error("The event '" + ((InsertOneModel) failedModel).getDocument().toString() + "' failed to insert into the Mongo Event Table due to " + bulkWriteError.getMessage()); } else { + bulkWriteError.getMessage());
error.getMessage().contains("_id_ dup key")) { nrep.addProperty("index", new BsonInt32(error.getIndex()));
private BsonDocument manufactureGetLastErrorResponse(final MongoBulkWriteException e) { BsonDocument response = new BsonDocument(); addBulkWriteResultToResponse(e.getWriteResult(), response); if (e.getWriteConcernError() != null) { response.putAll(e.getWriteConcernError().getDetails()); } if (getLastError(e) != null) { response.put("err", new BsonString(getLastError(e).getMessage())); response.put("code", new BsonInt32(getLastError(e).getCode())); response.putAll(getLastError(e).getDetails()); } else if (e.getWriteConcernError() != null) { response.put("err", new BsonString(e.getWriteConcernError().getMessage())); response.put("code", new BsonInt32(e.getWriteConcernError().getCode())); } return response; }