--- Presto::Properties[config].orig
+++ Presto::Properties[config]
@@
- properties => {'coordinator': True, 'node-scheduler.include-coordinator': False, 'http-server.http.port': 8280, 'jmx.rmiregistry.port': 8279, 'discovery.uri': 'https://analytics-test-presto.eqiad.wmnet:8281', 'node-scheduler.network-topology': 'legacy', 'http-server.http.enabled': True, 'discovery-server.enabled': True, 'query.max-memory': '2GB', 'http-server.authentication.type': 'KERBEROS', 'http.server.authentication.krb5.service-name': 'presto', 'http.server.authentication.krb5.keytab': '/etc/security/keytabs/presto/presto.keytab', 'http.authentication.krb5.config': '/etc/krb5.conf', 'join-distribution-type': 'AUTOMATIC', 'http-server.https.keystore.path': '/etc/presto/ssl/server.p12', 'http-server.https.keystore.key': 'batman', 'internal-communication.https.required': True, 'internal-communication.https.keystore.path': '/etc/presto/ssl/server.p12', 'internal-communication.https.keystore.key': 'batman', 'internal-communication.https.trust-store-path': '/etc/ssl/certs/java/cacerts', 'internal-communication.https.trust-store-password': 'changeit', 'http-server.https.port': 8281, 'http-server.https.enabled': True, 'internal-communication.kerberos.enabled': True}
+ properties => {'coordinator': True, 'node-scheduler.include-coordinator': False, 'http-server.http.port': 8280, 'jmx.rmiregistry.port': 8279, 'discovery.uri': 'https://analytics-test-presto.eqiad.wmnet:8281', 'spill-enabled': False, 'resource-groups.configuration-manager': 'file', 'resource-groups.config-file': '/etc/presto/resource-groups.json', 'resource-groups.selector-file': '/etc/presto/selectors.json', 'node-scheduler.network-topology': 'legacy', 'http-server.http.enabled': True, 'discovery-server.enabled': True, 'query.max-memory': '2GB', 'http-server.authentication.type': 'KERBEROS', 'http.server.authentication.krb5.service-name': 'presto', 'http.server.authentication.krb5.keytab': '/etc/security/keytabs/presto/presto.keytab', 'http.authentication.krb5.config': '/etc/krb5.conf', 'join-distribution-type': 'AUTOMATIC', 'http-server.https.keystore.path': '/etc/presto/ssl/server.p12', 'http-server.https.keystore.key': 'batman', 'internal-communication.https.required': True, 'internal-communication.https.keystore.path': '/etc/presto/ssl/server.p12', 'internal-communication.https.keystore.key': 'batman', 'internal-communication.https.trust-store-path': '/etc/ssl/certs/java/cacerts', 'internal-communication.https.trust-store-password': 'changeit', 'http-server.https.port': 8281, 'http-server.https.enabled': True, 'internal-communication.kerberos.enabled': True}
File[/etc/presto/resource-groups.json]
- Parameters differences:
--- File[/etc/presto/resource-groups.json].orig
+++ File[/etc/presto/resource-groups.json]
+ group => root
+ owner => root
- Content differences:
--- /etc/presto/resource-groups.json.orig
+++ /etc/presto/resource-groups.json
@@ -0,0 +1,34 @@
+{
+ "rootGroups": [
+ {
+ "name": "global",
+ "softMemoryLimit": "100%",
+ "hardConcurrencyLimit": 10,
+ "maxQueued": 50,
+ "schedulingPolicy": "weighted",
+ "subGroups": [
+ {
+ "name": "high_priority",
+ "softMemoryLimit": "35%",
+ "hardConcurrencyLimit": 3,
+ "maxQueued": 10,
+ "schedulingWeight": 6
+ },
+ {
+ "name": "standard",
+ "softMemoryLimit": "45%",
+ "hardConcurrencyLimit": 5,
+ "maxQueued": 25,
+ "schedulingWeight": 3
+ },
+ {
+ "name": "heavy",
+ "softMemoryLimit": "20%",
+ "hardConcurrencyLimit": 1,
+ "maxQueued": 5,
+ "schedulingWeight": 1
+ }
+ ]
+ }
+ ]
+}
- Service[presto-server]
- Parameters differences:
--- Service[presto-server].orig
+++ Service[presto-server]
@@
- require => ['Presto::Properties[config]', 'Presto::Properties[node]', 'Presto::Properties[log]', 'File[/etc/presto/jvm.config]', 'File[/var/log/presto]', 'Rsyslog::Conf[presto-server]', 'Systemd::Override[presto-umask]']
+ require => ['Presto::Properties[config]', 'Presto::Properties[node]', 'Presto::Properties[log]', 'File[/etc/presto/jvm.config]', 'File[/var/log/presto]', 'Rsyslog::Conf[presto-server]', 'Systemd::Override[presto-umask]', 'File[/etc/presto/resource-groups.json]', 'File[/etc/presto/selectors.json]']
- Class[Presto::Server]
- Parameters differences:
--- Class[Presto::Server].orig
+++ Class[Presto::Server]
+ spill_enabled => False
+ resource_config => {'glob_mem_limit': '100%', 'glob_concur_limit': 10, 'glob_max_queued': 50, 'hp_mem_limit': '35%', 'hp_concur_limit': 3, 'hp_max_queued': 10, 'hp_sched_weight': 6, 'std_mem_limit': '45%', 'std_concur_limit': 5, 'std_max_queued': 25, 'std_sched_weight': 3, 'hv_mem_limit': '20%', 'hv_concur_limit': 1, 'hv_max_queued': 5, 'hv_sched_weight': 1}
+ resource_groups_enabled => True
- File[/etc/presto/config.properties]
- Content differences:
--- /etc/presto/config.properties.orig
+++ /etc/presto/config.properties
@@ -24,3 +24,7 @@
node-scheduler.include-coordinator=false
node-scheduler.network-topology=legacy
query.max-memory=2GB
+resource-groups.config-file=/etc/presto/resource-groups.json
+resource-groups.configuration-manager=file
+resource-groups.selector-file=/etc/presto/selectors.json
+spill-enabled=false
Relevant files