Redis-CappedCollection v1.10 Perl 5 v5.35.10 x86_64-linux-thread-multi

Status
Fail
From
Andreas J. König (ANDK)
Dist
Redis-CappedCollection v1.10
Platform
Perl 5 v5.35.10 x86_64-linux-thread-multi
Date
2022-03-13 17:41:42
ID
d83213de-a2f4-11ec-93db-34cf8d06f81f
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language.  See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org


--
Dear Sergey Gladkov,

This is a computer-generated report for Redis-CappedCollection-1.10
on perl 5.35.10, created by CPAN-Reporter-1.2018.

Thank you for uploading your work to CPAN.  However, there was a problem
testing your distribution.

If you think this report is invalid, please consult the CPAN Testers Wiki
for suggestions on how to avoid getting FAIL reports for missing library
or binary dependencies, unsupported operating systems, and so on:

http://wiki.cpantesters.org/wiki/CPANAuthorNotes

Sections of this report:

    * Tester comments
    * Program output
    * Prerequisites
    * Environment and other context

------------------------------
TESTER COMMENTS
------------------------------

Additional comments from tester:

this report is from an automated smoke testing program
and was not reviewed by a human for accuracy

------------------------------
PROGRAM OUTPUT
------------------------------

Output from '/usr/bin/make test':

PERL_DL_NONLAZY=1 "/tmp/basesmoker-reloperl-MgV0/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/00_compile.t t/00_CappedCollection/00_compile.t t/00_CappedCollection/01_new.t t/00_CappedCollection/02_insert.t t/00_CappedCollection/03_update.t t/00_CappedCollection/04_receive.t t/00_CappedCollection/05_collection_info.t t/00_CappedCollection/06_pop_oldest.t t/00_CappedCollection/07_exists.t t/00_CappedCollection/08_lists.t t/00_CappedCollection/09_drop_collection.t t/00_CappedCollection/10_quit.t t/00_CappedCollection/11_max_datasize.t t/00_CappedCollection/12_last_errorcode.t t/00_CappedCollection/13_name.t t/00_CappedCollection/14_max_list_items.t t/00_CappedCollection/15_cleanup_bytes.t t/00_CappedCollection/17_cleanup_items.t t/00_CappedCollection/18_info.t t/00_CappedCollection/19_drop.t t/00_CappedCollection/20_cleaning.t t/00_CappedCollection/21_rollback.t t/00_CappedCollection/22_alarm.t t/00_CappedCollection/23_cleaning_bench.t t/00_CappedCollection/24_timeout.t t/00_CappedCollection/25_cleaning_correctness.t t/00_CappedCollection/26_script_variable_protection.t t/00_CappedCollection/27_fork.t t/00_CappedCollection/28_data_dependency.t
t/00_CappedCollection/00_compile.t ..................... ok
# Unable to create test Redis server
t/00_CappedCollection/01_new.t ......................... ok
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 8.
t/00_CappedCollection/02_insert.t ...................... 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 8 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 8.
	(in cleanup) Can't call method "current_test" on an undefined value at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/site_perl/5.35.10/Test/NoWarnings/Warning.pm line 55 during global destruction.
t/00_CappedCollection/03_update.t ...................... 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 8 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 7.
t/00_CappedCollection/04_receive.t ..................... 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 7 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 36.
t/00_CappedCollection/05_collection_info.t ............. 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 36 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 8.
t/00_CappedCollection/06_pop_oldest.t .................. 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 8 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 23.
t/00_CappedCollection/07_exists.t ...................... 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 23 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 8.
t/00_CappedCollection/08_lists.t ....................... 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 8 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 8.
t/00_CappedCollection/09_drop_collection.t ............. 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 8 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 8.
t/00_CappedCollection/10_quit.t ........................ 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 8 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 21.
	(in cleanup) Can't call method "current_test" on an undefined value at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/site_perl/5.35.10/Test/NoWarnings/Warning.pm line 55 during global destruction.
t/00_CappedCollection/11_max_datasize.t ................ 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 21 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/site_perl/5.35.10/Redis.pm line 311.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 11.
	(in cleanup) Can't call method "current_test" on an undefined value at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/site_perl/5.35.10/Test/NoWarnings/Warning.pm line 55 during global destruction.
t/00_CappedCollection/12_last_errorcode.t .............. 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 11 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 14.
	(in cleanup) Can't call method "current_test" on an undefined value at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/site_perl/5.35.10/Test/NoWarnings/Warning.pm line 55 during global destruction.
t/00_CappedCollection/13_name.t ........................ 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 14 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 12.
	(in cleanup) Can't call method "current_test" on an undefined value at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/site_perl/5.35.10/Test/NoWarnings/Warning.pm line 55 during global destruction.
t/00_CappedCollection/14_max_list_items.t .............. 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 12 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 14.
	(in cleanup) Can't call method "current_test" on an undefined value at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/site_perl/5.35.10/Test/NoWarnings/Warning.pm line 55 during global destruction.
t/00_CappedCollection/15_cleanup_bytes.t ............... 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 14 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 26.
	(in cleanup) Can't call method "current_test" on an undefined value at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/site_perl/5.35.10/Test/NoWarnings/Warning.pm line 55 during global destruction.
t/00_CappedCollection/17_cleanup_items.t ............... 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 26 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 9.
t/00_CappedCollection/18_info.t ........................ 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 9 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 6.
t/00_CappedCollection/19_drop.t ........................ 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 6 subtests passed 
[EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.

Lua script 'insert':
-- adding data to a list of collections
collectgarbage( 'stop' )

local coll_name             = ARGV[2]
local list_id               = ARGV[3]
local data_id               = ARGV[4]
local data                  = ARGV[5]
local data_time             = tonumber( ARGV[6] )

-- key data storage structures
local NAMESPACE  = 'C'
local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
local STATUS_KEY = NAMESPACE..':S:'..coll_name
local DATA_KEYS  = NAMESPACE..':D:'..coll_name
local TIME_KEYS  = NAMESPACE..':T:'..coll_name
local DATA_KEY   = DATA_KEYS..':'..list_id
local TIME_KEY   = TIME_KEYS..':'..list_id
local REDIS_USED_MEMORY                     = 0
local REDIS_MAXMEMORY                       = 0
local ROLLBACK                              = {}
local TOTAL_BYTES_DELETED                   = 0
local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
local LAST_CLEANUP_ITEMS                    = 0
local LAST_OPERATION                        = ''
local INSERTS_SINCE_CLEANING                = 0
local UPDATES_SINCE_CLEANING                = 0

local _DEBUG, _DEBUG_ID, _FUNC_NAME

local table_merge = function ( t1, t2 )
    for key, val in pairs( t2 ) do
        t1[ key ] = val
    end
end

local _debug_log = function ( values )
    table_merge( values, {
        _DEBUG_ID                   = _DEBUG_ID,
        _FUNC_NAME                  = _FUNC_NAME,
        REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
        list_id                     = list_id,
        data_id                     = data_id,
        data_len                    = #data,
        ROLLBACK                    = ROLLBACK
    } )

    redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
end

local _setup = function ( argv_idx, func_name, extra_data_len )
    LAST_OPERATION = func_name

    REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
    local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )

    local redis_used_memory = string.match(
        redis.call( 'INFO', 'memory' ),
        'used_memory:(%d+)'
    )
    REDIS_USED_MEMORY = tonumber( redis_used_memory )
    LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
    if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
        LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
    end

    INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
    if INSERTS_SINCE_CLEANING == nil then
        INSERTS_SINCE_CLEANING = 0
    end
    UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
    if UPDATES_SINCE_CLEANING == nil then
        UPDATES_SINCE_CLEANING = 0
    end

    _FUNC_NAME  = func_name
    _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
    if _DEBUG_ID ~= 0 then
        _DEBUG = true
        _debug_log( {
            _STEP                   = '_setup',
            maxmemory               = REDIS_MAXMEMORY,
            redis_used_memory       = REDIS_USED_MEMORY,
            bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
        } )
    else
        _DEBUG = false
    end
end

local renew_last_cleanup_values = function ()
    if LAST_CLEANUP_ITEMS > 0 then
        local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
        local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
        if #last_cleanup_bytes_values >= 10 then
            table.remove ( last_cleanup_bytes_values, 1 )
            table.remove ( last_cleanup_items_values, 1 )
        end
        table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
        table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
    end
end

local cleaning_error = function ( error_msg )
    if _DEBUG then
        _debug_log( {
            _STEP       = 'cleaning_error',
            error_msg   = error_msg
        } )
    end

    for _, rollback_command in ipairs( ROLLBACK ) do
        redis.call( unpack( rollback_command ) )
    end
    -- Level 2 points the error to where the function that called error was called
    renew_last_cleanup_values()
    error( error_msg, 2 )
end

-- deleting old data to make room for new data
local cleaning = function ( list_id, data_id, is_cleaning_needed )
    local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )

    if coll_items == 0 then
        return
    end

    local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
    local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )

    if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
        return
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Before cleanings',
            coll_items      = coll_items,
            cleanup_items   = cleanup_items,
            cleanup_bytes   = cleanup_bytes,
        } )
    end

    local items_deleted = 0
    local bytes_deleted = 0
    local lists_deleted = 0

    repeat
        if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
            -- Level 2 points the error to where the function that called error was called
            renew_last_cleanup_values()
            error( 'Queue key does not exist', 2 )
        end

        -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
        local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
        last_removed_time = tonumber( last_removed_time )
        -- key data structures
        local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
        local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id

        -- looking for the oldest data
        local to_delete_data_id
        local to_delete_data
        local items = redis.call( 'HLEN', to_delete_data_key )
-- #FIXME: to_delete_data -> to_delete_data_len
-- HSTRLEN key field
-- Available since 3.2.0.
        if items == 1 then
            to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
        else
            to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
            to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
        end
        local to_delete_data_len = #to_delete_data
        to_delete_data = nil    -- free memory

        if _DEBUG then
            _debug_log( {
                _STEP               = 'Before real cleaning',
                items               = items,
                to_delete_list_id   = to_delete_list_id,
                to_delete_data_id   = to_delete_data_id,
                to_delete_data_len  = to_delete_data_len
            } )
        end

        if to_delete_list_id == list_id and to_delete_data_id == data_id then
            if items_deleted == 0 then
                -- Its first attempt to clean the conflicting data, for which the primary operation executed.
                -- In this case, we are roll back operations that have been made before, and immediately return an error,
                -- shifting the handling of such errors on the client.
                cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
            end
            break
        end

        if _DEBUG then
            _debug_log( {
                _STEP           = 'Why it is cleared?',
                coll_items      = coll_items,
                cleanup_bytes   = cleanup_bytes,
                cleanup_items   = cleanup_items,
                items_deleted   = items_deleted,
                bytes_deleted   = bytes_deleted,
            } )
        end

        -- actually remove the oldest item
        redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
        items = items - 1
        coll_items = coll_items - 1

        redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )

        if items > 0 then
            -- If the list has more data
            redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
            local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
            redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )

            if items == 1 then
                redis.call( 'DEL', to_delete_time_key )
            end
        else
            -- If the list does not have data
            -- remove the name of the list from the queue collection
            redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
            lists_deleted = lists_deleted + 1
        end

        -- amount of data collection decreased
        items_deleted = items_deleted + 1
        bytes_deleted = bytes_deleted + to_delete_data_len

        if _DEBUG then
            _debug_log( {
                _STEP               = 'After real cleaning',
                to_delete_data_key  = to_delete_data_key,
                to_delete_data_id   = to_delete_data_id,
                items               = items,
                items_deleted       = items_deleted,
                bytes_deleted       = bytes_deleted,
            } )
        end

    until
            coll_items <= 0
        or (
                items_deleted >= cleanup_items
            and bytes_deleted >= cleanup_bytes
        )

    if items_deleted > 0 then
        -- reduce the number of items in the collection
        redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
    end
    if lists_deleted > 0 then
        -- reduce the number of lists stored in a collection
        redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
    end

    if _DEBUG then
        _debug_log( {
            _STEP           = 'Cleaning finished',
            items_deleted   = items_deleted,
            bytes_deleted   = bytes_deleted,
            lists_deleted   = lists_deleted,
            cleanup_bytes   = cleanup_bytes,
            cleanup_items   = cleanup_items,
            coll_items      = coll_items,
        } )
    end

    if bytes_deleted > 0 then
        if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
            INSERTS_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
            UPDATES_SINCE_CLEANING = 0
            redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
        end

        TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
        LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted

        -- information values
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
        redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
    end
end

local call_with_error_control = function ( list_id, data_id, ... )
    local retries = 2
    local ret
    local error_msg = '<Empty error message>'
    repeat
        ret = redis.pcall( ... )
        if type( ret ) == 'table' and ret.err ~= nil then
            error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
            if _DEBUG then
                _debug_log( {
                    _STEP       = 'call_with_error_control',
                    error_msg   = error_msg,
                    retries     = retries
                } )
            end

            cleaning( list_id, data_id, true )
        else
            break
        end
        retries = retries - 1
    until retries == 0

    if retries == 0 then
        -- Operation returned an error related to insufficient memory.
        -- Start cleaning process and then re-try operation.
        -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
        -- if it still did not work.
        cleaning_error( error_msg )
    end

    return ret
end


-- determine whether there is a list of data and a collection
if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
    return { -1006, 0, 0, 0 }
end

local reduce_list_items = function ( list_id )
    local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
    if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
        local list_items        = redis.call( 'HLEN', DATA_KEY )
        local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
        local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

        while list_items >= max_list_items do
            local removed_data_time, removed_data_id
            list_items = list_items - 1

            if list_items == 0 then
                removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
                redis.call( 'ZREM', QUEUE_KEY, list_id )
                redis.call( 'DEL', DATA_KEY )
                redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
            else
                removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                removed_data_id     = tonumber( removed_data_id )
                removed_data_time   = tonumber( removed_data_time )
                redis.call( 'ZREM', TIME_KEY, removed_data_id )
                redis.call( 'HDEL', DATA_KEY, removed_data_id )

                local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
                redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )

                if redis.call( 'HLEN', DATA_KEY ) == 1 then
                    redis.call( 'DEL', TIME_KEY )
                end
            end

            redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )

            if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
                redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
                last_removed_time = removed_data_time
            end
        end
    end
end

reduce_list_items( list_id )


-- verification of the existence of old data with new data identifier
if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
    return { -1008, 0, 0, 0 }
end

-- Validating the time of new data, if required
local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )

if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
    if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
        if data_time < last_removed_time then
            return { -1009, 0, 0, 0 }
        end
    end
end

-- deleting obsolete data, if it is necessary
local data_len = #data
_setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
cleaning( list_id, data_id, false )

-- add data to the list
-- Remember that the list and the collection can be automatically deleted after the "crowding out" old data

-- the existing data
local items = redis.call( 'HLEN', DATA_KEY )
local existing_id, existing_time
if items == 1 then
    existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
    existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
end

-- actually add data to the list
call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
data = nil  -- free memory
table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )

if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
    redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
    table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
    call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
else
    if items == 1 then
        call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
        table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
    end
    call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
    local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
    redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
end

-- reflect the addition of new data
redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
if data_time < last_removed_time then
    redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
end

renew_last_cleanup_values()
-- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }

  at lib/Redis/CappedCollection.pm line 3800.
# Looks like your test exited with -1 just after 7.
t/00_CappedCollection/20_cleaning.t .................... 
Dubious, test returned 255 (wstat 65280, 0xff00)
All 7 subtests passed 

#   Failed test 'Error adding data: [EVAL] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- adding data to a list of collections
# collectgarbage( 'stop' )
# 
# local coll_name             = ARGV[2]
# local list_id               = ARGV[3]
# local data_id               = ARGV[4]
# local data                  = ARGV[5]
# local data_time             = tonumber( ARGV[6] )
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# local DATA_KEYS  = NAMESPACE..':D:'..coll_name
# local TIME_KEYS  = NAMESPACE..':T:'..coll_name
# local DATA_KEY   = DATA_KEYS..':'..list_id
# local TIME_KEY   = TIME_KEYS..':'..list_id
# local REDIS_USED_MEMORY                     = 0
# local REDIS_MAXMEMORY                       = 0
# local ROLLBACK                              = {}
# local TOTAL_BYTES_DELETED                   = 0
# local LAST_CLEANUP_BYTES_MUST_BE_DELETED    = 0
# local LAST_CLEANUP_ITEMS                    = 0
# local LAST_OPERATION                        = ''
# local INSERTS_SINCE_CLEANING                = 0
# local UPDATES_SINCE_CLEANING                = 0
# 
# local _DEBUG, _DEBUG_ID, _FUNC_NAME
# 
# local table_merge = function ( t1, t2 )
#     for key, val in pairs( t2 ) do
#         t1[ key ] = val
#     end
# end
# 
# local _debug_log = function ( values )
#     table_merge( values, {
#         _DEBUG_ID                   = _DEBUG_ID,
#         _FUNC_NAME                  = _FUNC_NAME,
#         REDIS_USED_MEMORY           = REDIS_USED_MEMORY,
#         list_id                     = list_id,
#         data_id                     = data_id,
#         data_len                    = #data,
#         ROLLBACK                    = ROLLBACK
#     } )
# 
#     redis.log( redis.LOG_NOTICE, _FUNC_NAME..': '..cjson.encode( values ) )
# end
# 
# local _setup = function ( argv_idx, func_name, extra_data_len )
#     LAST_OPERATION = func_name
# 
#     REDIS_MAXMEMORY = tonumber( redis.call( 'CONFIG', 'GET', 'maxmemory' )[2] )
#     local memory_reserve_coefficient = 1 + tonumber( redis.call( 'HGET', STATUS_KEY, 'memory_reserve' ) )
# 
#     local redis_used_memory = string.match(
#         redis.call( 'INFO', 'memory' ),
#         'used_memory:(%d+)'
#     )
#     REDIS_USED_MEMORY = tonumber( redis_used_memory )
#     LAST_CLEANUP_BYTES_MUST_BE_DELETED = REDIS_USED_MEMORY + extra_data_len - math.floor( REDIS_MAXMEMORY / memory_reserve_coefficient )
#     if LAST_CLEANUP_BYTES_MUST_BE_DELETED < 0 or REDIS_MAXMEMORY == 0 then
#         LAST_CLEANUP_BYTES_MUST_BE_DELETED = 0
#     end
# 
#     INSERTS_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'inserts_since_cleaning' ) )
#     if INSERTS_SINCE_CLEANING == nil then
#         INSERTS_SINCE_CLEANING = 0
#     end
#     UPDATES_SINCE_CLEANING = tonumber( redis.call( 'HGET', STATUS_KEY, 'updates_since_cleaning' ) )
#     if UPDATES_SINCE_CLEANING == nil then
#         UPDATES_SINCE_CLEANING = 0
#     end
# 
#     _FUNC_NAME  = func_name
#     _DEBUG_ID   = tonumber( ARGV[ argv_idx ] )
#     if _DEBUG_ID ~= 0 then
#         _DEBUG = true
#         _debug_log( {
#             _STEP                   = '_setup',
#             maxmemory               = REDIS_MAXMEMORY,
#             redis_used_memory       = REDIS_USED_MEMORY,
#             bytes_must_be_deleted   = LAST_CLEANUP_BYTES_MUST_BE_DELETED
#         } )
#     else
#         _DEBUG = false
#     end
# end
# 
# local renew_last_cleanup_values = function ()
#     if LAST_CLEANUP_ITEMS > 0 then
#         local last_cleanup_bytes_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_bytes' ) )
#         local last_cleanup_items_values = cjson.decode( redis.call( 'HGET', STATUS_KEY, 'last_cleanup_items' ) )
#         if #last_cleanup_bytes_values >= 10 then
#             table.remove ( last_cleanup_bytes_values, 1 )
#             table.remove ( last_cleanup_items_values, 1 )
#         end
#         table.insert( last_cleanup_bytes_values, TOTAL_BYTES_DELETED )
#         table.insert( last_cleanup_items_values, LAST_CLEANUP_ITEMS )
#         redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', cjson.encode( last_cleanup_bytes_values ) )
#         redis.call( 'HSET', STATUS_KEY, 'last_cleanup_items', cjson.encode( last_cleanup_items_values ) )
#     end
# end
# 
# local cleaning_error = function ( error_msg )
#     if _DEBUG then
#         _debug_log( {
#             _STEP       = 'cleaning_error',
#             error_msg   = error_msg
#         } )
#     end
# 
#     for _, rollback_command in ipairs( ROLLBACK ) do
#         redis.call( unpack( rollback_command ) )
#     end
#     -- Level 2 points the error to where the function that called error was called
#     renew_last_cleanup_values()
#     error( error_msg, 2 )
# end
# 
# -- deleting old data to make room for new data
# local cleaning = function ( list_id, data_id, is_cleaning_needed )
#     local coll_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'items' ) )
# 
#     if coll_items == 0 then
#         return
#     end
# 
#     local cleanup_bytes = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_bytes' ) )
#     local cleanup_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'cleanup_items' ) )
# 
#     if not ( is_cleaning_needed or LAST_CLEANUP_BYTES_MUST_BE_DELETED > 0 ) then
#         return
#     end
# 
#     if _DEBUG then
#         _debug_log( {
#             _STEP           = 'Before cleanings',
#             coll_items      = coll_items,
#             cleanup_items   = cleanup_items,
#             cleanup_bytes   = cleanup_bytes,
#         } )
#     end
# 
#     local items_deleted = 0
#     local bytes_deleted = 0
#     local lists_deleted = 0
# 
#     repeat
#         if redis.call( 'EXISTS', QUEUE_KEY ) == 0 then
#             -- Level 2 points the error to where the function that called error was called
#             renew_last_cleanup_values()
#             error( 'Queue key does not exist', 2 )
#         end
# 
#         -- continue to work with the to_delete (requiring removal) data and for them using the prefix 'to_delete_'
#         local to_delete_list_id, last_removed_time = unpack( redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' ) )
#         last_removed_time = tonumber( last_removed_time )
#         -- key data structures
#         local to_delete_data_key = DATA_KEYS..':'..to_delete_list_id
#         local to_delete_time_key = TIME_KEYS..':'..to_delete_list_id
# 
#         -- looking for the oldest data
#         local to_delete_data_id
#         local to_delete_data
#         local items = redis.call( 'HLEN', to_delete_data_key )
# -- #FIXME: to_delete_data -> to_delete_data_len
# -- HSTRLEN key field
# -- Available since 3.2.0.
#         if items == 1 then
#             to_delete_data_id, to_delete_data = unpack( redis.call( 'HGETALL', to_delete_data_key ) )
#         else
#             to_delete_data_id = unpack( redis.call( 'ZRANGE', to_delete_time_key, 0, 0 ) )
#             to_delete_data    = redis.call( 'HGET', to_delete_data_key, to_delete_data_id )
#         end
#         local to_delete_data_len = #to_delete_data
#         to_delete_data = nil    -- free memory
# 
#         if _DEBUG then
#             _debug_log( {
#                 _STEP               = 'Before real cleaning',
#                 items               = items,
#                 to_delete_list_id   = to_delete_list_id,
#                 to_delete_data_id   = to_delete_data_id,
#                 to_delete_data_len  = to_delete_data_len
#             } )
#         end
# 
#         if to_delete_list_id == list_id and to_delete_data_id == data_id then
#             if items_deleted == 0 then
#                 -- Its first attempt to clean the conflicting data, for which the primary operation executed.
#                 -- In this case, we are roll back operations that have been made before, and immediately return an error,
#                 -- shifting the handling of such errors on the client.
#                 cleaning_error( "OOM Command not allowed when used memory > 'maxmemory'." )
#             end
#             break
#         end
# 
#         if _DEBUG then
#             _debug_log( {
#                 _STEP           = 'Why it is cleared?',
#                 coll_items      = coll_items,
#                 cleanup_bytes   = cleanup_bytes,
#                 cleanup_items   = cleanup_items,
#                 items_deleted   = items_deleted,
#                 bytes_deleted   = bytes_deleted,
#             } )
#         end
# 
#         -- actually remove the oldest item
#         redis.call( 'HDEL', to_delete_data_key, to_delete_data_id )
#         items = items - 1
#         coll_items = coll_items - 1
# 
#         redis.call( 'HSET', STATUS_KEY, 'last_removed_time', last_removed_time )
# 
#         if items > 0 then
#             -- If the list has more data
#             redis.call( 'ZREM', to_delete_time_key, to_delete_data_id )
#             local oldest_item_time = tonumber( redis.call( 'ZRANGE', to_delete_time_key, 0, 0, 'WITHSCORES' )[2] )
#             redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, to_delete_list_id )
# 
#             if items == 1 then
#                 redis.call( 'DEL', to_delete_time_key )
#             end
#         else
#             -- If the list does not have data
#             -- remove the name of the list from the queue collection
#             redis.call( 'ZREM', QUEUE_KEY, to_delete_list_id )
#             lists_deleted = lists_deleted + 1
#         end
# 
#         -- amount of data collection decreased
#         items_deleted = items_deleted + 1
#         bytes_deleted = bytes_deleted + to_delete_data_len
# 
#         if _DEBUG then
#             _debug_log( {
#                 _STEP               = 'After real cleaning',
#                 to_delete_data_key  = to_delete_data_key,
#                 to_delete_data_id   = to_delete_data_id,
#                 items               = items,
#                 items_deleted       = items_deleted,
#                 bytes_deleted       = bytes_deleted,
#             } )
#         end
# 
#     until
#             coll_items <= 0
#         or (
#                 items_deleted >= cleanup_items
#             and bytes_deleted >= cleanup_bytes
#         )
# 
#     if items_deleted > 0 then
#         -- reduce the number of items in the collection
#         redis.call( 'HINCRBY', STATUS_KEY, 'items', -items_deleted )
#     end
#     if lists_deleted > 0 then
#         -- reduce the number of lists stored in a collection
#         redis.call( 'HINCRBY',  STATUS_KEY, 'lists', -lists_deleted )
#     end
# 
#     if _DEBUG then
#         _debug_log( {
#             _STEP           = 'Cleaning finished',
#             items_deleted   = items_deleted,
#             bytes_deleted   = bytes_deleted,
#             lists_deleted   = lists_deleted,
#             cleanup_bytes   = cleanup_bytes,
#             cleanup_items   = cleanup_items,
#             coll_items      = coll_items,
#         } )
#     end
# 
#     if bytes_deleted > 0 then
#         if TOTAL_BYTES_DELETED == 0 then    -- first cleaning
#             INSERTS_SINCE_CLEANING = 0
#             redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
#             UPDATES_SINCE_CLEANING = 0
#             redis.call( 'HSET', STATUS_KEY, 'updates_since_cleaning', UPDATES_SINCE_CLEANING )
#         end
# 
#         TOTAL_BYTES_DELETED = TOTAL_BYTES_DELETED + bytes_deleted
#         LAST_CLEANUP_ITEMS = LAST_CLEANUP_ITEMS + items_deleted
# 
#         -- information values
#         redis.call( 'HSET', STATUS_KEY, 'last_cleanup_maxmemory', REDIS_MAXMEMORY )
#         redis.call( 'HSET', STATUS_KEY, 'last_cleanup_used_memory', REDIS_USED_MEMORY )
#         redis.call( 'HSET', STATUS_KEY, 'last_bytes_must_be_deleted', LAST_CLEANUP_BYTES_MUST_BE_DELETED )
#     end
# end
# 
# local call_with_error_control = function ( list_id, data_id, ... )
#     local retries = 2
#     local ret
#     local error_msg = '<Empty error message>'
#     repeat
#         ret = redis.pcall( ... )
#         if type( ret ) == 'table' and ret.err ~= nil then
#             error_msg   = "OOM Command not allowed when used memory > 'maxmemory'. - " .. ret.err .. " (call = " .. cjson.encode( { ... } ) .. ")"
#             if _DEBUG then
#                 _debug_log( {
#                     _STEP       = 'call_with_error_control',
#                     error_msg   = error_msg,
#                     retries     = retries
#                 } )
#             end
# 
#             cleaning( list_id, data_id, true )
#         else
#             break
#         end
#         retries = retries - 1
#     until retries == 0
# 
#     if retries == 0 then
#         -- Operation returned an error related to insufficient memory.
#         -- Start cleaning process and then re-try operation.
#         -- Repeat the cycle of operation + memory cleaning a couple of times and return an error / fail,
#         -- if it still did not work.
#         cleaning_error( error_msg )
#     end
# 
#     return ret
# end
# 
# 
# -- determine whether there is a list of data and a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, 0, 0, 0 }
# end
# 
# local reduce_list_items = function ( list_id )
#     local max_list_items = tonumber( redis.call( 'HGET', STATUS_KEY, 'max_list_items' ) )
#     if max_list_items ~= nil and max_list_items > 0 and redis.call( 'EXISTS', DATA_KEY ) == 1 then
#         local list_items        = redis.call( 'HLEN', DATA_KEY )
#         local older_allowed     = tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) )
#         local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )
# 
#         while list_items >= max_list_items do
#             local removed_data_time, removed_data_id
#             list_items = list_items - 1
# 
#             if list_items == 0 then
#                 removed_data_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
#                 redis.call( 'ZREM', QUEUE_KEY, list_id )
#                 redis.call( 'DEL', DATA_KEY )
#                 redis.call( 'HINCRBY', STATUS_KEY, 'lists', -1 )
#             else
#                 removed_data_id, removed_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
#                 removed_data_id     = tonumber( removed_data_id )
#                 removed_data_time   = tonumber( removed_data_time )
#                 redis.call( 'ZREM', TIME_KEY, removed_data_id )
#                 redis.call( 'HDEL', DATA_KEY, removed_data_id )
# 
#                 local lowest_data_id, lowest_data_time = unpack( redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' ) )
#                 redis.call( 'ZADD', QUEUE_KEY, lowest_data_time, lowest_data_id )
# 
#                 if redis.call( 'HLEN', DATA_KEY ) == 1 then
#                     redis.call( 'DEL', TIME_KEY )
#                 end
#             end
# 
#             redis.call( 'HINCRBY', STATUS_KEY, 'items', -1 )
# 
#             if older_allowed == 0 and ( last_removed_time == 0 or removed_data_time < last_removed_time ) then
#                 redis.call( 'HSET', STATUS_KEY, 'last_removed_time', removed_data_time )
#                 last_removed_time = removed_data_time
#             end
#         end
#     end
# end
# 
# reduce_list_items( list_id )
# 
# 
# -- verification of the existence of old data with new data identifier
# if redis.call( 'HEXISTS', DATA_KEY, data_id ) == 1 then
#     return { -1008, 0, 0, 0 }
# end
# 
# -- Validating the time of new data, if required
# local last_removed_time = tonumber( redis.call( 'HGET', STATUS_KEY, 'last_removed_time' ) )
# 
# if tonumber( redis.call( 'HGET', STATUS_KEY, 'older_allowed' ) ) == 0 then
#     if redis.call( 'EXISTS', QUEUE_KEY ) == 1 then
#         if data_time < last_removed_time then
#             return { -1009, 0, 0, 0 }
#         end
#     end
# end
# 
# -- deleting obsolete data, if it is necessary
# local data_len = #data
# _setup( 7, 'insert', data_len ) -- 7 -> is the index of ARGV[7]
# cleaning( list_id, data_id, false )
# 
# -- add data to the list
# -- Remember that the list and the collection can be automatically deleted after the "crowding out" old data
# 
# -- the existing data
# local items = redis.call( 'HLEN', DATA_KEY )
# local existing_id, existing_time
# if items == 1 then
#     existing_id   = unpack( redis.call( 'HGETALL', DATA_KEY ) )
#     existing_time = tonumber( redis.call( 'ZSCORE', QUEUE_KEY, list_id ) )
# end
# 
# -- actually add data to the list
# call_with_error_control( list_id, data_id, 'HSET', DATA_KEY, data_id, data )
# data = nil  -- free memory
# table.insert( ROLLBACK, 1, { 'HDEL', DATA_KEY, data_id } )
# 
# if redis.call( 'HLEN', DATA_KEY ) == 1 then  -- list recreated after cleaning
#     redis.call( 'HINCRBY', STATUS_KEY, 'lists', 1 )
#     table.insert( ROLLBACK, 1, { 'HINCRBY', STATUS_KEY, 'lists', -1 } )
#     call_with_error_control( list_id, data_id, 'ZADD', QUEUE_KEY, data_time, list_id )
# else
#     if items == 1 then
#         call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, existing_time, existing_id )
#         table.insert( ROLLBACK, 1, { 'ZREM', TIME_KEY, existing_id } )
#     end
#     call_with_error_control( list_id, data_id, 'ZADD', TIME_KEY, data_time, data_id )
#     local oldest_item_time = redis.call( 'ZRANGE', TIME_KEY, 0, 0, 'WITHSCORES' )[2]
#     redis.call( 'ZADD', QUEUE_KEY, oldest_item_time, list_id )
# end
# 
# -- reflect the addition of new data
# redis.call( 'HINCRBY', STATUS_KEY, 'items', 1 )
# if data_time < last_removed_time then
#     redis.call( 'HSET', STATUS_KEY, 'last_removed_time', 0 )
# end
# 
# renew_last_cleanup_values()
# -- redis.call( 'HSET', STATUS_KEY, 'last_cleanup_bytes', LAST_CLEANUP_BYTES )
# INSERTS_SINCE_CLEANING = INSERTS_SINCE_CLEANING + 1
# redis.call( 'HSET', STATUS_KEY, 'inserts_since_cleaning', INSERTS_SINCE_CLEANING )
# return { -1000, LAST_CLEANUP_ITEMS, REDIS_USED_MEMORY, TOTAL_BYTES_DELETED }
# 
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the status of the collection
# collectgarbage( 'stop' )
# 
# local coll_name     = ARGV[2]
# 
# -- key data storage structures
# local NAMESPACE  = 'C'
# local QUEUE_KEY  = NAMESPACE..':Q:'..coll_name
# local STATUS_KEY = NAMESPACE..':S:'..coll_name
# 
# -- determine whether there is a collection
# if redis.call( 'EXISTS', STATUS_KEY ) == 0 then
#     return { -1006, false, false, false, false, false, false, false, false }
# end
# 
# local oldest_item_time = redis.call( 'ZRANGE', QUEUE_KEY, 0, 0, 'WITHSCORES' )[2]
# local lists, items, older_allowed, cleanup_bytes, cleanup_items, max_list_items, memory_reserve, data_version, last_removed_time = unpack( redis.call( 'HMGET', STATUS_KEY,
#         'lists',
#         'items',
#         'older_allowed',
#         'cleanup_bytes',
#         'cleanup_items',
#         'max_list_items',
#         'memory_reserve',
#         'data_version',
#         'last_removed_time'
#     ) )
# 
# if type( data_version ) ~= 'string' then data_version = '0' end
# return {
#     -1000,
#     lists,
#     items,
#     older_allowed,
#     cleanup_bytes,
#     cleanup_items,
#     max_list_items,
#     memory_reserve,
#     data_version,
#     last_removed_time,
#     oldest_item_time
# }
#   at lib/Redis/CappedCollection.pm line 3800.
# '
#   at t/00_CappedCollection/21_rollback.t line 209.

#   Failed test 'Error adding data: [EVALSHA] ERR Error running script (call to f_5f3b2acfaa7e1eb8a34554200774e9d9db851618): @user_script:53: @user_script: 53: This Redis command is not allowed from scripts,  at lib/Redis/CappedCollection.pm line 3792.
# 
# Lua script 'insert':
# -- to obtain information on the st

[Output truncated after 1000K]


------------------------------
PREREQUISITES
------------------------------

Prerequisite modules loaded:

requires:

    Module              Need  Have    
    ------------------- ----- --------
    Const::Fast         0.014 0.014   
    Digest::SHA1        2.13  2.13    
    Mouse               0     v2.5.10 
    Params::Util        1.07  1.102   
    perl                5.010 5.035010
    Redis               1.976 1.999   
    Try::Tiny           0.18  0.31    

build_requires:

    Module              Need  Have    
    ------------------- ----- --------
    Data::UUID          1.217 1.226   
    ExtUtils::MakeMaker 0     7.64    
    JSON::XS            3.01  4.03    
    Net::EmptyPort      0     0       
    Sys::SigAction      0.21  0.23    
    Test::Exception     0.31  0.43    
    Test::NoWarnings    1.04  1.06    
    Test::RedisServer   0.04  0.23    

configure_requires:

    Module              Need  Have    
    ------------------- ----- --------
    ExtUtils::MakeMaker 0     7.64    


------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------

Environment variables:

    AUTOMATED_TESTING = 1
    LANG = en_US.UTF-8
    PATH = /home/sand/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/perl/bin:/usr/X11/bin:/sbin:/usr/sbin
    PERL5LIB = /tmp/loop_over_bdir-3326754-cFrSuQ/Devel-Required-0.16-0/blib/arch:/tmp/loop_over_bdir-3326754-cFrSuQ/Devel-Required-0.16-0/blib/lib:/tmp/loop_over_bdir-3326754-cFrSuQ/ProjectBuilder-0.14.1-0/blib/arch:/tmp/loop_over_bdir-3326754-cFrSuQ/ProjectBuilder-0.14.1-0/blib/lib
    PERL5OPT = 
    PERL5_CPANPLUS_IS_RUNNING = 1305171
    PERL5_CPAN_IS_RUNNING = 1305171
    PERL_CANARY_STABILITY_NOPROMPT = 1
    PERL_MM_USE_DEFAULT = 1
    PERL_USE_UNSAFE_INC = 1
    SHELL = /usr/bin/zsh
    TERM = screen

Perl special variables (and OS-specific diagnostics, for MSWin32):

    $^X = /tmp/basesmoker-reloperl-MgV0/bin/perl
    $UID/$EUID = 1005 / 1005
    $GID = 1005 1005
    $EGID = 1005 1005

Perl module toolchain versions installed:

    Module              Have    
    ------------------- --------
    CPAN                2.33    
    CPAN::Meta          2.150010
    Cwd                 3.84    
    ExtUtils::CBuilder  0.280236
    ExtUtils::Command   7.64    
    ExtUtils::Install   2.20    
    ExtUtils::MakeMaker 7.64    
    ExtUtils::Manifest  1.73    
    ExtUtils::ParseXS   3.45    
    File::Spec          3.84    
    JSON                4.05    
    JSON::PP            4.07    
    Module::Build       0.4231  
    Module::Signature   0.88    
    Parse::CPAN::Meta   2.150010
    Test::Harness       3.43    
    Test::More          1.302190
    YAML                1.30    
    YAML::Syck          1.34    
    version             0.9929  


--

Summary of my perl5 (revision 5 version 35 subversion 10) configuration:
  Commit id: 4f022b5730d43f19472f6fee92f9033e147fc7e7
  Platform:
    osname=linux
    osvers=5.15.0-2-amd64
    archname=x86_64-linux-thread-multi
    uname='linux k93msid 5.15.0-2-amd64 #1 smp debian 5.15.5-2 (2021-12-18) x86_64 gnulinux '
    config_args='-Dprefix=/home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a -Dmyhostname=k93msid -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Dlibswanted=cl pthread socket inet nsl gdbm dbm malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat -Duseithreads -Uuselongdouble -DEBUGGING=none'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
  Compiler:
    cc='cc'
    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
    optimize='-O2'
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='11.2.0'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags =' -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib
    libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.33.so
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version='2.33'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E'
    cccdlflags='-fPIC'
    lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_TIMES
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    PERL_USE_DEVEL
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
    USE_THREAD_SAFE_LOCALE
  Built under linux
  Compiled at Mar 11 2022 15:35:33
  %ENV:
    PERL5LIB="/tmp/loop_over_bdir-3326754-cFrSuQ/Devel-Required-0.16-0/blib/arch:/tmp/loop_over_bdir-3326754-cFrSuQ/Devel-Required-0.16-0/blib/lib:/tmp/loop_over_bdir-3326754-cFrSuQ/ProjectBuilder-0.14.1-0/blib/arch:/tmp/loop_over_bdir-3326754-cFrSuQ/ProjectBuilder-0.14.1-0/blib/lib"
    PERL5OPT=""
    PERL5_CPANPLUS_IS_RUNNING="1305171"
    PERL5_CPAN_IS_RUNNING="1305171"
    PERL_CANARY_STABILITY_NOPROMPT="1"
    PERL_MM_USE_DEFAULT="1"
    PERL_USE_UNSAFE_INC="1"
  @INC:
    /tmp/loop_over_bdir-3326754-cFrSuQ/Devel-Required-0.16-0/blib/arch
    /tmp/loop_over_bdir-3326754-cFrSuQ/Devel-Required-0.16-0/blib/lib
    /tmp/loop_over_bdir-3326754-cFrSuQ/ProjectBuilder-0.14.1-0/blib/arch
    /tmp/loop_over_bdir-3326754-cFrSuQ/ProjectBuilder-0.14.1-0/blib/lib
    /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/site_perl/5.35.10/x86_64-linux-thread-multi
    /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/site_perl/5.35.10
    /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/5.35.10/x86_64-linux-thread-multi
    /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.35.9-118-g4f022b5730/419a/lib/5.35.10
    .