Class WriteConcern
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
WriteConcern.Majority
Controls the acknowledgment of write operations with various options.
w
- 0: Don't wait for acknowledgement from the server
- 1: Wait for acknowledgement, but don't wait for secondaries to replicate
- >=2: Wait for one or more secondaries to also acknowledge
- "majority": Wait for a majority of data bearing nodes to acknowledge
- "<tag set name>": Wait for one or more secondaries to also acknowledge based on a tag set name
wtimeout
- how long to wait for secondaries to acknowledge before failing
- 0: indefinite
- >0: time to wait in milliseconds
Other options:
journal
: If true block until write operations have been committed to the journal. Cannot be used in combination withfsync
. Prior to MongoDB 2.6 this option was ignored if the server was running without journaling. Starting with MongoDB 2.6 write operations will fail with an exception if this option is used when the server is running without journaling.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Deprecated. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final WriteConcern
Deprecated.Write operations that use this write concern will wait for acknowledgement, using the default write concern configured on the server.static final WriteConcern
Deprecated.PreferJOURNALED
static final WriteConcern
Deprecated.PreferJOURNALED
static final WriteConcern
Deprecated.PreferJOURNALED
static final WriteConcern
Deprecated.Write operations wait for the server to group commit to the journal file on disk.static final WriteConcern
Deprecated.Exceptions are raised for network issues, and server errors; waits on a majority of servers for the write operation.static final WriteConcern
Deprecated.PreferUNACKNOWLEDGED
static final WriteConcern
Deprecated.Prefer WriteConcern#W2static final WriteConcern
Deprecated.PreferW2
static final WriteConcern
Deprecated.PreferACKNOWLEDGED
static final WriteConcern
Deprecated.Write operations that use this write concern will return as soon as the message is written to the socket.static final WriteConcern
Deprecated.Write operations that use this write concern will wait for acknowledgement from a single member.static final WriteConcern
Deprecated.Write operations that use this write concern will wait for acknowledgement from two members.static final WriteConcern
Deprecated.Write operations that use this write concern will wait for acknowledgement from three members. -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.PreferUNACKNOWLEDGED
WriteConcern
(boolean fsync) Deprecated.preferJOURNALED
orwithJournal(Boolean)
WriteConcern
(int w) Deprecated.Construct an instance with the given integer-based value for w.WriteConcern
(int w, int wTimeoutMS) Deprecated.Constructs an instance with the given integer-based value for w and the given value for wTimeoutMS.WriteConcern
(int w, int wTimeoutMS, boolean fsync) Deprecated.WriteConcern
(int w, int wTimeoutMS, boolean fsync, boolean journal) Deprecated.Deprecated.Construct an instance with the given tag set-based value for w.WriteConcern
(String w, int wTimeoutMS, boolean fsync, boolean journal) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionDeprecated.Gets this write concern as a document.boolean
Deprecated.PreferisAcknowledged()
boolean
Deprecated.boolean
fsync()
Deprecated.PrefergetJournal()
boolean
getFsync()
Deprecated.PrefergetJournal()
boolean
getJ()
Deprecated.PrefergetJournal()
Deprecated.Gets the journal property.int
getW()
Deprecated.Gets the w value as an integer.Deprecated.Gets the w value.Deprecated.Gets the w parameter as a String.int
Deprecated.PrefergetWTimeout(TimeUnit)
getWTimeout
(TimeUnit timeUnit) Deprecated.Gets the wTimeout in the given time unit.int
hashCode()
Deprecated.boolean
Deprecated.Returns true if this write concern indicates that write operations must be acknowledged.boolean
Deprecated.Gets whether this write concern indicates that the server's default write concern will be used.static WriteConcern.Majority
majorityWriteConcern
(int wtimeout, boolean fsync, boolean j) Deprecated.toString()
Deprecated.static WriteConcern
Deprecated.Gets the WriteConcern constants by name (matching is done case insensitively).withFsync
(boolean fsync) Deprecated.PreferwithJournal(Boolean)
withJ
(boolean journal) Deprecated.PreferwithJournal(Boolean)
withJournal
(Boolean journal) Deprecated.Constructs a new WriteConcern from the current one and the specified journal valuewithW
(int w) Deprecated.Constructs a new WriteConcern from the current one and the specified integer-based value for wDeprecated.Constructs a new WriteConcern from the current one and the specified tag-set based value for wwithWTimeout
(long wTimeout, TimeUnit timeUnit) Deprecated.Constructs a new WriteConcern from the current one and the specified wTimeout in the given time unit.
-
Field Details
-
ACKNOWLEDGED
Deprecated.Write operations that use this write concern will wait for acknowledgement, using the default write concern configured on the server.- Since:
- 2.10.0
-
W1
Deprecated.Write operations that use this write concern will wait for acknowledgement from a single member.- Since:
- 3.2
-
W2
Deprecated.Write operations that use this write concern will wait for acknowledgement from two members.- Since:
- 3.2
-
W3
Deprecated.Write operations that use this write concern will wait for acknowledgement from three members.- Since:
- 3.2
-
UNACKNOWLEDGED
Deprecated.Write operations that use this write concern will return as soon as the message is written to the socket. Exceptions are raised for network issues, but not server errors.- Since:
- 2.10.0
-
FSYNCED
Deprecated.PreferJOURNALED
Write operations wait for the server to flush the data to disk. -
JOURNALED
Deprecated.Write operations wait for the server to group commit to the journal file on disk. -
REPLICA_ACKNOWLEDGED
Deprecated.Prefer WriteConcern#W2Exceptions are raised for network issues, and server errors; waits for at least 2 servers for the write operation. -
NORMAL
Deprecated.PreferUNACKNOWLEDGED
Write operations that use this write concern will return as soon as the message is written to the socket. Exceptions are raised for network issues, but not server errors.
This field has been superseded by
WriteConcern.UNACKNOWLEDGED
, and may be deprecated in a future release.- See Also:
-
SAFE
Deprecated.PreferACKNOWLEDGED
Write operations that use this write concern will wait for acknowledgement from the primary server before returning. Exceptions are raised for network issues, and server errors.
This field has been superseded by
WriteConcern.ACKNOWLEDGED
, and may be deprecated in a future release.- See Also:
-
MAJORITY
Deprecated.Exceptions are raised for network issues, and server errors; waits on a majority of servers for the write operation. -
FSYNC_SAFE
Deprecated.PreferJOURNALED
Exceptions are raised for network issues, and server errors; the write operation waits for the server to flush the data to disk.
This field has been superseded by
WriteConcern.FSYNCED
, and may be deprecated in a future release.- See Also:
-
JOURNAL_SAFE
Deprecated.PreferJOURNALED
Exceptions are raised for network issues, and server errors; the write operation waits for the server to group commit to the journal file on disk.
This field has been superseded by
WriteConcern.JOURNALED
, and may be deprecated in a future release. -
REPLICAS_SAFE
Deprecated.PreferW2
Exceptions are raised for network issues, and server errors; waits for at least 2 servers for the write operation.
This field has been superseded by
WriteConcern.REPLICA_ACKNOWLEDGED
, and may be deprecated in a future release.- See Also:
-
-
Constructor Details
-
WriteConcern
Deprecated.PreferUNACKNOWLEDGED
Constructs an instance with all properties initialized to their default values, except for w, which is initialized to 0, making instances constructed this ways equivalent toWriteConcern#UNACKNOWLEDGED
- See Also:
-
WriteConcern
public WriteConcern(int w) Deprecated.Construct an instance with the given integer-based value for w.- Parameters:
w
- number of servers to ensure write propagation to before acknowledgment, which must be>= 0
-
WriteConcern
Deprecated.Construct an instance with the given tag set-based value for w.- Parameters:
w
- tag set name, or "majority", representing the servers to ensure write propagation to before acknowledgment. Do not use string representation of integer values for w
-
WriteConcern
public WriteConcern(int w, int wTimeoutMS) Deprecated.Constructs an instance with the given integer-based value for w and the given value for wTimeoutMS.- Parameters:
w
- the w value, which must be >= 0wTimeoutMS
- the wTimeout in milliseconds, which must be >= 0
-
WriteConcern
Deprecated.preferJOURNALED
orwithJournal(Boolean)
Constructs an instance with the given value for fsync.- Parameters:
fsync
- whether or not to fsync
-
WriteConcern
Deprecated.Constructs an instance with the given integer-based w value, wTimeout in milliseconds, and fsync value.- Parameters:
w
- the w value, which must be >= 0wTimeoutMS
- the wTimeout in milliseconds, which must be >= 0fsync
- whether or not to fsync
-
WriteConcern
Deprecated.Constructs an instance with the given integer-based w value, wTimeout in milliseconds, fsync value, and journal value.- Parameters:
w
- the w value, which must be >= 0wTimeoutMS
- the wTimeout in milliseconds, which must be >= 0fsync
- whether or not to fsyncjournal
- whether writes should wait for a journaling group commit
-
WriteConcern
Deprecated.Constructs an instance with the given String-based w value, wTimeout in milliseconds, fsync value, and journal value.- Parameters:
w
- the w value, which must be non-nullwTimeoutMS
- the wTimeout in milliseconds, which must be >= 0fsync
- whether or not to fsyncjournal
- whether writes should wait for a journaling group commit
-
-
Method Details
-
getWObject
Deprecated.Gets the w value.- Returns:
- w, either an instance of Integer or String or null
-
getW
public int getW()Deprecated.Gets the w value as an integer.- Returns:
- w as an int
- Throws:
IllegalStateException
- if w is null or not an integer
-
getWString
Deprecated.Gets the w parameter as a String.- Returns:
- w as a String
- Throws:
IllegalStateException
- if w is null or not a String
-
getWTimeout
Deprecated.Gets the wTimeout in the given time unit.- Parameters:
timeUnit
- the non-null time unit for the result- Returns:
- the WTimeout, which may be null if a wTimeout has not been specified
- Since:
- 3.2
-
getWtimeout
Deprecated.PrefergetWTimeout(TimeUnit)
Gets the wTimeout in milliseconds. If wTimeout has not been specified, returns 0.- Returns:
- the wTimeout in milliseconds
-
getJournal
Deprecated.Gets the journal property. The default value is null.- Returns:
- whether journal syncing is enabled, or null if unspecified.
- Since:
- 3.2
-
getJ
Deprecated.PrefergetJournal()
Gets the journal property. If journal has not been specified, returns false.- Returns:
- true if journal is true, false if it false or unspecified.
-
getFsync
Deprecated.PrefergetJournal()
Gets the fsync property. If fsync has not been specified, returns false.- Returns:
- true if fsync is true, false if it false or unspecified
-
fsync
Deprecated.PrefergetJournal()
Gets the fsync property. If fsync has not been specified, returns false.- Returns:
- true if fsync is true, false if it false or unspecified
-
callGetLastError
Deprecated.PreferisAcknowledged()
Returns true if this write concern indicates that write operations must be acknowledged.- Returns:
- whether this write concern will result in an an acknowledged write
-
isServerDefault
public boolean isServerDefault()Deprecated.Gets whether this write concern indicates that the server's default write concern will be used.- Returns:
- true if this write concern indicates that the server's default write concern will be used
-
asDocument
Deprecated.Gets this write concern as a document.- Returns:
- The write concern as a BsonDocument, even if
w <= 0
-
isAcknowledged
public boolean isAcknowledged()Deprecated.Returns true if this write concern indicates that write operations must be acknowledged.- Returns:
- true w != null or w > 0 or journal is true or fsync is true
-
valueOf
Deprecated.Gets the WriteConcern constants by name (matching is done case insensitively).- Parameters:
name
- the name of the WriteConcern- Returns:
- the
WriteConcern instance
-
equals
Deprecated. -
hashCode
public int hashCode()Deprecated. -
toString
Deprecated. -
withW
Deprecated.Constructs a new WriteConcern from the current one and the specified integer-based value for w- Parameters:
w
- number of servers to ensure write propagation to before acknowledgment, which must be>= 0
- Returns:
- the new WriteConcern
-
withW
Deprecated.Constructs a new WriteConcern from the current one and the specified tag-set based value for w- Parameters:
w
- tag set, or "majority", representing the servers to ensure write propagation to before acknowledgment. Do not use string representation of integer values for w- Returns:
- the new WriteConcern
- See Also:
-
withFsync
Deprecated.PreferwithJournal(Boolean)
Constructs a new WriteConcern from the current one and the specified fsync value- Parameters:
fsync
- true if the write concern needs to include fsync- Returns:
- the new WriteConcern
-
withJournal
Deprecated.Constructs a new WriteConcern from the current one and the specified journal value- Parameters:
journal
- true if journalling is required for acknowledgement, false if not, or null if unspecified- Returns:
- the new WriteConcern
- Since:
- 3.2
-
withJ
Deprecated.PreferwithJournal(Boolean)
Constructs a new WriteConcern from the current one and the specified journal value- Parameters:
journal
- true if journalling is required for acknowledgement- Returns:
- the new WriteConcern
-
withWTimeout
Deprecated.Constructs a new WriteConcern from the current one and the specified wTimeout in the given time unit.- Parameters:
wTimeout
- the wTimeout, which must be >= 0 and <= Integer.MAX_VALUE after conversion to millisecondstimeUnit
- the non-null time unit to apply to wTimeout- Returns:
- the WriteConcern with the given wTimeout
- Since:
- 3.2
-
majorityWriteConcern
@Deprecated public static WriteConcern.Majority majorityWriteConcern(int wtimeout, boolean fsync, boolean j) Deprecated.Create a Majority Write Concern that requires a majority of servers to acknowledge the write.- Parameters:
wtimeout
- timeout for write operationfsync
- whether or not to fsyncj
- whether writes should wait for a journal group commit- Returns:
- Majority, a subclass of WriteConcern that represents the write concern requiring most servers to acknowledge the write
-