bwmcadams / hammersmith Goto Github PK
View Code? Open in Web Editor NEWPure asynchronous MongoDB Driver for Scala.
Home Page: http://mongodb.org
Pure asynchronous MongoDB Driver for Scala.
Home Page: http://mongodb.org
Evaluate if we even need ClassTag...
Allow users to fully control if a pool is used or not.
We have been testing this within Akka but need good internal tests.
We don't want any race conditions related to forgetting to store things first.
Read Preference is like Write Concern and can be set implicitly or explicitly.
Once MongoDB 2.0 ships it will support Tags as well, but to start with Read Preference has two states:
"Primary"
"Secondary"
Which indicates a preference for where to read from. primary is equiv of the old slaveOK=False, secondary slaveOK=false
We should always return Seq (or the appropriate analog) to a user.
e.g. set back to default.
Mixing in a custom Selector, strategy etc. Rather than us hardcoding it.
We should have "Defaults" that we mix in if no overrides are given.
This is sort of partially is done right now but basically, right now if we send an insert before we totally read back out the MaxBSONObjectSize.
For now, I've changed it to never do the old default of 0, defaulting instead to the old 4mb. This leaves our only real risk that an early (Before connection is totally shaken out) insert may break a bulk into more messages than possible.
It MAY cause a bug however if we read a large (> 4mb) message too early.
I have wired the callback / queuing to take the arg though.
I'd say anyway we say hammersmith supports MongoDB 3.0+ spec only?
No invalid keys (., $, etc).
Verify doesn't violate max BSON size.
is there any plan on doing as titled in the near future? i know casbah is not 2.9.1 ready but changes that are required to do so is trivial. i will issue a pull request for that. but for bson driver, i tried to do it but the changes between version 2.5.2 and 2.6.5 of mongo-java-driver is just too great for me to finish in a short time i have available.
To use a custom object one must be specifying it for VALUE, while Hammersmith still unwraps the inner value as your type class
This is especially important in the Pipeline for the LengthFieldBasedFrameDecoder.
We may have to create a special subclass of this which can dynamically reconfigure once MaxBSON is fetched... but we can't stick to the default of 4MB on a server that supports 16.
This should also move the Bootstrap ChannelFuture to a listener based one, and not callback until isMaster has been succesfully called.
Authentication has been initially implemented but needs to be tested and validated.
Should be 4x MaxBSON
Support and test Replica Sets; outlined in docs on "Connecting Drivers to Replica Sets"
Must be attached to individual ChannelHandler; should run on a timer (Actor timer?)... Possibly also triggered by other user configurable Threshold conditions ( Strategy ? ).
EXHAUSTING a cursor should automatically clean it up on server; anytime a cursor is generated with ID 0 (meaning no more on server) or we get a 0 back on a getMore we should obviate the need to GC it.
So we need a way to make sure it gets cleaned up if it isn't fully used. Evaluate Java Driver's current approach.
Finalize method probably isn't safe.
Maybe add the cursor ID to a cleanup queue and remove it if it zeros... but how to detect if it should be cleaned or not?
Twitter doesn't build for 2.9.0-1 yet and I'd like to fix this as well as reduce external dependencies. It seems the best solution is to simply import the code I use to the codebase.
As they are Apache 2 licensed, not an issue.
Something is wrong in the code which determines if ID needs to be rewritten. Huge PITA to test, and MongoD generates the _id if it is missing but this needs to be tracked down and fixed.
ADT!
They were removed in the Akka migration.
"Deep inside the Java driver somewhere, the resolved IP is cached, which means if an instance goes down and is replaced with another one, all apps must be restarted in order to see the new IP (yes, we have set all the appropriate ttl properties as per Sun's documentation, it has no effect)."
Project isn't going to transition to a 10gen official, so copyright should become mine (leaving 10gen's in given my work for them in the past) and packaging change to net.evilmonkeylabs or just "hammersmith"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.