Skip to content
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

Support OpLog #76

Closed
4 of 5 tasks
Tracked by #2014 ...
ferretdb-bot opened this issue Nov 20, 2021 · 6 comments · Fixed by #3887
Closed
4 of 5 tasks
Tracked by #2014 ...

Support OpLog #76

ferretdb-bot opened this issue Nov 20, 2021 · 6 comments · Fixed by #3887
Labels
area/oplog Issues about OpLog and capped collections code/feature Some user-visible feature is not implemented yet
Milestone

Comments

@ferretdb-bot
Copy link
Member

ferretdb-bot commented Nov 20, 2021

We want to support a subset MongoDB's OpLog that is enough for applications and frameworks tailing it, such as Meteor.
It is not a goal (yet) to make it good enough for replication.

See:

We should support the "old" format, with full $set for updates, not the new format with diff.

Tasks

  1. code/chore
    rumyantseva
  2. code/chore
    rumyantseva
  3. area/oplog code/chore
  4. area/oplog code/chore
    rumyantseva
  5. code/chore not ready
    rumyantseva
@ferretdb-bot ferretdb-bot added the code/feature Some user-visible feature is not implemented yet label Nov 20, 2021
@AlekSi AlekSi added this to the Alpha milestone Dec 14, 2021
@AlekSi AlekSi removed this from the Alpha milestone Jan 5, 2022
@AlekSi AlekSi added the not ready Issues that are not ready to be worked on; PRs that should skip CI label Jun 17, 2022
@ocdtrekkie
Copy link

Hello! We have been sort of following this project with interest/excitement for a while, and are potentially interested in using FerretDB with a Meteor app to escape a presently extremely old version of MongoDB as a dependency.

Do you have any ballpark how far out Meteor compatibility for FerretDB might be in your present plans?

@AlekSi AlekSi added this to the v0.10.0 Release Candidate milestone Jan 19, 2023
@AlekSi AlekSi removed this from the v0.9.8 Release Candidate milestone Feb 3, 2023
@AlekSi AlekSi self-assigned this May 3, 2023
@AlekSi AlekSi removed the not ready Issues that are not ready to be worked on; PRs that should skip CI label May 3, 2023
@mitar
Copy link

mitar commented May 11, 2023

Hm, in this blog post it says:

We are testing FerretDB against real-world applications, like FastNetMon, the Enmeshed Connector, BigBlueButton, Strapi, or frameworks such as MeteorJS, among others.

So what does this mean? Is oplog supported or not? Because from reading the post I understood that Meteor (and oplog) support is already available.

@AlekSi
Copy link
Member

AlekSi commented May 11, 2023

Meteor fallbacks to polling when OpLog is not available. It is not suitable for many production deployments, but sometimes it is good enough. In that case, Meteor applications could work with FerretDB, and indeed some of them work.

@DblK
Copy link

DblK commented Jun 7, 2023

I just found out another library in Go similar to FerretDb and with already support for Oplog, it's called lungo.
It's MIT licensed so you might be able to take some inspiration there ;)

@radekmie
Copy link

radekmie commented Aug 4, 2023

I'm not sure how advanced this effort is, but I wanted to cross-post meteor/meteor#12150 (reply in thread) here:

Update from my end: as soon as FerretDB supports Change Streams, Meteor can stay fully reactive with cultofcoders:redis-oplog and my new tool changestream-to-redis.

In other words: #175 is enough for Meteor apps, as long as they want to work with cultofcoders:redis-oplog.

@AlekSi AlekSi added the area/oplog Issues about OpLog and capped collections label Oct 3, 2023
@AlekSi AlekSi changed the title Support oplog Support OpLog Oct 4, 2023
@AlekSi AlekSi added this to the Next milestone Dec 18, 2023
AlekSi added a commit that referenced this issue Dec 20, 2023
@AlekSi AlekSi reopened this Dec 20, 2023
@AlekSi
Copy link
Member

AlekSi commented Jan 8, 2024

The first version with OpLog support is out! See https://github.com/FerretDB/FerretDB/releases/tag/v1.18.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/oplog Issues about OpLog and capped collections code/feature Some user-visible feature is not implemented yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

7 participants