Set disappears after aerospike restarts (Community Edition)

Problem

I write records to a set in aerospike, but upon restarting the service (by running sudo service aerospike restart, OR sudo service aerospike start, sudo service aerospike stop), all my data is gone - even the set itself is gone. All that remains is my namespaces, which are specified in the config file.

Specs

Here’s my config file:

# Aerospike database configuration file for use with systemd.

service {
    proto-fd-max 15000
}

logging {
    console {
        context any info
    }
}

network {
    service {
        address any
        port 3000
    }

    heartbeat {
        mode multicast
        multicast-group 239.1.99.222
        port 9918

        # To use unicast-mesh heartbeats, remove the 3 lines above, and see
        # aerospike_mesh.conf for alternative.

        interval 150
        timeout 10
    }

    fabric {
        port 3001
    }

    info {
        port 3003
    }
}

namespace users {
    replication-factor 2
    memory-size 4G
    storage-engine memory
}

namespace test {
    replication-factor 2
    memory-size 4G
    storage-engine memory

    # To use file storage backing, comment out the line above and use the
    # following lines instead.
#    storage-engine device {
#        file /opt/aerospike/data/bar.dat
#        filesize 16G
#        data-in-memory true # Store data in memory in addition to file.
#    }
}

I’m also running this off of a VirtualBox, not sure if that changes anything…

Relevant Notes

I also verified that the TTLs for the records that are disappearing are in fact -1, meaning that they should never expire.

I appreciate any help!

Wow I’m a true rookie haha, answering my own question - just replace the storage-engine from memory to device, and you can use the example given in the conf file itself to configure persistent storage on the device

1 Like

That is a very common mistake actually, and not only made by rookies! :slight_smile:

1 Like