[Buildbot-devel] p4poller.py changes detection since last sync

Bill Deegan bill at baddogconsulting.com
Mon Oct 28 19:55:38 UTC 2013


Yasser,

Excellent. Can you submit a pull request with your changes?

-Bill


On Mon, Oct 28, 2013 at 12:48 PM, Yasser LEBON <yasser.lebon at gmail.com>wrote:

> I totally agree with you that the response is too vague. My impression is
> that they don't know exactly where the performance differences comes from
> but they suspects the db queries .
>
> In any case, using the head changelist number instead of @NOW improves
> definitively the hit on our server.
>
> Yasser
>
>
> 2013/10/28 William Deegan <bill at baddogconsulting.com>
>
>> Yasser,
>>
>>
>> On Oct 28, 2013, at 12:03 PM, Yasser LEBON <yasser.lebon at gmail.com>
>> wrote:
>>
>> After clarification with team responsible of Perforce in my company it
>> seems that using @HEAD or @NOW the scanning occurs at the level of the
>> db.rev instead of db.change that gives differents impacts on Perforce
>> server. I contacted Perforce and here is their answer:
>> "The difference has to do with the query being different since you are
>> using different arguments. The result may be the same but dealing with the
>> internals is very different, if you are familiar with relational database
>> you know that the way you construct your query has a lot to do with the
>> performance.
>>
>>
>> That's kind of a vague response from Perforce.
>> Did they say which one is better?
>>
>>
>> Actually, I made a patch to change the p4poller.py behaviour. I used "p4
>> changes -m1" to have the last revision and use the result output  to get
>> the changelists range "p4 changes @%d, @%d" % (lastChange, headRevision)
>>
>>
>> Does this improve the hit on your server?
>>
>> Thanks,
>> Bill
>>
>>
>> Regards
>> Yasser
>>
>>
>>
>> 2013/9/27 William Deegan <bill at baddogconsulting.com>
>>
>>> Yasser,
>>> On Sep 19, 2013, at 2:14 PM, Yasser LEBON <yasser.lebon at gmail.com>
>>> wrote:
>>>
>>> >
>>> > Hello,
>>> >
>>> > I noticed that buildbot use the following command to get perforce
>>> depot list of changes since last sync:
>>> >
>>> > 'p4 changes %s...@%d,now' % (self.p4base, self.last_change+1)
>>> >
>>> > Is there any reason why we use 'now' instead of '#head'? Thanks
>>>
>>> I'm not sure why the previous maintainer used ,now, but the result
>>> should be the same.
>>>
>>> From p4 docs:
>>> * The datespec @now can be used as a synonym for the current date
>>> and time.
>>> * file#head The head revision (latest version) of file. Except where
>>> explicitly
>>> noted, this is equivalent to referring to the file without a revision
>>> specifier.
>>>
>>> Are you aware of any functional difference?
>>> -Bill
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20131028/e75541f2/attachment.html>


More information about the devel mailing list