Closed ironfish closed 11 years ago
Hi Duncan, thanks a lot for your contribution, this is a very good starting point. Just left some comments in your initial commit.
I must admit that the JournalSpec does not provide (yet) the coverage it should. To get a good feeling whether your journal is implemented correctly, try to run it with the tests in eventsourced-core-test. As demonstrated with LevelDB this can be done with a journal-specific test support trait hooked into the test fixture used by these tests. You need to recompile after changing it to MongodbSupport (or similar). A setup that runs automatically picks all existing journal implementations is planned.
Furthermore, for the HBase journal I pushed today, I configured the tests to run as integration tests so that they're only executed with sbt it:test
but not with sbt test
(see sbt docu for details). This was necessary because I still cannot get an HBase minicluster running on Travid CI. Maybe that's also a reasonable setting for the MongoDB journal tests as well. WDYT?
Martin,
I've tested against eventsourced-core-test by creating the following:
In order to run the EventsourcingSpec.scala you will need to make the following changes as per your suggestion and recompile:
import org.eligosource.eventsourced.journal.mongodb.casbah._
with MongodbSpecSupport
to abstract class EventsourcingSpec[T ...
with MongodbFixtureSupport
to class EventsourcingFixture[A] extends EventsourcingFixtureOps[A]
The build is a little slow (24 seconds) as opposed to (6 seconds) because it has to create the embedded mongo instance for each test. All tests pass - Yahoo!
Finally, If you prefer, I will move the MongodbJournalSpec.scala to IT
but it runs pretty fast so I'm not sure its needed. Your Thoughts?
Great, I'll give it a try tomorrow morning. Regarding the MongodbJournalSpec I think it's ok the leave it as it is. We can still move it later when needed.
Awesome work Duncan, really like it. Just merged and pushed to master. Thanks a lot for your valuable contributions.
Cheers, Martin
Duncan, would you mind adding some usage documentation for the new MongoDB journal? I just created and pushed a template for it and linked it from the main documentation file.
Thanks, Martin
Will do.
..
{ name : "Duncan DeVore", company : "Viridity Energy, Inc.", phone : "+1.267.227.1992", location : "Philadelphia, PA", twitter : ["@ironfish", "@viridityenergy"] } On March 18, 2013 at 4:08:53 AM, Duncan DeVore wrote: Duncan, would you mind adding some usage documentation for the new MongoDB journal? I just created and pushed a template for it and linked it from the main documentation file. Thanks, Martin
The preceding email message may contain confidential information of Viridity Energy, Inc. It is not intended for transmission to, or receipt by, any unauthorized persons. If you have received this message in error, please (i) do not read it, (ii) reply to the sender that you received the message in error, and (iii) erase or destroy the message.
Since, MongoDB journal has passed the existing tests for LevelDB, does this mean MongoDB journal can be used in Production? If not, could you please elaborate? Thanks.
Hi neowulf33,
Yes the MongoDB journals are currently production ready. We have been using them in our project for about 5 months now. That being said I expect to release the Akka-Persistence MongoDB Journal plugin sometime within the next 4 weeks but that will be in “experimental” until Akka-Persistence is officially released.
Cheers,
Duncan
On Nov 11, 2013, at 4:18 PM, neowulf33 notifications@github.com wrote:
Since, MongoDB journal has passed the existing tests for LevelDB, does this mean MongoDB journal can be used in Production? If not, could you please elaborate? Thanks.
— Reply to this email directly or view it on GitHub.
Martin, you'll need an instance of mongoDB running for the tests.