dnsimple / erldns

DNS server, in Erlang.
MIT License
398 stars 98 forks source link

Feature/remove zone record lists #95

Closed aeden closed 4 years ago

aeden commented 4 years ago

Reduce the impact of large zones on query response time by significantly reducing the amount of data copied from storage into process memory on each request.

Note that the records in the zone is now replaced with two tables:

This allows for faster searches when all of the records are needed at a given name (using the zone_records table) as well as when records are needed by name & type (using zone_records_typed)

aeden commented 4 years ago

Note that I have not added the tables for the mnesia storage as I do not have a test harness in place for this since we do not use mnesia.

aeden commented 4 years ago

I have identified an issue where zones are not properly removed when delete_zone is called. I will need to fix this first before merging.

aeden commented 4 years ago

Furthermore when zones are put in the cache old records are not purged properly.

aeden commented 4 years ago

There is still an issue purging for non-apex names.

aeden commented 4 years ago

Purging issue is fixed and Mnesia is now implemented.