rethinkdbdash icon indicating copy to clipboard operation
rethinkdbdash copied to clipboard

Rebase linked list branch

Open mxstbr opened this issue 7 years ago • 13 comments

This takes the linkedlist branch from #135 and merges the latest master into it. We're running into connection errors, and we have tons of changefeeds, so I'm suspecting this could be the solution.

I'm going to try and get all the tests to pass again.

mxstbr avatar Mar 12 '18 13:03 mxstbr

A bunch of tests are failing locally, digging in.

EDIT: Basically all queries time out, they never return anything. Trying to figure out why.

mxstbr avatar Mar 12 '18 13:03 mxstbr

Turns out a simple null => false change fixed most tests! (ccd4ae5) 2 test failures remaining, 794 passing!

mxstbr avatar Mar 12 '18 14:03 mxstbr

The only two tests failing are the ones for backtraces, are those meant to fail?

mxstbr avatar Mar 12 '18 14:03 mxstbr

All backtrace tests are fixed! Unsure why those were failing since the backtraces were correct, just slightly different in formatting.

Anyways, all the tests pass now! :tada: @neumino I'm going to try this branch in prod I think, let's see if it fixes our errors.

mxstbr avatar Mar 12 '18 14:03 mxstbr

Huh, some backtrace tests still fail on wercker even though they pass locally? 🤔

mxstbr avatar Mar 12 '18 14:03 mxstbr

Even with this branch we're getting changefeeds dropping out:

ReqlServerError: The connection was closed before the query could be completed for:
r.table("usersNotifications").changes({
  includeInitial: false
}).filter(r.row("old_val").eq(null).and(r.row("new_val").eq(null).not()).or(r.row("old_val")("entityAddedAt").ne(r.row("new_val")("entityAddedAt"))))("new_val")
    .filter({
        userId: "gVk5mYwccUOEKiN5vtOouqroGKo1"
    }).eqJoin("notificationId", r.table("notifications")).without({
        left: ["notificationId", "createdAt", "id", "entityAddedAt"]
    }).zip().filter(function(var_278) {
        return var_278("context")("type").ne("DIRECT_MESSAGE_THREAD")
    })

And also the server crashing due to:

Unhandled rejection { ReqlDriverError: The connection was closed by the other party.
    at Connection._send (/home/nowuser/src/node_modules/rethinkdbdash/lib/connection.js:734:15)
    at /home/nowuser/src/node_modules/rethinkdbdash/lib/term.js:202:22
    at tryCatcher (/home/nowuser/src/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/home/nowuser/src/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/home/nowuser/src/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromiseCtx (/home/nowuser/src/node_modules/bluebird/js/release/promise.js:606:10)
    at Async._drainQueue (/home/nowuser/src/node_modules/bluebird/js/release/async.js:138:12)
    at Async._drainQueues (/home/nowuser/src/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/home/nowuser/src/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)
  msg: 'The connection was closed by the other party',
  message: 'The connection was closed by the other party.',
  isOperational: true }

mxstbr avatar Mar 12 '18 14:03 mxstbr

merged in https://github.com/RebirthDB/rebirthdb-js

thelinuxlich avatar May 23 '18 14:05 thelinuxlich

@mxstbr @thelinuxlich What is the final solution for this issue of changefeeds dropping?

nikhilrayaprolu avatar Feb 24 '22 19:02 nikhilrayaprolu

@nikhilrayaprolu replace your database with something supported, seriously, who would trust their primary database to a project that hasn't received updates in 5 years?

thelinuxlich avatar Feb 24 '22 19:02 thelinuxlich

You are right, but I am wondering from an engineering standpoint, how this issue was solved finally.

I had also read the discussion here, but looks like the complete discussion is unavailable after the shut down of spectrum. https://spectrum.chat/rethinkdb-old/general/changefeed-troubles~e0047056-899e-4bde-9493-20f8a7bb0919

On Fri, 25 Feb, 2022, 12:49 am Alisson Cavalcante Agiani, < @.***> wrote:

@nikhilrayaprolu https://github.com/nikhilrayaprolu replace your database with something supported, seriously, who would trust their primary database to a project that hasn't receive updates in 5 years?

— Reply to this email directly, view it on GitHub https://github.com/neumino/rethinkdbdash/pull/374#issuecomment-1050182320, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADUC65ZWN2KOYJVG5YAXPBDU42AERANCNFSM4EU2UBIQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

nikhilrayaprolu avatar Feb 25 '22 02:02 nikhilrayaprolu

What is the final solution for this issue of changefeeds dropping?

Not using RethinkDB anymore 🙈

I am wondering from an engineering standpoint, how this issue was solved finally.

It wasn't.

mxstbr avatar Feb 25 '22 13:02 mxstbr

@mxstbr I really liked the source code of spectrum, it has all features needed for a good online community. The only major issue I found in that is the choice of rethinkDB. Now an option for me is to see if I could convert the rethinkDB to MongoDB and use Apollo PubSub for real-time features (I think this is not a priority now but need to do this before I start facing scalability issues).

Since I am planning to host an online clubs for k12 kids with some customizations (gamification) and video rooms for them to collaborate and learn together, I cannot think of going with a solution like circle.so

nikhilrayaprolu avatar Mar 06 '22 12:03 nikhilrayaprolu

You don't need mongodb for realtime features in 2022, graphql subscriptions over sse is a good choice

thelinuxlich avatar Mar 06 '22 16:03 thelinuxlich