Does the migration utility work for migrating from mongodb to axon server?

I am working on determining what migrating our existing app to axon server would look like. Right now I am trying to migrate events from mongodb to axon server using the migration utility but I am not having any success. I noticed there is a default profile for migrating from jpa (migrate-from-jpa), so I tried running it using the profile name migrate-from-mongo, but no luck.

Right now my applicaiton.properties file contains…


axoniq.axonserver.servers=localhost
axoniq.datasource.eventstore.url=mongodb://localhost:27017/sample-db
axoniq.datasource.eventstore.username=admin
axoniq.datasource.eventstore.password=admin

And I am running the jar using the basic command...


java -jar axonserver-migration-4.0-exec.jar

Thanks,
Ben

Ben,
unfortunately the current version of the migration utility does not provide for that path, but it is definitely something we’d be interested in.

Cheers,
Bert

PS
I assume those credentials are just for development, right? :wink:

Bert,

Where is the repo for the migration tool? My team might be able to bite this off since we will need to migrate from Mongo in order to use Axon Server in the future.

And yes, those are dummy creds for a temp instance of Axon Server.

-Ben

Ben,
our focus at the moment is to finish getting Axon Server open sourced and split off from the Enterprise version. When this gets pushed out, which we expect in the beginning of January, the migration utility will be added there. If this is a problem, send an email and we can make a ZIP to get you started.

Cheers,
Bert

Bert,

Is there any progress on this? If possible, I would be happy to look into writing this code.

-Ben

Ben,
we have not yet come round to this, so if you want to help this along, please do!

Cheers,
Bert

Is the code somewhere I can see it?

Hi Ben,

I’m afraid it’s not part of a published repository. The implementation was also pre-Axon 4, and the current solution could be a lot simpler than how the migration tool is implemented.

You can create an EmbeddedEventStore pointing to your current Mongo implementation, as well as an Event Store pointing to AxonServer. Open a tracking event stream on your EmbdeddedEventStore and publish all the events on AxonServer.
The Event Stream is similar to an Iiterator (but with blocking options), so it should be fairly straightforward to read all the events. You don’t have to do anything with the messages. You can pass them straight to the AxonServerEventStore.

Hope this helps.
Cheers,

Where can I find/download the axonserver-migration-4.0-exec.jar?

I can not find this jar anywhere. We have 10ish or so services using axon 3 and want to upgrade to 4 for many reasons. But I am not able to find this jar anywhere, and it is stopping us from evaluating axon 4.

Thanks,
Carter

Hi Carter,

this question recently popped up in another channel, too. For some reason, the module wasn’t included in the regular download. We’ll fix that soon.
Until then, here is the link where you can download the migration tool:
http://download.axoniq.io/axonserver/axonserver-migration-4.0-exec.jar

Allard,

Thanks! and as usual you and your team are amazing, love the effort and work that you have done so far! You never cease to amaze me with your commitment to this project and the passion is apparent. Thanks again!

-Carter