User Details
- User Since
- Oct 15 2014, 8:27 PM (599 w, 4 d)
- Roles
- Administrator
- Availability
- Available
- LDAP User
- Tim Starling
- MediaWiki User
- Tim Starling (WMF) [ Global Accounts ]
Today
Presumably Lucene got that "no space" exception and closed the writer, storing the exception. Then every time it tried to write to the index, an AlreadyClosedException was thrown, wrapping the stored "no space" exception. I restarted Gerrit, that seems to have fixed it. Gate jobs are running now on my core change.
Here's the Gerrit error log when I hit +2 on a core change. Lucene throws an exception with "No space left on device".
Thu, Apr 9
There are two other patent pools competing with VIA. Avanci Video offers patent licenses for AV1, H.265, H.266, MPEG-DASH, and VP9, all together in a bundle, for a percentage of video-related revenue. And Access Advance VDP is a pool covering AV1, H.265, H.266 and VP9 which has a royalty waiver tier for small businesses.
Tue, Mar 31
Mon, Mar 30
VIA sells codec licenses for between zero and $0.20 per copy. Licensed products are required to have a EULA statement along the lines of:
Wed, Mar 25
This is a historically controversial subject, so community consensus would have to be sought before enabling anything like this. This task is just about implementing the necessary pieces in MW, not the politics of the final results.
Mar 13 2026
Mar 6 2026
Another failure after the core patch was merged: https://integration.wikimedia.org/ci/job/quibble-vendor-mysql-php83/47798/console
1237375 failed gate checks three times in a row, although it failed in a different place each time. First in PHP 8.2, then in PHP 8.3 at split group 5, then in PHP 8.3 at split group 6. Each time with the error message
Feb 24 2026
Feb 20 2026
It would be nice if we had a diagram or explanation of the whole request flow, including every TCP connection. I see Effie's diagrams at c:Category:Wikimedia servers diagrams with their "it's complicated" boxes, and Timo's backend-focused diagrams, but none of them are really what I need. I've looked into the Envoy service inside the k8s pod in the past, so I should probably have been able to answer my own question, but I do get rusty when I don't have to touch this stuff for a while.
What is the rationale for allowing keepalive on ATS to Apache connections? It's not using HTTPS is it? Inside a datacentre with unencrypted HTTP, the connection latency should be small compared to the average request time.
Extending my detection method to the whole day of 2026-02-18, there were 72 possibly lost RC rows, for an implied loss rate of 0.04%.
Feb 18 2026
Feb 16 2026
Jan 30 2026
The paranoia about sharing state between #invoke calls came out of a complete lack of trust Brad and I had for template developers at the time. In an ideal world, we would just say "please don't do that", and they wouldn't do it. But we were working in an adversarial environment. Remember the time Domas got into a wheel war with the ocwiki admins over slow templates? The attitude was don't worry about performance and template authors told us that if we didn't want them doing a thing, we would have made it impossible. Technical ability to do a thing was treated as permission and our direct communications were given no weight.
Jan 29 2026
This was apparently done on purpose in https://unicode-org.atlassian.net/browse/CLDR-2748
Jan 28 2026
Jan 27 2026
Jan 22 2026
Jan 20 2026
Increased hash sizes from 32 to 64 bytes to accommodate SHA-256 in hexadecimal format.
I extended the text field types from MEDIUMBLOB to LONGBLOB because the overhead of the extra length byte will be a small percentage of the table size. Limits can be implemented at the application level -- there's no good rationale for making the DB be the first thing to break when someone tries to make a large file.
I added produnto_deployment_data for storing a JSON file mapping the module name to package and file name. Scribunto builds this cache by parsing the package manifest, as described in T412181.
Jan 19 2026
Third-party wikis will want to use packages. Having the GitLab webhook post directly to the wiki is not a solution for them. Also they can't fetch zip files directly from GitLab, there would need to be a CDN.
Jan 13 2026
I created the page.
Jan 12 2026
Dec 17 2025
I updated the schema to make all tables be shared, and also for the new purging algorithm at T412473.
It should simplify purging (T412473) if all tables are shared, since there is a need for global locking. You can check to make sure a package hasn't been touched recently before purging it, but ultimately you need a locked view of that condition.
Dec 15 2025
This is done.
Dec 14 2025
We could put the deployments in a shared table, with wiki ID columns.
Dec 12 2025
Dec 11 2025
Dec 10 2025
Why get the parser involved? Why not load from the pageviews API on the client side?
Dec 8 2025
It's reproducible by just putting sleep(1) after the proc_terminate().