When asbackup, more objects are seen in the log than the number of objects viewed in the show set

When asbackup, more objects are seen in the log than the number of objects viewed in the show set.

SHOW SETS

objects : 1225774 1225774
set : channel channel
set-enable-xdr : use-default use-default
stop-writes-count: 0 0
tombstones : 0 0
truncate_lut : 0 0

BACKUP LOG

2023-10-27 07:26:04 GMT [INF] [32626] Backed up 1227458 record(s), 0 secondary index(es), 0 UDF file(s) from 2 node(s), 111893805 byte(s) in total (~91 B/rec)

Was there any records added / removed while the backup was going on?

Was the backup done for that specific set rather than the whole namespace? The namespace may have had records not belonging to any set (if that was the only set in the namespace).

thank you for your support, i want to check that records not belonging to any set how can i

You can check the total number of records in the namespace (or master only) and subtrack the number of records from each set… I am not sure the ‘null’ set has its own stat for the number of records it holds. Here is the stat: master_objects.

The difference during backup was confirmed by master_object statistics. Is it impossible to determine what data is not included in the set using asadm / aql

You mean the master_objects statistic matches what was backed up and you are trying to figure out what objects are not in the set? You should be able to run a query with a filter to return only records that are not in the set or you could simply check in the backup file since the set name is saved in readable format in the backup file itself, so you could check for the records that are not in that set.

i found it in the backup file

[ Backup file ]

+ g 2
+ t 436623723
+ b 1
- S  554 0AF001E3CEEE226162CD248BD00D13F43B8DD4A3781B6FA3CA9C0B9D43D48C2D575091654633BF4BB4F4B183ADCE515392B9A47DC6C3E6013D4B10B303F46F08C937
077D4C8E56866F50D476813FC630FA1E50310304777E91F3B229742D56DA41A2634DCFC398A834A6960A9224BD6E14F24E6574BE381B4A2D6767AE5A78D891EBFCC9DE98F9D30
D4EA73B5D450AD228528FA75770905C9D9AFA6C80C18C8585A4DF6263920A54D93B449A82462EE41F5BA7B362478AEF1221075F430FC5C975D90DE114A5DD3C1BF7D4B8BA89D1
DD0036550130CD36DB23DC795FEDC6F34778EE53016C1B84980361C5904BD210D20288EA12208AD2ED5EC2B78F611B91E75C012ABB0E4016DCCB2465CA60912457E60B4EEB0C
  • but i want to check the record not belonging to sets using query ( aql or asadm )
  • could i ask you for some advice?

By the way, you can also of course backup the specific set only if that was your initial intent (see the -s option here: asbackup command-line options | Aerospike Documentation).

To your question, asadm wouldn’t allow to query the data. aql can query but I am not sure about the syntax to directly provide metadata filter using aql. It should be easy with some simple code, though.

You can check the example for how to query data with a metada filter: Primary Index Queries | Developer . And here is the filter for the set name: Record Metadata | Aerospike Documentation.