I am running the latest gateway, LNS and application server on an ARM 9 platform running Ubuntu 16.04 with Redis 5.0.2 (00000000/0) 32 bit.
All my devices are loosing their OTAA activation data (“This device has not (yet) been activated”) after a power cycle/reboot with data is still coming into the gateway, even though I have the following set in /etc/redis/redis.conf :
I’m not a fan of appendonly and prefer snapshotting at an interval where I can tolerate potential, small loss. I like the following as a starting point:
redis-server --save 300 1 --save 60 100 --appendonly no
You also haven’t mentioned where the data is stored. Is this in a Docker volume or running natively in an OS (I’m assuming the latter, given ARM9 and Ubuntu)?
With either approach, you should be able to see your persistence file being written while Redis is running.
Thank you ever so much for the prompt reply, I really appreciate it.
This is just running natively in the OS.
So I made these changes to /etc/redis/redis.conf :
save 300 1
save 60 100
appendonly no
Now I can see the following in redis-log:
823:M 28 Feb 2021 09:54:55.923 * 100 changes in 60 seconds. Saving…
823:M 28 Feb 2021 09:54:55.923 * Background saving started by pid 29374
29374:C 28 Feb 2021 09:54:55.934 * DB saved on disk
29374:C 28 Feb 2021 09:54:55.936 * RDB: 0 MB of memory used by copy-on-write
823:M 28 Feb 2021 09:54:56.024 * Background saving terminated with success
Yet, I am still losing my OTAA activation data after a power cycle/reboot, is there anything else that might need sorting out?
I checked the redis db and unless I am mistaken, both the NS & AS are writing to the db OK, but there are no keys being stored (the device in question is deveui 00137a100000d1c1, addr 00 21 4f 23, network session key 2b bc b7 dc 0f e4 f3 3c 8e c1 49 5e a5 3a b8 3c, app session key ef 20 92 16 62 de e8 1c 1a 40 5c cd db 1b e6 3b):