Ottomata has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/364881 )

Change subject: Set up separate EventLogging Analytics MySQL Consumer process 
for eventbus events
......................................................................


Set up separate EventLogging Analytics MySQL Consumer process for eventbus 
events

This caused a bug with the main eventlogging mysql consumer.  It was flapping
every 5 minutes and dying, because inserts into the mediawiki_page_create_1
table were failing, because https://gerrit.wikimedia.org/r/#/c/362321/
added a field to the schema of the same version.

We need to start properly versioning eventbus schemas.

Change-Id: I2df1d8eae141e7b51e6903aa906e613817fc0659
---
M modules/role/manifests/eventlogging/analytics/mysql.pp
1 file changed, 30 insertions(+), 11 deletions(-)

Approvals:
  Ottomata: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/role/manifests/eventlogging/analytics/mysql.pp 
b/modules/role/manifests/eventlogging/analytics/mysql.pp
index 5b4a8ce..b7c95b6 100644
--- a/modules/role/manifests/eventlogging/analytics/mysql.pp
+++ b/modules/role/manifests/eventlogging/analytics/mysql.pp
@@ -56,15 +56,6 @@
     $topics_to_consume = [
         # Valid eventlogging analytics events are all in this one topic.
         'eventlogging-valid-mixed',
-        # Various mediawiki events (via EventBus)
-        'eqiad.mediawiki.page-create',
-        'codfw.mediawiki.page-create',
-        'eqiad.mediawiki.page-move',
-        'codfw.mediawiki.page-move',
-        'eqiad.mediawiki.page-delete',
-        'codfw.mediawiki.page-delete',
-        'eqiad.mediawiki.page-undelete',
-        'codfw.mediawiki.page-undelete',
     ]
     $topics_string = join($topics_to_consume, ',')
     $kafka_consumer_uri = 
"${kafka_consumer_scheme}/${kafka_brokers_string}?topics=${topics_string}"
@@ -82,7 +73,36 @@
     # Kafka consumer group for this consumer is mysql-m4-master
     eventlogging::service::consumer { $mysql_consumers:
         # auto commit offsets to kafka more often for mysql consumer
-        input        => 
"${filter_scheme}${kafka_consumer_uri}&auto_commit_interval_ms=1000${$kafka_api_version_param}${filter_function}",
+        input  => 
"${filter_scheme}${kafka_consumer_uri}&auto_commit_interval_ms=1000${kafka_api_version_param}${filter_function}",
+        output => 
"mysql://${mysql_user}:${mysql_pass}@${mysql_db}?charset=utf8&statsd_host=${statsd_host}&replace=True",
+        sid    => $kafka_consumer_group,
+        # Restrict permissions on this config file since it contains a 
password.
+        owner  => 'root',
+        group  => 'eventlogging',
+        mode   => '0640',
+    }
+
+
+    $eventbus_topics_to_consume = [
+        # Various mediawiki events (via EventBus)
+        'eqiad.mediawiki.page-create',
+        'codfw.mediawiki.page-create',
+        'eqiad.mediawiki.page-move',
+        'codfw.mediawiki.page-move',
+        'eqiad.mediawiki.page-delete',
+        'codfw.mediawiki.page-delete',
+        'eqiad.mediawiki.page-undelete',
+        'codfw.mediawiki.page-undelete',
+    ]
+    $eventbus_topics_string = join($topics_to_consume, ',')
+    $kafka_consumer_uri_eventbus = 
"${kafka_consumer_scheme}/${kafka_brokers_string}?topics=${eventbus_topics_string}"
+
+    # Use a separate mysql consumer process to insert eventbus events.
+    # The schemas for these types of events are managed differently, and we 
don't
+    # want bugs in one to affect the other.
+    eventlogging::service::consumer { 'mysql-eventbus':
+        # auto commit offsets to kafka more often for mysql consumer
+        input        => 
"${kafka_consumer_uri_eventbus}&auto_commit_interval_ms=1000${kafka_api_version_param}",
         output       => 
"mysql://${mysql_user}:${mysql_pass}@${mysql_db}?charset=utf8&statsd_host=${statsd_host}&replace=True",
         # Load and cache local (EventBus) schemas so those events can be 
inserted into MySQL too.
         # This will require a restart of the consumer process(es) when there 
are any new schemas.
@@ -92,6 +112,5 @@
         owner        => 'root',
         group        => 'eventlogging',
         mode         => '0640',
-
     }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/364881
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I2df1d8eae141e7b51e6903aa906e613817fc0659
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ottomata <ao...@wikimedia.org>
Gerrit-Reviewer: Ottomata <ao...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to