Meteor-Community-Packages / ground-db

GroundDB is a thin layer providing Meteor offline database and methods
https://atmospherejs.com/ground/db
MIT License
569 stars 76 forks source link

GroundDB is causing an endless re-subscribe loop #152

Closed pdiniz13 closed 3 months ago

pdiniz13 commented 8 years ago

If the app loses connection with the server, when it comes back online it continuously tries to refresh it's data with the server. I went back and found out that this issue started happening with version 3.9 once the switch was made to using the dispatch:kernel package. If you refresh the app, this issue goes away and it just connects once.

raix commented 8 years ago

I've released 2.0.0-alpha.1 Notes about the new version, migration and what it doesn't do - The issue might be resolved in that version, let me know

pdiniz13 commented 8 years ago

We tested it today, but the issue is still there.

evallgar commented 8 years ago

So do I, just downloaded and installed v2rc4 and all my template level subscriptions are re-subscribing endlessly. @raix any guidance will be very much appreciated. Thanks. i'm using this packages:

meteor-base             # Packages every Meteor app needs to have
mobile-experience       # Packages for a great mobile UX
mongo                   # The database Meteor supports right now
blaze-html-templates    # Compile .html files into Meteor Blaze views
session                 # Client-side reactive dictionary for your app
jquery                  # Helpful client-side library
tracker                 # Meteor's client-side reactive programming library

es5-shim                # ECMAScript 5 compatibility for older browsers.
ecmascript              # Enable ECMAScript2015+ syntax in app code

less
twbs:bootstrap
cwaring:modernizr
revox:pages-core
gromo:jquery.scrollbar
fortawesome:fontawesome
meteorhacks:flow-layout
zimme:active-route
momentjs:moment
kadira:flow-router
softwarerero:accounts-t9n
accounts-base
accounts-password
accounts-ui
aldeed:simple-schema
aldeed:collection2
ejson
useraccounts:flow-routing
kadira:blaze-layout
useraccounts:bootstrap
random
aslagle:reactive-table
anti:i18n
mayankchhabra:autoform-switchery
alanning:roles
aldeed:autoform
aldeed:autoform-bs-datepicker
aldeed:autoform-bs-button-group-input
check
kadira:debug
browser-policy
reactive-var
dburles:google-maps
rajit:bootstrap3-datepicker
tsega:bootstrap3-datetimepicker@=3.1.3_3
aldeed:autoform-bs-datetimepicker
gandev:server-eval
oaf:moment-duration-format
rzymek:moment-locale-es
natestrauser:select2
aldeed:autoform-select2
standard-minifier-css
standard-minifier-js
meteorhacks:subs-manager
dbarrett:dropzonejs
rikonor:autoform-image-gallery
leeb:bootstrap3-select
lepozepo:accounting
gibson:meteor-autonumeric
jeremy:selectize
comerc:autoform-selectize
jamiecollinson:selectize-bootstrap
awsp:handsontable
elevatedevdesign:autoform-nouislider
ecwyne:nexmo-sms
cosio55:autoform-cloudinary-es
anti:fake
isotope:isotope
mrt:jquery-masonry
osv:mongo-counter
ground:db
dagatsoin commented 8 years ago

@raix I have the same problem on Android. I found that having the package, event unused, cause DDP to dis/connect continuously. So the resubscribing is fired endlessly.

If you want a repro:

1- create a new app with meteor 2- paste this:

Meteor.startup(()=> {
  Tracker.autorun(()=>{
    console.log(Meteor.status().status);
  });
});

3- add the grounddb package 4- launch on the device

You will see:

I20160826-23:08:58.890(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:08:59.102(2) (android:http://localhost:12752/app/app.js:34) connected
I20160826-23:09:16.373(2) (android:http://localhost:12752/app/app.js:34) waiting
I20160826-23:09:16.392(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:09:16.637(2) (android:http://localhost:12752/app/app.js:34) connected
I20160826-23:09:33.880(2) (android:http://localhost:12752/app/app.js:34) waiting
I20160826-23:09:33.896(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:09:34.383(2) (android:http://localhost:12752/app/app.js:34) connected
I20160826-23:09:51.377(2) (android:http://localhost:12752/app/app.js:34) waiting
I20160826-23:09:51.393(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:09:51.453(2) (android:http://localhost:12752/app/app.js:34) connected
I20160826-23:10:08.876(2) (android:http://localhost:12752/app/app.js:34) waiting
I20160826-23:10:08.892(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:10:09.374(2) (android:http://localhost:12752/app/app.js:34) connected
I20160826-23:10:26.377(2) (android:http://localhost:12752/app/app.js:34) waiting
I20160826-23:10:26.403(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:10:26.508(2) (android:http://localhost:12752/app/app.js:34) connected
I20160826-23:10:43.875(2) (android:http://localhost:12752/app/app.js:34) waiting
I20160826-23:10:43.899(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:10:43.965(2) (android:http://localhost:12752/app/app.js:34) connected
I20160826-23:11:01.379(2) (android:http://localhost:12752/app/app.js:34) waiting
I20160826-23:11:01.401(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:11:01.483(2) (android:http://localhost:12752/app/app.js:34) connected
I20160826-23:11:18.880(2) (android:http://localhost:12752/app/app.js:34) waiting
I20160826-23:11:18.898(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:11:18.983(2) (android:http://localhost:12752/app/app.js:34) connected
I20160826-23:11:36.380(2) (android:http://localhost:12752/app/app.js:34) waiting
I20160826-23:11:36.429(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:11:36.534(2) (android:http://localhost:12752/app/app.js:34) connected
I20160826-23:11:53.879(2) (android:http://localhost:12752/app/app.js:34) waiting
I20160826-23:11:53.897(2) (android:http://localhost:12752/app/app.js:34) connecting
I20160826-23:11:53.966(2) (android:http://localhost:12752/app/app.js:34) connected
raix commented 8 years ago

is this also happening on 2.0.0-rc.5? try removing ground db and keep dispatch:kernel@0.0.6 to see if the issue persists

dagatsoin commented 8 years ago

Indeed, dispatch:kernel@0.0.6 alone leads to this issue. This is the same issue as https://github.com/DispatchMe/meteor-kernel/issues/5

aqib1604 commented 7 years ago

@dagatsoin @raix I tried with fixed dispatch:Kernel . No luck It still going in endless loop.

I am having a same problem My page refreshes endlessly. I tried ground:db@0.3.15 as well as deeeed:grounddb2. Same issue with both.

And I am sure Its the problem of dispatch:kernel . Can you please help me out.

dagatsoin commented 7 years ago

Could you provide a repro ? It could also be related to the code of the subscribe function (I had this case too).

aqib1604 commented 7 years ago

@dagatsoin Hey, Thanks for the reply. I can't share my code due to some reason. Sorry for that. But Can you please let me know something about possible issue. So I can check by myself.