#3978 Ticket without content [25002] NEEDS SCRIPT

v1.0.0
closed
General
2015-08-20
2012-03-30
Chris Tsai
No

https://sourceforge.net/apps/trac/sourceforge/ticket/25002

He,

Some body générerate a lot of ticket without content :
https://sourceforge.net/p/multicardipx800/tickets/

Thanks
Thomas

I seem to remember something similar happening to the allura project itself a while back. Can we fix this up for the user somehow?

Discussion

  • Chris Tsai - 2012-04-19

    Another project with the same issue:

    https://sourceforge.net/apps/trac/sourceforge/ticket/25302

    Dear ladies and gentlemen

    in my project libpninx around 133000 tickets appeared although
    neither me nor one of my collaborators has created them. What is
    surprising is that the tickets are not associated with any milestone
    of the project (the corresponding field contains None). The creator of
    the tickets seems to be Halil Pasic (one of my partners) but he said
    that he is not aware of having created the tickets. In addition no
    emails have been sent to me when they were created. In addition the
    tickets do not show up in the official ticket counter (on the left
    panel of the web-interface).

    Do you have any idea what went wrong here? Did we do something wrong
    or is there some problem with the database? A git related issue maybe? My sourceforge ID is 3629885.

    https://sourceforge.net/p/libpninx/tickets/

     
  • Dave Brondsema

    Dave Brondsema - 2012-04-19
    • milestone: limbo --> forge-may-04
     
  • Dave Brondsema

    Dave Brondsema - 2012-04-20
    • size: --> 4
     
  • Dave Brondsema

    Dave Brondsema - 2012-05-29
    • status: open --> in-progress
    • assigned_to: Dave Brondsema
     
  • Dave Brondsema

    Dave Brondsema - 2012-05-30

    So far I've found that they are not created via the web, I haven't found a huge number of form submissions or API access in our access logs.

    This did happen once before to allura (see [#1877] although no details given) and appears to have occurred a few times to several projects. Run something like db.ticket.find({ticket_num:100000}) for more projects affected.

    The tickets do have created_date and reported_by_id fields populated. Looking at two projects, they do seem to be created one after another over the course of many hours. They all have the same creator too (within a project). For one project I looked at, the creator was the same as the previous valid ticket. That was not true for another project I looked at.

    I think the next step is to see if there is any place in our code that an unusual scenario could cause lots of tickets to be created in a loop. IIRC we didn't have a good ticket_num sequencing logic - it was spread into model code & controller code. I think we cleaned it up, but there may be cruft left behind that runs incorrectly in a certain situation.

    • status: in-progress --> open
    • assigned_to: Dave Brondsema --> nobody
     

    Related

    Tickets: #1877

  • Dave Brondsema

    Dave Brondsema - 2012-05-30

    We should also check the timestamps for all the affected projects; if all the tickets are old perhaps the problem does not exist any more and we just need to remove the invalid tickets. Cleanup should also include resetting the ticket sequence counter (not sure if we should if some valid high-numbered tickets have already been created)

     
  • Cory Johns - 2012-07-24
    • status: open --> in-progress
    • assigned_to: Cory Johns
     
  • Cory Johns - 2012-07-30

    forge-classic:cj/3978

     
  • Cory Johns - 2012-07-30
    • status: in-progress --> code-review
    • qa: Dave Brondsema
     
  • Dave Brondsema

    Dave Brondsema - 2012-07-31

    Why forge-classic and not the allura repo?

     
  • Cory Johns - 2012-07-31

    I figured it was more of a site maintenance tool than something that belongs as a part of the core of Allura. It doesn't really make much difference where it lives.

     
  • Cory Johns - 2012-08-02
     
  • Cory Johns - 2012-08-02

    Fixed errors from last-minute "cleanup"

     
  • Dave Brondsema

    Dave Brondsema - 2012-08-02

    Need to run:

    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py multicardipx800
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py libpninx
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py nfsdump
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py couponex2011
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py fossevaluation
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py tippingpoint
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py orangedoors
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py lem001
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py spacefm
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py ismp
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py team143sdd
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py usurper32
    allurapaste script /var/local/config/production.ini /var/local/forge-classic/scripts/cleanup-empty-tickets.py scline
    

    FYI, that list was determined by this mongo command:

    pyf = connect('localhost/pyforge')
    db.ticket.find({ticket_num:10000}).forEach(function(t) { print(pyf.project.findOne({_id:db.config.findOne({_id:t.app_config_id})['project_id']})['shortname']) } )
    
     
  • Dave Brondsema

    Dave Brondsema - 2012-08-02
    • summary: Ticket without content [25002] --> Ticket without content [25002] NEEDS SCRIPT
    • status: code-review --> validation
     
  • Dave Brondsema

    Dave Brondsema - 2012-08-07
    • status: validation --> closed
     

Log in to post a comment.