static WriteConcernError translateWriteConcernError(final com.mongodb.bulk.WriteConcernError writeConcernError) { return writeConcernError == null ? null : new WriteConcernError(writeConcernError.getCode(), writeConcernError.getMessage(), DBObjects.toDBObject(writeConcernError.getDetails())); }
private void mergeWriteConcernError(final WriteConcernError writeConcernError) { if (writeConcernError != null) { if (writeConcernErrors.isEmpty()) { writeConcernErrors.add(writeConcernError); } else if (!writeConcernError.equals(writeConcernErrors.get(writeConcernErrors.size() - 1))) { writeConcernErrors.add(writeConcernError); } } }
@Override public int hashCode() { int result = writeResult.hashCode(); result = 31 * result + errors.hashCode(); result = 31 * result + serverAddress.hashCode(); result = 31 * result + (writeConcernError != null ? writeConcernError.hashCode() : 0); return result; } }
/** * Construct an instance. * * @param writeConcernError the non-null write concern error * @param writeConcernResult the write result * @param serverAddress the non-null server address * @since 3.2 */ public MongoWriteConcernException(final WriteConcernError writeConcernError, @Nullable final WriteConcernResult writeConcernResult, final ServerAddress serverAddress) { super(writeConcernError.getCode(), writeConcernError.getMessage(), serverAddress); this.writeConcernResult = writeConcernResult; this.writeConcernError = notNull("writeConcernError", writeConcernError); }
static boolean isRetryableException(final Throwable t) { if (!(t instanceof MongoException)) { return false; } if (t instanceof MongoSocketException || t instanceof MongoNotPrimaryException || t instanceof MongoNodeIsRecoveringException) { return true; } String errorMessage = t.getMessage(); if (t instanceof MongoWriteConcernException) { errorMessage = ((MongoWriteConcernException) t).getWriteConcernError().getMessage(); } if (errorMessage.contains("not master") || errorMessage.contains("node is recovering")) { return true; } return RETRYABLE_ERROR_CODES.contains(((MongoException) t).getCode()); }
public static WriteConcernError createWriteConcernError(final BsonDocument writeConcernErrorDocument) { return new WriteConcernError(writeConcernErrorDocument.getNumber("code").intValue(), writeConcernErrorDocument.getString("codeName", new BsonString("")).getValue(), writeConcernErrorDocument.getString("errmsg").getValue(), writeConcernErrorDocument.getDocument("errInfo", new BsonDocument())); }
static WriteConcernException createWriteConcernException(final MongoWriteConcernException e) { return new WriteConcernException(new BsonDocument("code", new BsonInt32(e.getWriteConcernError().getCode())) .append("errmsg", new BsonString(e.getWriteConcernError().getMessage())), e.getServerAddress(), e.getWriteResult()); }
static boolean isRetryableException(final Throwable t) { if (!(t instanceof MongoException)) { return false; } if (t instanceof MongoSocketException || t instanceof MongoNotPrimaryException || t instanceof MongoNodeIsRecoveringException) { return true; } String errorMessage = t.getMessage(); if (t instanceof MongoWriteConcernException) { errorMessage = ((MongoWriteConcernException) t).getWriteConcernError().getMessage(); } if (errorMessage.contains("not master") || errorMessage.contains("node is recovering")) { return true; } return RETRYABLE_ERROR_CODES.contains(((MongoException) t).getCode()); }
public static WriteConcernError createWriteConcernError(final BsonDocument writeConcernErrorDocument) { return new WriteConcernError(writeConcernErrorDocument.getNumber("code").intValue(), writeConcernErrorDocument.getString("codeName", new BsonString("")).getValue(), writeConcernErrorDocument.getString("errmsg").getValue(), writeConcernErrorDocument.getDocument("errInfo", new BsonDocument())); }
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; }
/** * Construct an instance. * * @param writeConcernError the non-null write concern error * @param writeConcernResult the write result * @param serverAddress the non-null server address * @since 3.2 */ public MongoWriteConcernException(final WriteConcernError writeConcernError, @Nullable final WriteConcernResult writeConcernResult, final ServerAddress serverAddress) { super(writeConcernError.getCode(), writeConcernError.getMessage(), serverAddress); this.writeConcernResult = writeConcernResult; this.writeConcernError = notNull("writeConcernError", writeConcernError); }
@Override public boolean equals(final Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } final MongoBulkWriteException that = (MongoBulkWriteException) o; if (!errors.equals(that.errors)) { return false; } if (!serverAddress.equals(that.serverAddress)) { return false; } if (writeConcernError != null ? !writeConcernError.equals(that.writeConcernError) : that.writeConcernError != null) { return false; } if (!writeResult.equals(that.writeResult)) { return false; } return true; }
@Override public int hashCode() { int result = writeResult.hashCode(); result = 31 * result + errors.hashCode(); result = 31 * result + serverAddress.hashCode(); result = 31 * result + (writeConcernError != null ? writeConcernError.hashCode() : 0); return result; } }
static WriteConcernError translateWriteConcernError(final com.mongodb.bulk.WriteConcernError writeConcernError) { return writeConcernError == null ? null : new WriteConcernError(writeConcernError.getCode(), writeConcernError.getMessage(), DBObjects.toDBObject(writeConcernError.getDetails())); }
static WriteConcernException createWriteConcernException(final MongoWriteConcernException e) { return new WriteConcernException(new BsonDocument("code", new BsonInt32(e.getWriteConcernError().getCode())) .append("errmsg", new BsonString(e.getWriteConcernError().getMessage())), e.getServerAddress(), e.getWriteResult()); }
private void mergeWriteConcernError(final WriteConcernError writeConcernError) { if (writeConcernError != null) { if (writeConcernErrors.isEmpty()) { writeConcernErrors.add(writeConcernError); } else if (!writeConcernError.equals(writeConcernErrors.get(writeConcernErrors.size() - 1))) { writeConcernErrors.add(writeConcernError); } } }
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; }
@Override public boolean equals(final Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } final MongoBulkWriteException that = (MongoBulkWriteException) o; if (!errors.equals(that.errors)) { return false; } if (!serverAddress.equals(that.serverAddress)) { return false; } if (writeConcernError != null ? !writeConcernError.equals(that.writeConcernError) : that.writeConcernError != null) { return false; } if (!writeResult.equals(that.writeResult)) { return false; } return true; }