]
Steven Hawkins commented on TEIID-5825:
---------------------------------------
From what I see if you specify the remoteServerList as host/port, then
that has to be the standard option. If you use either the standard or the seedlist
prefix, then everything should be specified in the uri - you cannot separately specify the
credentials and the database property is only used if it's not specified in the uri.
Seems like we need to rethink this.
allow connection to mongodb cluster on atlas (
cloud.mongodb.com)
----------------------------------------------------------------
Key: TEIID-5825
URL:
https://issues.jboss.org/browse/TEIID-5825
Project: Teiid
Issue Type: Bug
Components: Connector API
Affects Versions: 12.2
Reporter: Marco Ardito
Assignee: Steven Hawkins
Priority: Major
Fix For: 13.0, 12.3.1
The issue is that teiid mongodb connector expects connection parameters based on the
" Standard Connection String Format" instead of the "DNS Seedlist
Connection Format", as defined in
[
https://docs.mongodb.com/manual/reference/connection-string|https://docs....]
_
"In addition to the standard connection format, MongoDB supports a DNS-constructed
seed list. Using DNS to construct the available servers list allows more flexibility of
deployment and the ability to change the servers in rotation without reconfiguring
clients."_
The following is a typical connection string for a DNS seedlist connection string:
mongodb+srv://server.example.com/
and:
* a port number is not needed
* a different prefix is used, instead of mongodb:// => mongodb+srv://
I have a "free tier" cluster instance on cloud.mongodb,com (aka Atlas), which
is limited in size and resources but should be functionally identical to a full sized paid
cluster on the same platform, and it does not expire. A free tier can be activated here
[
https://www.mongodb.com/cloud/atlas#atlas-form-container|https://www.mong...]
I tried with both the mongodb command line client and with the GUI tool Compass
(
https://www.mongodb.com/products/compass) which has a community edition
and this different syntax works perfectly, while it is not supported by the current teiid
connector, it seems
there is a way to use the "old" syntax, prefixed by "mongodb:// "
with server and port, to those Atlas clusters, but it is cumbersome, as it needs the user
to specify more parameters, as "replicaSet" and "readPreference", at
least. See
https://docs.mongodb.com/manual/reference/connection-string
With those additional settings I was able to connect with the Compass GUI tool, but not
with the latest command line client (4.2), and anyway the teiid connector seems to not
support those additional parameters,, I tried to add them as DS properties but always
failed