feat: Add support for MongoDB databaseOptions keys autoSelectFamily, autoSelectFamilyAttemptTimeout (#9579)
This commit is contained in:
@@ -84,6 +84,8 @@ describe('Config Keys', () => {
|
||||
minPoolSize: 5,
|
||||
connectTimeoutMS: 5000,
|
||||
socketTimeoutMS: 5000,
|
||||
autoSelectFamily: true,
|
||||
autoSelectFamilyAttemptTimeout: 3000
|
||||
},
|
||||
})).toBeResolved();
|
||||
expect(loggerErrorSpy.calls.all().reduce((s, call) => s += call.args[0], '')).not.toMatch(invalidKeyErrorMessage);
|
||||
|
||||
@@ -1043,6 +1043,18 @@ module.exports.FileUploadOptions = {
|
||||
},
|
||||
};
|
||||
module.exports.DatabaseOptions = {
|
||||
autoSelectFamily: {
|
||||
env: 'PARSE_SERVER_DATABASE_AUTO_SELECT_FAMILY',
|
||||
help:
|
||||
'The MongoDB driver option to set whether the socket attempts to connect to IPv6 and IPv4 addresses until a connection is established. If available, the driver will select the first IPv6 address.',
|
||||
action: parsers.booleanParser,
|
||||
},
|
||||
autoSelectFamilyAttemptTimeout: {
|
||||
env: 'PARSE_SERVER_DATABASE_AUTO_SELECT_FAMILY_ATTEMPT_TIMEOUT',
|
||||
help:
|
||||
'The MongoDB driver option to specify the amount of time in milliseconds to wait for a connection attempt to finish before trying the next address when using the autoSelectFamily option. If set to a positive integer less than 10, the value 10 is used instead.',
|
||||
action: parsers.numberParser('autoSelectFamilyAttemptTimeout'),
|
||||
},
|
||||
connectTimeoutMS: {
|
||||
env: 'PARSE_SERVER_DATABASE_CONNECT_TIMEOUT_MS',
|
||||
help:
|
||||
|
||||
@@ -234,6 +234,8 @@
|
||||
|
||||
/**
|
||||
* @interface DatabaseOptions
|
||||
* @property {Boolean} autoSelectFamily The MongoDB driver option to set whether the socket attempts to connect to IPv6 and IPv4 addresses until a connection is established. If available, the driver will select the first IPv6 address.
|
||||
* @property {Number} autoSelectFamilyAttemptTimeout The MongoDB driver option to specify the amount of time in milliseconds to wait for a connection attempt to finish before trying the next address when using the autoSelectFamily option. If set to a positive integer less than 10, the value 10 is used instead.
|
||||
* @property {Number} connectTimeoutMS The MongoDB driver option to specify the amount of time, in milliseconds, to wait to establish a single TCP socket connection to the server before raising an error. Specifying 0 disables the connection timeout.
|
||||
* @property {Boolean} enableSchemaHooks Enables database real-time hooks to update single schema cache. Set to `true` if using multiple Parse Servers instances connected to the same database. Failing to do so will cause a schema change to not propagate to all instances and re-syncing will only happen when the instances restart. To use this feature with MongoDB, a replica set cluster with [change stream](https://docs.mongodb.com/manual/changeStreams/#availability) support is required.
|
||||
* @property {Number} maxPoolSize The MongoDB driver option to set the maximum number of opened, cached, ready-to-use database connections maintained by the driver.
|
||||
|
||||
@@ -610,6 +610,10 @@ export interface DatabaseOptions {
|
||||
connectTimeoutMS: ?number;
|
||||
/* The MongoDB driver option to specify the amount of time, in milliseconds, spent attempting to send or receive on a socket before timing out. Specifying 0 means no timeout. */
|
||||
socketTimeoutMS: ?number;
|
||||
/* The MongoDB driver option to set whether the socket attempts to connect to IPv6 and IPv4 addresses until a connection is established. If available, the driver will select the first IPv6 address. */
|
||||
autoSelectFamily: ?boolean;
|
||||
/* The MongoDB driver option to specify the amount of time in milliseconds to wait for a connection attempt to finish before trying the next address when using the autoSelectFamily option. If set to a positive integer less than 10, the value 10 is used instead. */
|
||||
autoSelectFamilyAttemptTimeout: ?number;
|
||||
}
|
||||
|
||||
export interface AuthAdapter {
|
||||
|
||||
Reference in New Issue
Block a user