Reference

clear map

Delete all entries from a Map file.

Description Jump to heading

A Map file contains a list of key-value pairs. You can reference the file on an acl line by using the -M and -f /path/to/file flags. Use clear map to remove all entries from a Map file. Note that this only removes them from the load balancer’s runtime memory and not from the file on disk.

Examples Jump to heading

Delete all entries from a map file Jump to heading

In this example, we delete all entries from the Map file /etc/hapee-3.0/maps/hosts.map:

nix
echo "clear map /etc/hapee-3.0/maps/hosts.map" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "clear map /etc/hapee-3.0/maps/hosts.map" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999

Delete all entries from a map file in a transaction Jump to heading

Available since

  • HAProxy 2.4
  • HAProxy Enterprise 2.4r1

Multiple map file changes can be submitted atomically using the transaction feature. Use prepare map to start a transaction and commit map to apply the transaction.

The prepare map command returns a temporary map file version ID. Specify this ID using the “at” (@) symbol before the map ID.

  1. Use the show maps command to list map files and their unique IDs.

    nix
    echo "show map" | \
    sudo socat stdio tcp4-connect:127.0.0.1:9999
    nix
    echo "show map" | \
    sudo socat stdio tcp4-connect:127.0.0.1:9999
    output
    text
    # id (file) description
    0 (/etc/hapee-3.0/routes.map) pattern loaded from file '/etc/hapee-3.0/routes.map' used by map at file '/etc/hapee-3.0/hapee-lb.cfg' line 61. curr_ver=0 next_ver=1 entry_cnt=0
    output
    text
    # id (file) description
    0 (/etc/hapee-3.0/routes.map) pattern loaded from file '/etc/hapee-3.0/routes.map' used by map at file '/etc/hapee-3.0/hapee-lb.cfg' line 61. curr_ver=0 next_ver=1 entry_cnt=0
  2. Pass the map file’s unique ID to show map to display entries in the file:

    nix
    echo "show map #0" | \
    sudo socat stdio tcp4-connect:127.0.0.1:9999
    nix
    echo "show map #0" | \
    sudo socat stdio tcp4-connect:127.0.0.1:9999
    output
    text
    0x563bbeeee160 /cart/ cart_api
    0x563bbeeee1a0 /reviews/ reviews_api
    0x563bbeeee1f0 /support/ support_api
    output
    text
    0x563bbeeee160 /cart/ cart_api
    0x563bbeeee1a0 /reviews/ reviews_api
    0x563bbeeee1f0 /support/ support_api
  3. Use prepare map to start a transaction.

    nix
    echo "prepare map #0" | \
    sudo socat stdio tcp4-connect:127.0.0.1:9999
    nix
    echo "prepare map #0" | \
    sudo socat stdio tcp4-connect:127.0.0.1:9999
    output
    text
    New version created: 1
    output
    text
    New version created: 1
  4. Delete all keys and values from the temporary transaction file.

    nix
    echo "clear map @1 #0" | \
    sudo socat stdio tcp4-connect:127.0.0.1:9999
    nix
    echo "clear map @1 #0" | \
    sudo socat stdio tcp4-connect:127.0.0.1:9999
  5. Use commit map to apply the transaction.

    nix
    echo "commit map @1 #0" | \
    sudo socat stdio tcp4-connect:127.0.0.1:9999
    nix
    echo "commit map @1 #0" | \
    sudo socat stdio tcp4-connect:127.0.0.1:9999

See also Jump to heading

Do you have any suggestions on how we can improve the content of this page?