CVS lock problems

Hi,

We have recently begun to experience problems with "locks" on our cvs server since we began using teamcity. We're getting messages from our "legacy" nightly build process as follows:

cvs rtag: waiting for abc's lock in /cvsara/modules/ara/webapps/ara/WEB-INF/res/regression/response

The "legacy" build process puts a tag on the cvs module every build. Now the teamcity build is running as user abc, but as far as I gather, teamcity doesn't modify the cvs module. Is that correct?

If so, I'm not sure why it creates a lock, especially based on reading this:

http://cvsman.com/cvs-1.12.12/cvs_89.php

Is there anything teamcity is doing while monitoring a sandbox for changes that might create a lock on the cvs server?

Thanks,
Jeff

3 comments

Hello Jeff,

with a specified period (30 seconds by default) cvs tries to check if some
changes appear on the cvs repository. It runs history (if supported) and
rlog commands for this. I think these comands might provide the lock. You
can add -Dcvs.log.commands=true property to the server and rerun it to test
what commands are being executed while locks are reported. Commands are
printed into teamcity-vcs.log file (corresponding lines contain "CVS
executing")

--
Olesya Smirnova
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"


"Jeff Lloyd" <no_reply@jetbrains.com> wrote in message
news:17911928.1184686971078.JavaMail.itn@is.intellij.net...

Hi,

>

We have recently begun to experience problems with "locks" on our cvs
server since we began using teamcity. We're getting messages from our
"legacy" nightly build process as follows:

>

cvs rtag: waiting for abc's lock in
/cvsara/modules/ara/webapps/ara/WEB-INF/res/regression/response

>

The "legacy" build process puts a tag on the cvs module every build. Now
the teamcity build is running as user abc, but as far as I gather,
teamcity doesn't modify the cvs module. Is that correct?

>

If so, I'm not sure why it creates a lock, especially based on reading
this:

>

http://cvsman.com/cvs-1.12.12/cvs_89.php

>

Is there anything teamcity is doing while monitoring a sandbox for changes
that might create a lock on the cvs server?

>

Thanks,
Jeff



0

Hi Olesya,

I changed the configuration as you recommended. I see the following in the logs:

INFO - jetbrains.buildServer.VCS - CVS executing null
INFO - jetbrains.buildServer.VCS - CVS executing null
INFO - jetbrains.buildServer.VCS - CVS executing rlog
INFO - jetbrains.buildServer.VCS - CVS executing rlog
INFO - jetbrains.buildServer.VCS - CVS executing null
INFO - jetbrains.buildServer.VCS - CVS executing rlog
INFO - jetbrains.buildServer.VCS - CVS executing null
INFO - jetbrains.buildServer.VCS - CVS executing null
INFO - jetbrains.buildServer.VCS - CVS executing rlog
INFO - jetbrains.buildServer.VCS - CVS executing rlog
INFO - jetbrains.buildServer.VCS - CVS executing null
INFO - jetbrains.buildServer.VCS - CVS executing null
INFO - jetbrains.buildServer.VCS - CVS executing rlog
INFO - jetbrains.buildServer.VCS - CVS executing rlog
INFO - jetbrains.buildServer.VCS - CVS executing null
INFO - jetbrains.buildServer.VCS - CVS executing rlog


Is this what we should be using for diagnosing cvs?

Thanks,
Jeff

0

Yes, 'null' is incorrect representation (we cannot fix it right now it is
class from external library) of 'co -c' command (list modules).

I think cvs rlog for big catalog can lead to the lock. Try to enable
'history enabled' option (if history actually enabled for your repository),
rlog will be called for smaller catalog.

--
Olesya Smirnova
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"


"Jeff Lloyd" <no_reply@jetbrains.com> wrote in message
news:26023944.1184856253553.JavaMail.itn@is.intellij.net...

Hi Olesya,

>

I changed the configuration as you recommended. I see the following in
the logs:

>

INFO - jetbrains.buildServer.VCS - CVS
executing null
INFO - jetbrains.buildServer.VCS - CVS
executing null
INFO - jetbrains.buildServer.VCS - CVS
executing rlog
INFO - jetbrains.buildServer.VCS - CVS
executing rlog
INFO - jetbrains.buildServer.VCS - CVS
executing null
INFO - jetbrains.buildServer.VCS - CVS
executing rlog
INFO - jetbrains.buildServer.VCS - CVS
executing null
INFO - jetbrains.buildServer.VCS - CVS
executing null
INFO - jetbrains.buildServer.VCS - CVS
executing rlog
INFO - jetbrains.buildServer.VCS - CVS
executing rlog
INFO - jetbrains.buildServer.VCS - CVS
executing null
INFO - jetbrains.buildServer.VCS - CVS
executing null
INFO - jetbrains.buildServer.VCS - CVS
executing rlog
INFO - jetbrains.buildServer.VCS - CVS
executing rlog
INFO - jetbrains.buildServer.VCS - CVS
executing null
INFO - jetbrains.buildServer.VCS - CVS
executing rlog

>
>

Is this what we should be using for diagnosing cvs?

>

Thanks,
Jeff



0

Please sign in to leave a comment.