Rabbitmq-server: total_memory_available_override_value missing from rabbit.schema

Created on 8 Dec 2017  路  7Comments  路  Source: rabbitmq/rabbitmq-server

It appears that during the conversion to rabbit.schema (and the new cuttlefish config) that total_memory_available_override_value got lost (from https://github.com/rabbitmq/rabbitmq-server/pull/1234).

I _believe_ the following is roughly the schema block necessary, but saying that my Erlang is rusty would be a massive understatement: :sweat_smile:

{mapping, "total_memory_available_override_value", "rabbit.total_memory_available_override_value", [
    {datatype, [integer, string]}]}.

(With both integer and string because it supports both a raw bytes value or a unit-ed value like 100M, as noted in the PR which was merged and the docs snippet which describes this value: https://github.com/rabbitmq/rabbitmq-website/blob/12939a7168e268b6ad3df7330b427e7fa27d552f/site/configure.xml#L887-L902, https://github.com/rabbitmq/rabbitmq-server/blob/cbb34bbc93b8353a30739cc5f04a5cda20b727f6/docs/rabbitmq.config.example#L298-L300)

  • RabbitMQ version: 3.7.0
  • Erlang version: 20.1.7
  • RabbitMQ server and client application log files
BOOT FAILED
===========

Config file generation failed 02:01:54.539 [error] You've tried to set total_memory_available_override_value, but there is no setting with that name.
02:01:54.539 [error]   Did you mean one of these?
02:01:54.572 [error]     memory_monitor_interval
02:01:54.573 [error]     vm_memory_calculation_strategy
02:01:54.573 [error]     vm_memory_high_watermark.absolute
02:01:54.574 [error] Error generating configuration in phase transform_datatypes
02:01:54.574 [error] Conf file attempted to set unknown variable: total_memory_available_override_value


BOOT FAILED
===========

Error description:
    rabbit:start_it/1 line 458
    rabbit:boot_error/2 line 858
    rabbit_lager:log_locations/0 line 43
    rabbit_lager:ensure_lager_configured/0 line 144
    rabbit_lager:lager_configured/0 line 151
    lager:list_all_sinks/0 line 317
    lager_config:get/2 line 71
    ets:lookup(lager_config, {'_global',handlers})
exit:generate_config_file
Log file(s) (may contain more information):

{"init terminating in do_boot",generate_config_file}
init terminating in do_boot (generate_config_file)

Crash dump is being written to: /var/log/rabbitmq/erl_crash.dump...done
  • A runnable code sample, terminal transcript or detailed set of
    instructions that can be used to reproduce the issue
$ grep total /etc/rabbitmq/rabbitmq.conf
total_memory_available_override_value = 2147483648
bug effort-tiny

Most helpful comment

@tianon thanks for reporting, it should be available in the next alpha (3.8.0-alpha.13 or later) once it goes through the Concourse pipeline.

3.7.1 will take another week or two but you should be able to make progress on the new style config support in the Docker image using the aforementioned build :)

All 7 comments

@tianon thanks for reporting, it should be available in the next alpha (3.8.0-alpha.13 or later) once it goes through the Concourse pipeline.

3.7.1 will take another week or two but you should be able to make progress on the new style config support in the Docker image using the aforementioned build :)

Nice, sounds good! I left total_memory_available_override_value commented out as a TODO for now. :+1: :heart:

I'm having the same issue with 3.7.1, 3.7.2 and 3.7.3-rc.1. The key
total_memory_available_override_value is there since it was commented out from the entrypoint, see https://github.com/docker-library/rabbitmq/blob/master/3.7/docker-entrypoint.sh#L285-L288

From what @michaelklishin mentioned, maybe we should keep these lines commented until 3.8.0 is out?

Configuration used:

## RabbitMQ configuration
## Ref: https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example

## Clustering
cluster_formation.peer_discovery_backend  = rabbit_peer_discovery_k8s
cluster_formation.k8s.host = kubernetes.default.svc.cluster.local
cluster_formation.k8s.address_type = ip
cluster_formation.node_cleanup.interval = 10
cluster_formation.node_cleanup.only_log_warning = false
cluster_partition_handling = autoheal

## The default "guest" user is only permitted to access the server
## via a loopback interface (e.g. localhost)
loopback_users.guest = false

## Memory-based Flow Control threshold
##vm_memory_high_watermark.absolute = 512MB
total_memory_available_override_value = 1073741824
listeners.tcp.default = 5672
default_pass = guest
default_user = guest
default_vhost = /
hipe_compile = false
management.listener.port = 15672
management.listener.ssl = false

Logs:

BOOT FAILED
===========

Config file generation failed 11:44:08.187 [error] You've tried to set total_memory_available_override_value, but there is no setting with that name.
11:44:08.187 [error]   Did you mean one of these?
11:44:08.305 [error]     memory_monitor_interval
11:44:08.305 [error]     vm_memory_calculation_strategy
11:44:08.305 [error]     vm_memory_high_watermark.absolute
11:44:08.305 [error] Error generating configuration in phase transform_datatypes
11:44:08.305 [error] Conf file attempted to set unknown variable: total_memory_available_override_value


BOOT FAILED
===========

Error description:
    rabbit:start_it/1 line 458
    rabbit:boot_error/2 line 858
    rabbit_lager:log_locations/0 line 43
    rabbit_lager:ensure_lager_configured/0 line 144
    rabbit_lager:lager_configured/0 line 151
    lager:list_all_sinks/0 line 317
    lager_config:get/2 line 71
    ets:lookup(lager_config, {'_global',handlers})
exit:generate_config_file
Log file(s) (may contain more information):

init terminating in do_boot (generate_config_file)
{"init terminating in do_boot",generate_config_file}

I cannot reproduce:

# total_memory_available_override_value.conf
total_memory_available_override_value = 500 MB
RABBITMQ_CONFIG_FILE=$HOME/Downloads/total_memory_available_override_value.conf rabbitmq-server

  ##  ##
  ##  ##      RabbitMQ 3.7.2. Copyright (C) 2007-2017 Pivotal Software, Inc.
  ##########  Licensed under the MPL.  See http://www.rabbitmq.com/
  ######  ##
  ##########  Logs: /Users/antares/Tools/rabbitmq/generic/var/log/rabbitmq/[email protected]
                    /Users/antares/Tools/rabbitmq/generic/var/log/rabbitmq/rabbit@mercurio_upgrade.log

              Starting broker...
 completed with 14 plugins.

This was addressed in 3.7.1.

Hi All,

we have upgraded the rabbitmq to 3.7.3 in our existing application.
On running RMQ, I don't see any logs file generated.

## ##
## ## RabbitMQ 3.7.3. Copyright (C) 2007-2018 Pivotal Software, Inc.
########## Licensed under the MPL. See http://www.rabbitmq.com/
###### ##
########## Logs: (none)

          Starting broker...

completed with 4 plugins.

Help Sought.

@michaelklishin could you please help here?

This is not a support forum. Please take your questions to rabbitmq-users and provide more details.

Was this page helpful?
0 / 5 - 0 ratings