[Wikitech-l] realtime notifications disabled in Phabricator

2019-11-19 Thread Daniel Zahn
Phabricator users,

this is to let you know that the "aphlict" service has been disabled on
Phabricator (for now) because it caused stability issues.

This means you will not get realtime (pop-up) notifications on Phabricator.
(If you had those enabled in the first place).

Regular notifications (that do not pop-up) and emails are not affected by
this.

https://phabricator.wikimedia.org/T238593

-- 
Daniel Zahn 
Operations Engineer
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

[Wikitech-l] Parsoid/PHP enabled on test and test2 wikis and the beta cluster

2019-11-19 Thread Subramanya Sastry

Hello everyone,

Some of might know that the parsing team has been porting Parsoid from 
Javascript to PHP this year [1]. Over the last couple months, we have 
done intensive testing in various modes (parser tests, round trip 
testing, HTML string diff testing) to verify correctness of Parsoid/PHP 
relative to Parsoid/JS  and continued to fix bugs (both Parsoid/PHP & 
Parsoid/JS). We have also had some client testing and QA on beta cluster 
via host headers.


With all that behind us, we believe it is time to do a bit more 
intensive live QA.  So, we have switched over the beta cluster to use 
Parsoid/PHP (instead of Parsoid/JS). We have also switched the 
production test.wikipedia.org and test2.wikipedia.org to use Parsoid/PHP 
instead of Parsoid/JS. With this change, VisualEditor, Content 
Translation, and Mobile Content Translation will use Parsoid/PHP on 
these wikis. Flow / StructuredDiscussions will need a separate config 
change and will continue to use Parsoid/JS in all these places till that 
change is written and deployed.


If you are able to, please test visual editing and content translation 
on test and test2 wikis and file phabricator tasks. Bug reports [2] are 
greatly appreciated. :-)


Incident-free switchover from Parsoid/JS to Parsoid/PHP has been our 
goal and this testing is the next step along that way. You can follow 
along progress and changes via the tracking phab task [3].


Thanks,

Subbu.

(on behalf of the parsing team).

1. https://www.mediawiki.org/wiki/Parsing#Current_projects

2. https://phabricator.wikimedia.org/tag/parsoid-php/

3. https://phabricator.wikimedia.org/T229015


___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] The difference between fileexists-no-change and backend-fail-alreadyexists for action=upload

2019-11-19 Thread Chen Xinyan
[merged thread]

Hi Bawolff and Daniel,

This explanation makes sense, as I'm running the same set of unit tests on 3 
different environments, each environment runs in parallel with one another. And 
I've just realized 20191116051316 is just a timestamp with accuracy up to 
seconds XD

So for now I think I will just append a random suffix to the file name for this 
unit-testing purpose. Thanks for your help!

Regards,
Xinyan

-Original Message [1/2] -
From: Wikitech-l  On Behalf Of bawolff
Sent: Tuesday, November 19, 2019 9:37 AM
To: Wikimedia developers 
Subject: Re: [Wikitech-l] The difference between fileexists-no-change and 
backend-fail-alreadyexists for action=upload

So fileexists-no-change happens when your uploading a new version of a file, 
MediaWiki calculates the sha1 sum, and notices that the img_sha1 field in the 
db for the current version of the file is the same as what was just calculated 
for the new file. Which probably (although not necessarily now that sha1 is 
broken) means the file you're uploading is the same as the one already there.

backend-fail-alreadyexists basically means that MediaWiki was about to write a 
file somewhere, but there already was a file at that place, and the 
overwrite/overwriteSame flags were not set, so there should not have already 
been a file in that place (The file already there, may or may not be the same 
as the new file). Normally I would assume that something more frontend-y would 
give an error before this error would be encountered.
Perhaps it might be encountered during a race condition. This is mostly 
speculation as I'm not super familiar with the FileBackend code.

--
bawolff

-Original Message [2/2] -
From: Daniel Kinzler  
Sent: Monday, November 18, 2019 8:56 PM
To: Chen Xinyan 
Subject: Re: [Wikitech-l] The difference between fileexists-no-change and 
backend-fail-alreadyexists for action=upload

Hi Xinyan!

I may be wrong about this, but from my understanding backend-fail-alreadyexists 
is an unexpected internal error that indicates a conflict in the storage 
backend. My best guess is a problem with the granularity of the timestamp used 
to construct the filename - I could imagine that, if you manage to upload two 
versions of a file within the same second, the backend fails because the 
versions are distinguished only by timestamp (20191116051316 is 2019-11-16 
05:13:16). An alternative explanation might be a race conidtion triggered when 
two processes are trying to upload a file at the same time - this should be 
prevented by applying the appropriate locking, but who knows.

This is all just an "informed guess", my understanding on how the file backend 
works is superficial.

HTH
Daniel

On Sat, Nov 16, 2019 at 6:51 AM Chen Xinyan  wrote:

> Hi there,
>
> Hope I've found the correct list for asking this question.
>
> I was setting up a CI test case for my MediaWiki Client Library to run 
> a bot that will upload a file to https://en.wikipedia.beta.wmflabs.org 
> in chunked stash mode. For most of the time, when I perform the final 
> upload with filekey parameter, I will receive a fileexists-no-change 
> error from the MW API server. This is expected, as there is already a 
> same file with the same title on the site. However, today I received 
> backend-fail-alreadyexists. The error message looks like
>
> backend-fail-alreadyexists: The file
> "mwstore://local-swift-eqiad/local-public/archive/9/95/20191116051316!Test_image.jpg"
> already exists.
>
> Does this error usually occurs when user tries to upload the same file?
> What's the difference between fileexists-no-change and 
> backend-fail-alreadyexists?
>
> Thanks,
> Xinyan
>
> ___
> Wikitech-l mailing list
> Wikitech-l@lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l