How to import topic

Hello everyone,

is it possible to import a topic from a different machine?
I’ve tried moving the topic folder inside actyx-data/store from a different computer into my own, but I cant access the events in my node manager.

Hello there! Sorry for the late response, this somehow slipped through.

Accessing and working with an existing topic on a new machine is most easily done by connecting to the swarm that has the topic running — all events will be synchronised to the new machine, usually within a few seconds.

Moving directories under actyx-data around is not foreseen in our operational procedures — in particular, the events stored in a topic directory are comparable to a git repository without branches, they won’t be found.

My recommendation is to take the full actyx-data directory that contains the wanted events and have Actyx running with it, then connect with a second node. Please make sure that you don’t duplicate a node in the same swarm in this fashion — if you have two Actyx processes running from copies of the same actyx-data directory then the resulting swarm will exhibit erratic behaviour and information loss. Starting Actyx on an actyx-data archive from elsewhere is very helpful for debugging, but should always happen in a network that is disconnected completely from production; the resulting actyx-data on the dev machine should be deleted after debugging to avoid inadvertent event stream contamination.

The above notwithstanding I’d like to understand what problem you are trying to solve. Perhaps we can more directly and better support your use-case by tweaking a few things or adding a feature.

We want to analyse some events and incase of errors be able to reproduce those with the same events.
I cant connect my developer pc to the swarm in question. Is there no way to “copy” the events without connecting with the swarm?

Ah, right. I see that we should support that better. Right now the only easy way is to copy the whole actyx-data, not just the topic directory.

Ideally, you’d want something like SQL dump/restore functionality — where restore in this case is somewhat problematic in the general case, we’d have to suitably restrict it to avoid surprising behaviour (like event order not be preserved or otherwise messing with the system you import the data into).