mainSavannah Administration - Support: sr #110453, Failed to upload web pages

 
 

sr #110453: Failed to upload web pages

Submitter:  CismonX <cismonx>
Submitted:  Mon 01 Mar 2021 04:32:28 AM UTC
   
 
Category:  Webpages repositories Priority:  5 - Normal
Severity:  3 - Normal Status:  Done
Privacy:  Public Assigned to:  rwp
Operating System:  None Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 17 Mar 2021 12:38:36 AM UTC, comment #5: 

Yay! \o/

Thank you for your patience!  I am happy to hear that the problem has been resolved. :-)

Bob Proulx <rwp>
Site Administrator
Tue 16 Mar 2021 12:59:55 AM UTC, comment #4: 

I just made an update to the CVS repository, and the corresponding web pages looked okay. So I think the problem is solved now.

Thanks again for your support.

CismonX <cismonx>
Wed 03 Mar 2021 04:59:12 AM UTC, comment #3: 

I have closely reviewed the configuration for your project ctlseqs and
everything is looking okay to me at this time.  I tried updates using
our test-project which is configured identically and it updated pages
okay.  I was able to see the interface work in the middle.  All good.

At this moment I am thinking that the storage array problem caused a
lot of turmoil due to it blocking reads and writes.  And yet not all
of the systems write everything to that storage array.  That caused
some things to work normally and other things to block and fail.  But
if the last update was during the time when the storage array was
falling offline then that could be the root cause of why the pages did
not update for you on that check-in.  That actually seems likely.
And with everything testing okay now I think that was very likely.

Therefore I think ctlseqs is okay.  Good to go.  I am going to mark
the ticket as done.

However if you would be so kind as to let me know, either by an update
to this ticket or a direct email, around the time that you make your
next update then I will babysit it through the next update just to
verify that everything really and truly is operating correctly.

Bob Proulx <rwp>
Site Administrator
Mon 01 Mar 2021 08:23:58 AM UTC, comment #2: 

And then, pretty much while I was still looking at things, it updated.  Now "cvs -qn up" shows that the pages are all up to date. And the timestamps on those pages in the web server side of things are from just a few minutes ago.  For example this one.

-rw-rw-r-- 1 wwwcvs wwwcvs 3.9K Mar  1 02:46 Use-Scenarios.html

Therefore I think it successfully updated.  But what changed?  I don't know.

Mon Mar 1 02:46:01 EST 2021
ctlseqs: Beginning checkout (type non-gnu)
cvs2 checkout: Updating ctlseqs
cvs2 checkout: Updating ctlseqs/install
cvs2 checkout: Updating ctlseqs/manual
U ctlseqs/manual/ctlseqs.dvi.gz
U ctlseqs/manual/ctlseqs.html
U ctlseqs/manual/ctlseqs.html.gz
U ctlseqs/manual/ctlseqs.html_node.tar.gz
U ctlseqs/manual/ctlseqs.info.tar.gz
U ctlseqs/manual/ctlseqs.pdf
U ctlseqs/manual/ctlseqs.texi.tar.gz
U ctlseqs/manual/ctlseqs.txt
U ctlseqs/manual/ctlseqs.txt.gz
U ctlseqs/manual/index.html
cvs2 checkout: Updating ctlseqs/manual/html_node
U ctlseqs/manual/html_node/API-Reference.html
U ctlseqs/manual/html_node/Contributing.html
U ctlseqs/manual/html_node/Control-Sequence-Matching.html
U ctlseqs/manual/html_node/Control-Sequence-Reading.html
U ctlseqs/manual/html_node/Example-Programs.html
U ctlseqs/manual/html_node/GNU-Free-Documentation-License.html
U ctlseqs/manual/html_node/Helper-Macros.html
U ctlseqs/manual/html_node/Matcher-Configuration.html
U ctlseqs/manual/html_node/Matching-String.html
U ctlseqs/manual/html_node/Overview.html
U ctlseqs/manual/html_node/Patterns.html
U ctlseqs/manual/html_node/Tips.html
U ctlseqs/manual/html_node/Use-Scenarios.html
U ctlseqs/manual/html_node/index.html
ctlseqs: CVS checkout completed (type non-gnu)

While digging around I have figured out that the new.py program doesn't ever actually do the update.  It touches a file in a directory with the project name.  Then there is a cronjob that runs every two minutes that scans the directory and then takes action.  Among other things this allows the web server to run as one user id and the update to run as a different user id for the update.  That's a nice security layer.

That the cron job does run every two minutes means that it won't happen immediately, immediately.  But it will happen pretty soon. Probably soon enough.

It also means that it might be updating several projects all at once. It will work through the list in alphabetical order.  So project B could be delayed a little if it is behind project A and both are to be updated and if A is very big.  But that does not seem to be the case here either.

Right now my best working theory is either that the loginfo hook script is not right in some way.  Therefore I wasn't not triggered when you updated.  Or that you updated during the storage array breakage time his morning.  Which also prevented the update.  I did manually trigger a curl hit to new.py and that would have queued an update.  I did immediately look and it wasn't updated yet.  But at the time I did not know about the 2 minute delay and did not wait for it.

It's late here now.  I will look at it in more detail tomorrow and try some tests then to verify that it is either working or not working.

Bob Proulx <rwp>
Site Administrator
Mon 01 Mar 2021 08:06:22 AM UTC, comment #1: 

I am not sure what the problem is at this time.  It's not my fault this time.  :-)

I think this might be snarled up with the storage array problem that hit everything this morning.  Maybe.  Since that had global effects and caused truly massively high load averages (fencepost was over 1100+!) which caused some thing to time out.  I am only pondering this because everything else looks okay.

The way this all works is that a hook is installed in the CVS loginfo.  The previous problem (that is still not solved) is why the hook is not installed on newly created projects.  But the hook is there.  And I have tested it.

The hook triggers a curl call to www.gnu.org to trigger it to update.  And that seems to be where things are broken right now.  The www.gnu.org server is configured to ignore the poke from anywhere but vcs1.  I manually triggered a curl call to it.  It completed on the client side successfully.

This "new.py" python script on www.gnu.org has been a source of problems in the past.  But I can see the request on the www.gnu.org side being logged.

Mar  1 02:44:54 wildebeest savannah-update: Update requested for type: non-gnu (project ctlseqs)

So it got the request.  It logged the request.  But it did not do the request.  When I go to look at the checkout directory I can see that it has not been updated.

wildebeest:/var/www/savannah-checkouts/non-gnu/ctlseqs# cvs -qn up
U manual/ctlseqs.dvi.gz
U manual/ctlseqs.html
U manual/ctlseqs.html.gz
U manual/ctlseqs.html_node.tar.gz
U manual/ctlseqs.info.tar.gz
U manual/ctlseqs.pdf
U manual/ctlseqs.texi.tar.gz
U manual/ctlseqs.txt
U manual/ctlseqs.txt.gz
U manual/index.html
U manual/html_node/API-Reference.html
U manual/html_node/Contributing.html
U manual/html_node/Control-Sequence-Matching.html
U manual/html_node/Control-Sequence-Reading.html
U manual/html_node/Example-Programs.html
U manual/html_node/GNU-Free-Documentation-License.html
U manual/html_node/Helper-Macros.html
U manual/html_node/Matcher-Configuration.html
U manual/html_node/Matching-String.html
U manual/html_node/Overview.html
U manual/html_node/Patterns.html
U manual/html_node/Tips.html
U manual/html_node/Use-Scenarios.html
U manual/html_node/index.html

Using -n is a typical way to do a status check.  "cvs -qn up" is a cvs idiom to check status by simulating an update without actually doing an update.  And so I can see that there are updates available that it has not so far checked out and updated.

The new.py is a python program and I am not a python person.  I'll grab someone tomorrow to decipher it for me as it is not obvious to me the casual observer exactly what it is doing.

Bob Proulx <rwp>
Site Administrator
Mon 01 Mar 2021 04:32:28 AM UTC, original submission:  

Hello Savannah admins,

The latest two commits to the web pages repository in project ctlseqs are not updated to the project home page. The said commits (https://web.cvs.savannah.nongnu.org/viewvc/ctlseqs/ctlseqs/manual/) are successful, but the corresponding pages (https://www.nongnu.org/ctlseqs/manual/) are still the ones before the commits.

Before this, there are a few small updates which are successful, so I believe it's the same problem as described in the FAQ:

> large updates, involving either many updates or many megabytes, may not be fully completed.


However, although the commits are large compared to previous ones, but not very large, considering this is only a small toy project. So I have to ask if there's a way to prevent this in the future, as it would be impractical to contact the Savannah admins every time I made a non-trivial change to the web pages repository.

Thank you.

CismonX <cismonx>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rwp (Posted a comment)
  • -email is unavailable- added by cismonx (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-03-03 rwp StatusIn Progress Done
        Open/ClosedOpen Closed
    2021-03-01 rwp StatusNone In Progress
        Assigned toNone rwp

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code