Commit Graph

5182 Commits

Author SHA1 Message Date
David Glasser
e042e5a85a Fix "drop collection" test failure
There was a race condition in the manipulation of the write fence by the
drop collection code. Specifically, when seeing a "drop collection"
oplog entry, OplogObserveDriver took no immediate action and instead
deferred some "should I re-poll now or later?" logic.

This allowed the write fence's oplogHandle.waitUntilCaughtUp code to
think that everything was "caught up" even though the effects of the
"drop collection" entry had not yet affected the cursor's state (by
transitioning it away from the STEADY state).  The fix is to ensure that
the state-change aspects of processing the entry occur immediately; the
actual re-query is still deferred in order to not block the oplog tailer
from continuing.

Reported by: @awwx

(The previous failure can made consistently reproducible by replacing the
`Meteor.defer` that is removed by this commit with a
`Meteor.setTimeout(,200)`.)
release/0.7.0 release/0.6.7-rc3
2013-12-16 17:42:51 -08:00
David Glasser
cce9d36dfa Add some XXX comments about when we should re-poll 2013-12-16 17:42:49 -08:00
Nick Martin
a6c8b5eef3 Give up on documenting facts current api. release/0.6.7-rc2 2013-12-15 19:40:57 -08:00
Nick Martin
9dfa0ee95f Update tools tests for Webapp bundled asset change 6eccf8c 2013-12-15 17:17:41 -08:00
David Glasser
2991ac9312 fix missing expect() call in password-tests
add a console.trace that helps debug it
2013-12-15 17:17:33 -08:00
David Glasser
2f745bb52f Test changing Date and ObjectID 2013-12-15 17:17:25 -08:00
Nick Martin
20e8e4241c Retry subscription on error. 2013-12-15 17:17:17 -08:00
Nick Martin
8b37c0084d Make facts automatically subscribe when you show the template.
Also, namespace the collection and subscription name.
2013-12-15 17:17:09 -08:00
David Glasser
fd215633cc Make observe driver facts names consistent 2013-12-15 17:16:59 -08:00
Nick Martin
de6fb4276d update displayed release version number for docs. 2013-12-13 02:19:34 -08:00
Nick Martin
9d5fb4d1e1 upgrade examples and docs. 2013-12-13 02:19:13 -08:00
David Glasser
a536b64c82 A few History tweaks release/0.6.7-rc1 2013-12-12 23:55:02 -08:00
David Glasser
71ca231c2b Take out check that can fail during failover 2013-12-12 23:54:46 -08:00
Nick Martin
a5d5a03189 Apply patch to node versions 0.10.22 and 0.10.23.
0.10.23 just came out and hasn't made any changes to the streams
stuff we patch.
2013-12-12 23:54:32 -08:00
David Glasser
5ebf0f2ec3 Avoid 100% CPU in tailing during Mongo failover 2013-12-12 23:54:22 -08:00
David Glasser
a244430f31 Handle modifications to EJSON custom types
OplogObserveDriver cannot try to directly apply these
representation-level mutations; it needs to get the entire custom type.

This implementation is overly conservative, but in practice
Meteor-originated writes shouldn't mutate EJSON custom types
anyway (they should treat them as atomic).
2013-12-12 23:53:44 -08:00
Nick Martin
09d129b799 First pass text for oplog tailing in History.md. 2013-12-12 23:53:26 -08:00
Nick Martin
506fb6a552 Also upgrade uglify-js. release/0.6.7-rc0 2013-12-11 18:57:30 -08:00
Nick Martin
930727d426 Some more real words for History.md 2013-12-11 18:23:40 -08:00
Slava Kim
13c9de24b3 Upgrade clean-css to 2.0.2 2013-12-11 17:48:58 -08:00
David Glasser
8de0ae58dc tinytest: test.equal should use EJSON.equals 2013-12-11 17:42:04 -08:00
David Glasser
8de5ebfc6f Become able to kill mongod spawned by pre-oplog branches 2013-12-11 17:04:06 -08:00
David Glasser
8c5ebca0d9 Ensure that we ignore old fetches when we repoll 2013-12-11 15:07:15 -08:00
David Glasser
ff7c35c5a3 "drop collection" support in oplog tailing
This version should be more correct than the previous implementation.
2013-12-11 13:50:24 -08:00
David Glasser
28f3ec0073 mailmap update 2013-12-11 10:57:47 -08:00
emgee3
23fb2e3b4b fix broken url in LICENSE.txt 2013-12-11 10:57:00 -08:00
Nick Martin
49b7e45295 Package metadata updates.
Make autopublish internal, as it is part of standard-app-packages
and not something we want users to think about.

Tweak the string for facts package. 'and custom' was a bit awkward.
2013-12-11 03:26:13 -08:00
Nick Martin
dddc4739cc History.md pass. 2013-12-11 03:18:43 -08:00
David Glasser
28b8c541a9 oplog: Don't transform query results 2013-12-11 00:53:55 -08:00
David Glasser
878cd8d4ae Ensure new test passes with --disable-oplog 2013-12-11 00:34:16 -08:00
David Glasser
3dd3bd3bca Get all relevant fields during initial query 2013-12-11 00:15:09 -08:00
David Glasser
b611db51c2 Implement _pollQuery. Don't call it. 2013-12-11 00:15:09 -08:00
Nick Martin
89ec9ddf62 Up timeout for printing mongo message. This way it doesn't happen normally during cold start (3--4 sec). 2013-12-10 22:13:12 -08:00
David Glasser
e6ad11883d Merge branch 'mongo-startup-speedup' into devel 2013-12-10 19:12:05 -08:00
David Glasser
b4c14af032 Fix find_mongo_pids regexp
Also add some comments to mongod options.
2013-12-10 19:09:41 -08:00
David Glasser
82d5fcabf8 Work around Node issue #6506.
We were previously doing this with a fork of Node in the dev bundle, but
that wouldn't help users in production.

We now expect users to use precisely v0.10.22 in production. When new
versions of Node come out, if users choose to use them before we get a
chance to put out a new Meteor, we disable websockets to work around the
most common effect of the issue instead of monkey-patching.
2013-12-10 19:05:02 -08:00
Nick Martin
f9b394de4f Use smaller oplog (8MB instead of 256MB default).
This uses less space on disk and starts up faster. It might mean
people hit the end of the oplog if the server gets really slow.
But, hey, then we can debug and test more oplog error modes.
2013-12-10 17:47:49 -08:00
Nick Martin
24a80d49b1 Preemptively add bcrypt to the dev bundle. We think we may want it soon. 2013-12-10 15:36:46 -08:00
Nick Martin
1b08ac2d9d Upgrade to stock Node 0.10.22.
This discards our fix for stream pausing. We'll monkey patch it in
at startup instead of relying on a custom build.
2013-12-10 15:27:40 -08:00
Nick Martin
db624dd162 New dev bundle: mongo with startup speed boost.
Also upgrade to 2.4.8 while we're at it.

(In the meteor/mongo repository, we've created an ssl-2.4.8 branch, and
also added a backported-from-Mongo-2.5 change to poll the repl set
config more often on startup.)
2013-12-10 12:45:53 -08:00
Slava Kim
9fefc349e0 Make 'satellite' a special key in logging 2013-12-09 13:56:04 -08:00
David Glasser
163dccf5e7 Make _currentlyFetching null unless FETCHING 2013-12-06 18:36:54 -08:00
David Glasser
76bf0be8ca Remove an unnecessary Fiber. 2013-12-06 18:32:25 -08:00
David Glasser
6bcaaf9116 Merge branch 'pr/1659' into devel 2013-12-06 14:27:27 -08:00
David Glasser
1ebcd84811 Test for #1659 2013-12-06 14:27:12 -08:00
Mitar
30e709006e Fix so that it is really possible to pass null to disable transformation in validators. 2013-12-06 14:16:46 -08:00
Dan Dascalescu
b556a474d3 Mention Meteor.bindEnvironment
Google searches for the error fail to find the Meteor docs, and there was no mention of bindEnvironment therein.
2013-12-06 14:12:18 -08:00
Nick Martin
1eff62f0f3 Only count files that actually go in the cache in the cache size check. Fixes #1653. 2013-12-06 14:10:19 -08:00
David Glasser
51b786c64c docs: Fix line break and punctuation 2013-12-06 13:40:59 -08:00
Denis Gorbachev
5a8fcee957 Fix docs paragraph 2013-12-06 13:39:07 -08:00