Am 22.12.2015 um 19:07 schrieb RjOllos:


On Monday, December 21, 2015 at 6:37:36 AM UTC-8, Riedel, Torge wrote:

    Hi,

    today I faced a problem with TracTicketChangeLogPlugin:

    After analyzing the code and adding some debug outputs I can say the 
following:

    1.Ticket number is #39

    2.The db-query gives 46 revisions where LIKE '%#39%' matches (which is much 
more than really necessary, since revisions referencing tickets e.g. #391 are 
returned too)

    3.The reg-ex matching hangs when there is a long commit message (sorry I 
cannot post it here since it contains confidential information)

    a.The message contains Unicode chars, but changing the encoding of the 
message to match to ‘ascii’ with ‘ignore’ option does not help

    b.The message has 41 lines (it’s a message of a tag commit in subversion, 
where we list all tickets solved in this version, the format is:
    Version vX.Y
    ----
    * #n1 Fixed this
    * #n2 Fixed that
    … and so on

    c.The whole message has a count of 3073 chars

    The log pattern is configured to:

    [ticketlog]

    log_pattern = (\n|.)*#%s($|\D(\n|.)*)

    Which gives very good results. In general. Since I’m not a python 
developer, help is appreciated.

    Regards

    Torge


You could try the patterns mentioned in this ticket:
https://trac-hacks.org/ticket/7884
See also:
https://trac-hacks.org/ticket/12436

I suspect the issue you describe as "hanging on a long commit message" is due 
to searching every log message on every request. I hope to fix that in #11821, but I 
don't have a timetable yet for implementing the changes.
https://trac-hacks.org/ticket/11821

- Ryan

--
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 
[email protected] 
<mailto:[email protected]>.
To post to this group, send email to [email protected] 
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/trac-users.
For more options, visit https://groups.google.com/d/optout.

Hi Ryan,

well my issue is not really due to the number of log messages. There is a pre-selection of the log 
messages by a SELECT-query using a "LIKE" on the message. I added debug prints in the 
plug-in, activated the log to the file in the trac instance and called "tail -f trac.log" 
to see what happens when visiting the ticket page. And I see that the long message (it is the 11th 
of 46 log messages to check) is passed to the re.match()-method and then nothing more is logged. 
Apache is no more responding to other requests.
Maybe this is a bug in python regex code? Can you help me to check this? I'm not a python 
developer so I need help. Everything more complex than adding debug prints is out of my 
possibilities! ;-) I think of a small python script where I can pass the ticket id 
("python test.py 39") executed in the directory where the trac.db is located. 
This script is running the code snippet of the plug-in with log of debug prints. So I can 
check whether this is a python issue and maybe it's possible for me to reduce it to 
non-confidential data and open an issue.

Thanks
Torge

--
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/trac-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to