-
Notifications
You must be signed in to change notification settings - Fork 481
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecate old configuration parameters in MongoDB destination #893
Comments
It's a good idea to open a new issue for this question. However I would probably adjust the naming and description a bit. Which route should we take?
For how long should we keep compatibility? How will all of this affect our tests? Who will provide real world use cases to test on to ensure that we are indeed retaining compatibility for these cases? Our trivial synthetics don't exercise the capabilities that much (or at all) from an enterprise perspective. Unfortunately, I have a feeling that the bugs that will be reported in the future will lie mostly within such corner cases. |
@bkil-syslogng Feel free to rename the title and change the description as you wish. |
I would pick the 3rd option, translate old parameters into the URI, while Definitely not duplicating the entire module, nor using two transport Bazsi Bazsi On Wed, Feb 3, 2016 at 2:08 PM, Tamas Nagy notifications@github.com wrote:
|
It was many months before I was into this topic, however I'm sure multiple minor options are missing semantically equivalent translations. I mean, you could translate them, but it might behave in a different way (replica set formation, synchronization, in case of errors, or in general, etc). I could volunteer to (re-)apply and adjust the former, basic, non-semantically equivalent syntactical sugar. It would make some of the previous sandbox and blog posted examples pass. However, afterwards, I decline to maintain this implementation, so if anythings breaks, or any support or investigation comes in along this route, you will need to find another developer to debug, fix or extend this code. If this is okay with you, I will assign this task to myself and we will further schedule when I should work on implementing this, depending on our priorities. Just so you know, when we were discussing refactoring MongoDB support, we did even (jokingly) consider removing it altogether because a lack of usage and interest. |
Hi, First of all, thanks for your consideration. Some more answers inline. On Wed, Feb 3, 2016 at 2:40 PM, Tamas Nagy notifications@github.com wrote:
I think I probably miss a few points, so it would definitely make sense for
and a unit test of the same?
Bazsi |
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
A question for @bazsi, @pzoleex and others interested in MongoDB: Should the semantics of http://api.mongodb.org/c/current/mongoc_insert_flags_t.html With the original connector, this mostly controlled synchronicity and write concern. |
@bkil-syslogng : Based on this we should move to use the write concerns: https://docs.mongodb.org/manual/reference/command/getLastError/ |
@bkil-syslogng : any update? |
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. A large part of the code comes from the previous state before being removed: 6636898 "afmongodb: added mongo uri option, removed all redundant ones" In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. A large part of the code comes from the previous state before being removed: 6636898 "afmongodb: added mongo uri option, removed all redundant ones" In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. A large part of the code comes from the previous state before being removed: 6636898 "afmongodb: added mongo uri option, removed all redundant ones" In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. A large part of the code comes from the previous state before being removed: 6636898 "afmongodb: added mongo uri option, removed all redundant ones" In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com> (cherry picked from commit b5cd1e3)
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. A large part of the code comes from the previous state before being removed: 6636898 "afmongodb: added mongo uri option, removed all redundant ones" In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. A large part of the code comes from the previous state before being removed: 6636898 "afmongodb: added mongo uri option, removed all redundant ones" In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. A large part of the code comes from the previous state before being removed: 6636898 "afmongodb: added mongo uri option, removed all redundant ones" In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
This re-adds additional support for previous syntax used by libmongo-client before we started using mongo-c-driver and its URI syntax exclusively. I.e., so additionally to uri() and collection(), now the following keywords should work again: servers() safe_mode() path() password() username() database() Note that these are plainly translated to a connection URI without much sanity checking or preserving their former semantic meaning. So various aspects of the MongoDB connection like health checks, retries, error reporting and synchronicity will still follow the slightly altered semantics of mongo-c-driver. A large part of the code comes from the previous state before being removed: 6636898 "afmongodb: added mongo uri option, removed all redundant ones" In the future, theoretically it is enough to revert this single commit to remove support. (This is one reason I did not opt for OOP & inheritance to implement this) Fixes syslog-ng#893 Signed-off-by: bkil-syslogng <tamas.nagy@balabit.com>
Migrating some comments from #891 (comment):
me:
@bazsi:
The text was updated successfully, but these errors were encountered: