Page MenuHomePhabricator
Paste P17088

(An Untitled Masterwork)
ActivePublic

Authored by Urbanecm_WMF on Aug 26 2021, 3:50 PM.
Tags
None
Referenced Files
F34620787: raw-paste-data.txt
Aug 26 2021, 3:50 PM
Subscribers
None
Hello everyone, I'm struggling with getting eventlogging to my (non-vagrant) setup. I did download the EventLogging extension, and added this to my config:
if ( $wmgUseEventLogging ) {
wfLoadExtension( 'EventLogging' );
// per https://gerrit.wikimedia.org/g/mediawiki/extensions/EventLogging/+/54d0f7cb149c07fc3bda47efc0e708c01d6ca177/devserver/README.md
$wgEventLoggingServiceUri = 'http://localhost:8192/v1/events';
$wgEventLoggingQueueLingerSeconds = 1;
$wgEventLoggingStreamNames = false;
}
while setting wmgUseEventLogging to true for one of my dev wikis. Then, I did this in mediawiki/extensions/EventLogging/devserver :
urbanecm@notebook ~/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver
$ node --version
v16.3.0
urbanecm@notebook ~/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver
$ l
bin Dockerfile eventgate.config.yaml eventlogging events.json package.json package-lock.json README.md setup.py test_parser.py
urbanecm@notebook ~/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver
$ npm install
[ ] - reify:kad: timing reifyNode:node_modules/@wikimedia/node-rdkafka-factory Completed in 3571ms
[ ] - reify:kad: timing reifyNode:node_modules/@wikimedia/node-rdkafka-factory Completed in 3571ms
added 210 packages, and audited 277 packages in 2m
4 vulnerabilities (3 low, 1 high)
To address all issues, run:
npm audit fix
Run `npm audit` for details.
urbanecm@notebook ~/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver
$
Then I started the server with npm run eventgate-devserver and issued a test event with mw.eventLog.submit('test.event', {'$schema': '/test/event/1.0.0', 'test': window.location.href});. However, the event fatal'ed during devserver's processing:
}
[2021-08-26T14:54:12.117Z] TRACE: service-runner/9476 on notebook: Validating event...
event: {
"$schema": "/test/event/1.0.0",
"test": "https://a.wikifarm.cz/mw/index.php?title=Special:Homepage&source=personaltoolslink&namespace=0",
"meta": {
"stream": "test.event",
"domain": "a.wikifarm.cz"
},
"dt": "2021-08-26T14:54:12.146Z"
}
[2021-08-26T14:54:12.119Z] INFO: service-runner/9476 on notebook: Loading schema at /test/event/1.0.0
[2021-08-26T14:54:12.120Z] ERROR: service-runner/9476 on notebook: event encountered an error: uriHasProtocol is not a function
TypeError: uriHasProtocol is not a function
at EventValidator.getSchema (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/eventgate-wikimedia/eventgate-wikimedia.js:586:56)
at EventValidator.loadSchema (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/eventgate/lib/EventValidator.js:174:21)
at EventValidator.validatorAt (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/eventgate/lib/EventValidator.js:229:25)
at EventValidator.validatorFor (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/eventgate/lib/EventValidator.js:270:21)
at EventValidator.schemaFor (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/eventgate/lib/EventValidator.js:209:21)
at /home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/eventgate-wikimedia/eventgate-wikimedia.js:463:30
at EventGate.validate (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/eventgate-wikimedia/eventgate-wikimedia.js:764:23)
at EventGate._processEvent (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/eventgate/lib/eventgate.js:183:43)
at /home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/eventgate/lib/eventgate.js:220:46
at tryCatcher (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/bluebird/js/release/util.js:16:23)
at MappingPromiseArray._promiseFulfilled (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/bluebird/js/release/map.js:68:38)
at MappingPromiseArray.PromiseArray._iterate (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/bluebird/js/release/promise_array.js:115:31)
at MappingPromiseArray.init (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/bluebird/js/release/promise_array.js:79:10)
at MappingPromiseArray._asyncInit (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/bluebird/js/release/map.js:37:10)
at _drainQueueStep (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/bluebird/js/release/async.js:97:12)
at _drainQueue (/home/urbanecm/unsynced/gerrit/mediawiki/extensions/EventLogging/devserver/node_modules/bluebird/js/release/async.js:86:9)
[2021-08-26T14:54:12.121Z] ERROR: eventgate-devserver/9476 on notebook: 1 out of 1 events had failures and were not accepted. (0 invalid and 1 errored). (levelPath=error/events, request_id=7983c440-067d-11ec-b032-27cc17ec30ed)
request: {
"url": "/v1/events",
"headers": {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0",
"content-type": "text/plain;charset=UTF-8",
"content-length": "223",
"x-request-id": "7983c440-067d-11ec-b032-27cc17ec30ed"
},
"method": "POST",
"params": {
"0": "/v1/events"
},
"query": {},
"remoteAddress": "127.0.0.1",
"remotePort": 59380
}
So far, my local homepage does not send any events (not sure why yet), but if I read https://gerrit.wikimedia.org/g/mediawiki/extensions/EventLogging/+/master/devserver/README.md correctly, what I did is supposed to put the event to events.json anyway.
Can someone help me out, please?
FTR, I run mediawiki in Debian 10 that runs in a WSL2 machine in Windows. https://github.com/urbanecm/wikifarm-config is my MW config (with LocalSettings.php being just a symlink to CommonSettings.php).