This started at #1046874-2: Display a message to a user when repo is locked.

We have a way to clear locks, but it's done manually an it just change the value of {versioncontrol_repositories}.lock, but it do not touch the values stored at versioncontrol entities tables as a result of the parsing process done by the backend.

So, maybe we should think on a way to remove that lock consistently, and I suppose that is going to be related with #1009164: Add transaction support for big inserts.

Comments

sdboyer’s picture

Issue tags: +git phase 2

I don't see any necessary connection to #1009164: Add transaction support for big inserts. That's fundamentally about performance, this is a more generalized logic flaw.

The initial thought I had is to switch to using a timestamp in the 'locked' field, indicating when the lock was generated. That'll help us make intelligent decisions about when to clear it.

marvil07’s picture

Assigned: Unassigned » marvil07
marvil07’s picture

Here the first step: use timestamp on repository locked database field.

Git backend naturally would need a patch, that I am attaching here for now.

sdboyer’s picture

Assigned: marvil07 » Unassigned
Status: Needs review » Active
StatusFileSize
new1.03 KB
new4.09 KB

followup patch

sdboyer’s picture

Assigned: Unassigned » marvil07
Status: Active » Needs review
marvil07’s picture

Status: Needs review » Fixed

Minor doc change on the vc api patch, and committed.

I also committed the change for vc git.

Status: Fixed » Closed (fixed)
Issue tags: -git phase 2

Automatically closed -- issue fixed for 2 weeks with no activity.

  • Commit 361ed3b on repository-families, drush-vc-sync-unlock by marvil07:
    feature #1055504 by marvil07, sdboyer: Use timestamp for {...

  • Commit 361ed3b on repository-families by marvil07:
    feature #1055504 by marvil07, sdboyer: Use timestamp for {...