User Details
- User Since
- Jun 2 2021, 12:44 PM (245 w, 3 d)
- Availability
- Available
- LDAP User
- Dat Nguyen
- MediaWiki User
- Dat Nguyen (WMDE) [ Global Accounts ]
Thu, Feb 12
I made a mistake. When looking at Bump actions/checkout from 3.3.0 to 4.1.0 #395 I clicked Update branch with rebase and GitHub slipped a stale if line, check here. The PR was green and passed all checks, I merged without double-checking.
I created a hot-fix: https://github.com/wbstack/mediawiki/pull/527
Wed, Feb 11
Tue, Feb 10
@Tarrow: here is the manual for $wgLogos https://www.mediawiki.org/wiki/Manual:$wgLogos
I poked around and found a "half-working" fix for the bug. I fixed the logo bug in Timeless but it is still broken in other skins.
While reviewing T416720, I found a few weak points in the through shellcheck and unquoted variables. For example:
Mon, Feb 9
I don't know why, but the script is still failing on my local minikube setup. I will try again tomorrow, I also gave some comments.
Wed, Feb 4
Why are all 3 PRs the same?
PR for adding the cluster to local env: https://github.com/wmde/wbaas-deploy/pull/2557
staging: https://github.com/wmde/wbaas-deploy/pull/2558
production: https://github.com/wmde/wbaas-deploy/pull/2559
Tue, Feb 3
ElasticSearch 7 and mul seem to be working well in docker compose env. But MW_DEFAULT_ELASTICSEARCH_ES6 cannot be removed somehow; otherwise, the env is broken, even though ES6 transport was removed
Fri, Jan 30
I removed ES6 service from docker compose environment and assigned port 9200 to ES7. So once we merge https://github.com/wbstack/mediawiki/pull/524, the doc can be updated https://github.com/wbstack/mediawiki/pull/525
Thu, Jan 29
Doc updated, including different commands to init ES, and the right URLs to inspect the ES cluster here: https://github.com/wbstack/mediawiki/pull/525
Some updates:
- We don't use shared indexes in docker compose env
- remove all references to ES6 because it's no longer there because it was removed from upstream
- in non-shared index setup the multi languages does work as expected
- we were confused because we needed to refresh the page to trigger the mediawiki jobs to run so that the ES content indexes got updated.
- Update the doc to detail how to run ES on docker compose env
Wed, Jan 28
content index for site1.localhost is still restulted in error (go to http://localhost:9201/site1.localhost_content_first/_search)
when I curl -sS http://localhost:9201/_stats it was successful (behold the long JSON):
{
"_shards": {
"total": 3,
"successful": 3,
"failed": 0
},
"_all": {
"primaries": {
"docs": {
"count": 30,
"deleted": 33
},
"store": {
"size_in_bytes": 83319,
"reserved_in_bytes": 0
},
"indexing": {
"index_total": 186,
"index_time_in_millis": 69,
"index_current": 0,
"index_failed": 0,
"delete_total": 0,
"delete_time_in_millis": 0,
"delete_current": 0,
"noop_update_total": 0,
"is_throttled": false,
"throttle_time_in_millis": 0
},
"get": {
"total": 0,
"time_in_millis": 0,
"exists_total": 0,
"exists_time_in_millis": 0,
"missing_total": 0,
"missing_time_in_millis": 0,
"current": 0
},
"search": {
"open_contexts": 0,
"query_total": 6,
"query_time_in_millis": 19,
"query_current": 0,
"fetch_total": 6,
"fetch_time_in_millis": 1,
"fetch_current": 0,
"scroll_total": 6,
"scroll_time_in_millis": 45,
"scroll_current": 0,
"suggest_total": 0,
"suggest_time_in_millis": 0,
"suggest_current": 0
},
"merges": {
"current": 0,
"current_docs": 0,
"current_size_in_bytes": 0,
"total": 2,
"total_time_in_millis": 52,
"total_docs": 116,
"total_size_in_bytes": 50204,
"total_stopped_time_in_millis": 0,
"total_throttled_time_in_millis": 0,
"total_auto_throttle_in_bytes": 62914560
},
"refresh": {
"total": 21,
"total_time_in_millis": 165,
"external_total": 19,
"external_total_time_in_millis": 175,
"listeners": 0
},
"flush": {
"total": 5,
"periodic": 0,
"total_time_in_millis": 95
},
"warmer": {
"current": 0,
"total": 16,
"total_time_in_millis": 6
},
"query_cache": {
"memory_size_in_bytes": 0,
"total_count": 0,
"hit_count": 0,
"miss_count": 0,
"cache_size": 0,
"cache_count": 0,
"evictions": 0
},
"fielddata": {
"memory_size_in_bytes": 0,
"evictions": 0
},
"completion": {
"size_in_bytes": 0
},
"segments": {
"count": 3,
"memory_in_bytes": 8364,
"terms_memory_in_bytes": 5792,
"stored_fields_memory_in_bytes": 1464,
"term_vectors_memory_in_bytes": 0,
"norms_memory_in_bytes": 0,
"points_memory_in_bytes": 0,
"doc_values_memory_in_bytes": 1108,
"index_writer_memory_in_bytes": 0,
"version_map_memory_in_bytes": 0,
"fixed_bit_set_memory_in_bytes": 0,
"max_unsafe_auto_id_timestamp": -1,
"file_sizes": {I did the extreme and change the default to ES7 and run wbstackElasticSearchInit again and this is the output:
curl -sS -H "Content-Type: application/json" -X POST -d '{}' "http://site1.localhost:8001/w/api.php?action=wbstackElasticSearchInit&format=json" | jq .
{
"wbstackElasticSearchInit": {
"script": "extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php",
"return": 0,
"output": [
"Updating cluster default...",
"indexing namespaces...",
"\tIndexing namespaces...done",
"content index...",
"\tFetching Elasticsearch version...7.10.2...ok",
"\tScanning available plugins...",
"\t\texperimental-highlighter, extra",
"\tPicking analyzer...english",
"\tInferring index identifier...mwdb_somedb1_content_first",
"\t\tValidating number of shards...ok",
"\t\tValidating replica range...ok",
"\t\tValidating shard allocation settings...done",
"\t\tValidating max shards per node...ok",
"\tValidating analyzers...ok",
"\tValidating mappings...",
"\t\tValidating mapping...different...corrected",
"\tValidating new index is different...same index",
"\tValidating aliases...",
"\t\tValidating mwdb_somedb1_content alias...ok",
"\t\tValidating mwdb_somedb1 alias...ok",
"\t\tUpdating tracking indexes...done",
"general index...",
"\tFetching Elasticsearch version...7.10.2...ok",
"\tScanning available plugins...",
"\t\texperimental-highlighter, extra",
"\tPicking analyzer...english",
"\tInferring index identifier...mwdb_somedb1_general_first",
"\t\tValidating number of shards...ok",
"\t\tValidating replica range...ok",
"\t\tValidating shard allocation settings...done",
"\t\tValidating max shards per node...ok",
"\tValidating analyzers...ok",
"\tValidating mappings...",
"\t\tValidating mapping...different...corrected",
"\tValidating new index is different...same index",
"\tValidating aliases...",
"\t\tValidating mwdb_somedb1_general alias...ok",
"\t\tValidating mwdb_somedb1 alias...ok",
"\t\tUpdating tracking indexes...done",
"Updating cluster write-only...",
"indexing namespaces...",
"\tIndexing namespaces...done",
"content index...",
"\tFetching Elasticsearch version...7.10.2...ok",
"\tScanning available plugins...",
"\t\texperimental-highlighter, extra",
"\tPicking analyzer...english",
"\tInferring index identifier...mwdb_somedb1_content_first",
"\t\tValidating number of shards...ok",
"\t\tValidating replica range...ok",
"\t\tValidating shard allocation settings...done",
"\t\tValidating max shards per node...ok",
"\tValidating analyzers...ok",
"\tValidating mappings...",
"\t\tValidating mapping...different...corrected",
"\tValidating new index is different...same index",
"\tValidating aliases...",
"\t\tValidating mwdb_somedb1_content alias...ok",
"\t\tValidating mwdb_somedb1 alias...ok",
"\t\tUpdating tracking indexes...done",
"general index...",
"\tFetching Elasticsearch version...7.10.2...ok",
"\tScanning available plugins...",
"\t\texperimental-highlighter, extra",
"\tPicking analyzer...english",
"\tInferring index identifier...mwdb_somedb1_general_first",
"\t\tValidating number of shards...ok",
"\t\tValidating replica range...ok",
"\t\tValidating shard allocation settings...done",
"\t\tValidating max shards per node...ok",
"\tValidating analyzers...ok",
"\tValidating mappings...",
"\t\tValidating mapping...different...corrected",
"\tValidating new index is different...same index",
"\tValidating aliases...",
"\t\tValidating mwdb_somedb1_general alias...ok",
"\t\tValidating mwdb_somedb1 alias...ok",
"\t\tUpdating tracking indexes...done"
]
}
}After discussing with @Rosalie_WMDE, we decided to divide our work:
- I will try to fix docker compose for mul test
- @Rosalie_WMDE will try it on minikube
I and @Rosalie_WMDE used docker compose environment to try indexing:
curl -sS -H "Content-Type: application/json" -X POST -d '{}' "http://site1.localhost:8001/w/api.php?action=wbstackElasticSearchInit&format=json"
{"wbstackElasticSearchInit":{"script":"extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php","return":1,"output":["Updating cluster default...","indexing namespaces..."]}}and the log said
mediawiki-mediawiki-1 | 172.22.0.1 - - [28/Jan/2026:13:42:47 +0000] "POST /w/api.php?action=wbstackElasticSearchInit&format=json HTTP/1.1" 200 590 "-" "curl/8.6.0"
the curl POST to action=wbstackElasticSearchInit returned 200 and 590 bytes response but it doesn't specify if it was a success or failure
this is the output when we curl "http://localhost:9200/site1.localhost_content_first/_search"
{
"error": {
"root_cause": [
{
"type": "index_not_found_exception",
"reason": "no such index",
"resource.type": "index_or_alias",
"resource.id": "site1.localhost_content_first",
"index_uuid": "_na_",
"index": "site1.localhost_content_first"
}
],
"type": "index_not_found_exception",
"reason": "no such index",
"resource.type": "index_or_alias",
"resource.id": "site1.localhost_content_first",
"index_uuid": "_na_",
"index": "site1.localhost_content_first"
},
"status": 404
}and there is no successful indexing (curl "http://localhost:9200/_stats")
{
"_shards": {
"total": 0,
"successful": 0,
"failed": 0
},
"_all": {
"primaries": {This PR https://github.com/wmde/wbaas-deploy/pull/2556 also added a diagram to explain the shared-index alias model.
Tue, Jan 27
Mon, Jan 26
Fri, Jan 23
Thu, Jan 22
I tried to "beef up" replication thinking it would make REPLICA being able to handle more traffic, but it didn't yield any results and REPLICA is still stuck at CREATE USER, making REPLICA unstable and not healthy.
No idea how to get login details of admin user, there is no record/doc mentioning it. -> since we can disable Captcha and all users in docker compose env has sysop and bureaucrat rights, I think it's unnecessary to create admin user when starting docker compose
DB replication seems to be failing; when a replica is configured: login doesn’t work -> replica is live but stuck on SQL thread due to a failed CREATE USER
Slave_IO_Running: Yes Slave_SQL_Running: No Last_SQL_Errno: 1396 Last_SQL_Error: Operation CREATE USER failed for repl@% (query: CREATE USER repl@%) Seconds_Behind_Master: NULL
Wed, Jan 21
Fri, Jan 16
Jan 15 2026
Trying Tom's idea, the error disappears but new error emerges.
How to recreate the error locally:
Setup: start with setting up Q template
- Create /w/index.php?title=Module:Wikidata_label, edit source and add the code from Module:Wikidata label there
- Create /w/index.php?title=Template:Q, edit source and add the following:
{{label|{{{1|}}}|capitalization={{{capitalization|}}} |show_id=1 |link=wikidata}}<noinclude>{{documentation}}</noinclude>- Create /w/index.php?title=Template:Label, edit source and add the following:
{{#if:{{{item|{{{1|}}} }}}|
{{#invoke:Wikidata label|getLabel
|item={{{item|{{{1|}}} }}}
|lang={{{lang|{{{2|}}} }}}
|link={{{link|-}}}
|capitalization={{{capitalization|none}}}
|show_id={{{show_id|}}}
}}
}}<noinclude>
{{documentation}}</noinclude>Error reproduce:
- Create an item, for example: Q1
- Reference the item Q1 in a page, syntax look like this:
* {{Q|1}}- Now change the label of Q1, check the log for error
Jan 12 2026
List of things I have done last Friday:
- https://github.com/wbstack/api/pull/1023 | updated database schema mw1.43-wbs1 to mw1.43-wbs2
- https://github.com/wmde/wbaas-deploy/pull/2429 |Update Mediawiki DB provision/use versions to mw1.43-wbs2 staging
- https://github.com/wbstack/api/pull/1034 | Add mw1.43-wbs2 to version map to fix
PHP Notice: App\Services\UnknownDBVersionException: Unknown DB version 'mw1.43-wbs2' for domain 'testprovision.wikibase.dev'. in /var/www/html/app/Services/MediaWikiHostResolver.php:53 [] https://github.com/wmde/wbaas-deploy/pull/2432
Jan 9 2026
Jan 8 2026
migration update
