]
Ramesh Reddy updated TEIIDSB-129:
---------------------------------
Sprint: SDI Sprint 54
allow connection to mongodb cluster on atlas (
cloud.mongodb.com)
----------------------------------------------------------------
Key: TEIIDSB-129
URL:
https://issues.jboss.org/browse/TEIIDSB-129
Project: Teiid Spring Boot
Issue Type: Bug
Components: datasource
Reporter: Marco Ardito
Assignee: Steven Hawkins
Priority: Major
Fix For: 1.3.0
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